16 ms·
Why is recruiting developers so difficult?
- ramesh31 4y agoBecause you make it a complete nightmare. I'd rather wait in line at the DMV all day than go through a typical 6hr tech interview. Hire me based on my resume and a phone call, give me a task, and if it's good enough keep me. Problem solved.
- silisili 4y agoI agree in principle, but not in experience. I've interviewed a few people lately, Senior Eng somehow, who have impressive resumes. I ask basic coding tasks just to make sure they actually know the language claimed - just something like converting numbers to strings, and you'd be amazed how many people had no idea where to start.
- xboxnolifes 4y agoDoesnt sound like you disagree. That falls under the "give me a task" part.
- silisili 4y agoYeah not sure if it was edited or my brain completely skipped it, but I totally didn't see that when starting my reply - sorry.
- uhuruity 4y ago> just something like converting numbers to strings Isn't that the kind of thing that someone senior would typically look up? Do you think that whether or not they have that part of the language API stored in their working memory is a good predictor of their ability to do a good job as a senior eng?
- silisili 4y agoWe allow them to use Godoc, of course. That said > Isn't that the kind of thing that someone senior would typically look up? Not at all. There's at least two ways to do this very easily in Go(one line, no errors to worry about even), and I'd expect someone who claims to use it daily to know one of them offhand. While I think languages are just tools, in our instance we're very clear we need people versed and ready to start. I don't think people are dumb here, I think they just blatantly lie on their resumes.
- Double_a_92 4y agoThat skill has nothing specifically to do with Go. Most languages have some "ParseInt" function or so. And of all the languages I use for daily work I could not 100% tell you what that function is exactly called. By doing that you are wasting a potentially good developper because they didn't happen to remember some languages exact syntax. It's also just straight up insulting. If someone worked for x years in a related role... do you just assume that they were a fraud at that job, and they just leeched of that companies money?!
- silisili 4y agoConverting ints to strings isn't a 'skill'. It's a simple task to see if they are well versed enough in Go to get started. And no the question isn't 'convert a number to a string', it's a small function tasked with doing something along those lines. I don't get why you feel that's insulting. If I were applying for a job speaking French, was asked to translate a simple sentence, and couldn't...I wouldn't expect to be hired. I don't see this much differently. > And of all the languages I use for daily work I could not 100% tell you what that function is exactly called. And see, that would be fine. In this example, if one would say 'oh it's in strconv let me look that up' or 'oh can I look up the string formatting symbols' this would be perfectly acceptable, to me. Writing things like string(i) or i + "x", not so much.
- ipaddr 4y agoIf you were applying to be a doctor would the interviewer giving you an orange and a dull knife and asking you to cutout a seed without spilling any juice on the table be helpful as a hiring filter? Because that is what you are doing. Just hire a few people part time and the one(s) that can deliver offer full time roles.
- ArrayBoundCheck 4y agoMy team once needed to hire someone from the outside. I posted a C++ job saying we expect people to know C++11 and to be comfortable working with a C++20 codebase Literally more than half the applicants couldn't figure out how to update/install clang/gcc to compile our test. It wasn't timed or anything it was essentially change the lambda so it's by reference instead of by value (or the other way around idr) and send us back the one or two line change
- ipaddr 4y agoYou are testing if they have how to convert a number to string in working memory. Is that really helpful.. in real life they would look it up refresh themselves. You just filtered people who can look up answers and learn things. Aren't those skills more inline with what most positions need?
- jenscow 4y agoConverting a simple type to a string is pretty basic, though. How else would you display things to the user?
- alberth 4y agoFinding good talent isn't specific to developers. It's just a hard problem period.
- throawayar112 4y agoOne thing is for sure, Polyfill is going to do a terrible job addressing the problem.
- gsibble 4y agoSeriously.
- humanwhosits 4y agoWhenever I think about changing jobs, I think about the interview process and just keep putting it off.
- boffinism 4y agoIn my very recent experience (specifically in the UK for roles to do with Ruby), the shirtage of developers mean it's way less painful than it used to be, cos companies are marketing themselves on their ease of interview process. I went from sending out CVs to getting a good offer in a week, and that offer was from a 1-stage, 1-hour interview process. Don't get me wrong, I basically spent that entire week on the phone to recruiters, but still, massive improvement on the last time I was in the market.
- trebbble 4y agoConsider that FAANG-style interviews are pretty expensive to conduct. Consider that the big tech companies could agree on some kind of standardized test to replace much of the worst of the interviews—but haven't. Consider that they often make you leetcode even if you've already passed their interviews before, even if you've passed a couple other leetcode-style companies' interviews before, and so on. Recall that several of the top-paying tech companies got busted illegally colluding to keep salaries down once already. Conclusion: making developers more reluctant to switch jobs is one of the main purposes of FAANG-type interview processes, and is likely a core part of their current salary-suppression scheme.
- AnimalMuppet 4y agoInteresting. I'd quibble with the degree of certainty in the last paragraph, but this is an interesting take with some concrete observations behind it.
- R0b0t1 4y ago1) Because recruiters don't understand the subject material. 2) Because companies are hilariously risk adverse. I have over a decade experience in a consultancy environments (faster paced and more rigorous than a lot of other jobs, sorry not sorry). My work was independently driven and I provided input to the projects I was on at the highest levels. I've set IT and SWE policy for and introduced leading products at more than one company. The CircleCI chart from yesterday was interesting. I was doing principal work under every column except maybe one. I've plenty of stuff to talk about to put any doubts to rest. But... no bites. In my case I suspect the issue is/was, as related to me years ago by some other HN poster, that I was in the Midwest and people are biased against Midwesterners for reasons more than just relocation costs.
- happytoexplain 4y agoMaybe this is cynical, but in my experience, companies are hyper-averse to expenditure, not to risk. They will thoroughly (though often ineffectively) analyze developers intended for medium- or high-salary brackets, but they are happy to also pay a third of the price for barely questioned offshore developers who are indeed very risky to whatever product they will be touching.
- R0b0t1 4y agoWell. The expenditure is a form of risk. Having a lot of cash outflow is something they want to prevent. So yes and no I think.
- claytonjy 4y agoWhen was the last time you interviewed, and how do you feel about remote work? I interviewed a lot the last couple years, from the Midwest, and had more remote opportunities than I could handle. I'm not interviewing with FAANG though; almost entirely private companies, seed to E.
- ssully 4y agoI am in the Midwest and have interviewed at a handful of places (including FAANG) over the last year and recently accepted an offer (non-FAANG).
- gsibble 4y agoPersonally, I've never found it difficult. Have 1-2 interviews with a take home or in person coding exercise or however they want to prove to me they can actually code. Pay high, have great benefits, high equity, treat your employees well, and fire those that don't perform up to expectations quickly. It's really not hard to spot talent. Don't make them jump through hoops. If they are talented and get along with your team, make a quick and generous offer. It'll pay off in spades. Also, tailor your job listings to tell them what they get out of the job. Don't list what you need. You're just culling potential applicants. Most talented developers can adapt to a new language or dev environment quickly. You don't need someone who already knows X, Y, Z and 20 other things. Attract people to your company, don't make a list of needs. Get them excited to work for you. And put your high salary range in the listing. Every time I do this, I'm inundated with resumes from top quality applicants and can pick and choose the best fit. I've hired over 100 developers this way, almost all of which worked out great. People just go about the whole process wrong. Make the job and company attractive to work for and talent will come to you.
- sys_64738 4y agoYou lost me at "with a take home". I'm not interested in your silly games.
- voidfunc 4y agoNumber one reason: You're not offering me enough good reasons to leave my current job. I don't think HR and software recruiting has really caught up to the reality that many developers by their mid-30's are sitting on a million+ in assets and good ones can rake in 200K+ easy. Further we usually find equilibrium with our roles wherever we are even if we have gripes with how things are because most devs are pragmatic people that realize everything is awful everywhere and perfection is unattainable. Offer me more money, more PTO (fuck your unlimited time off garbage), lunch and club budgets etc and I'll be more interested. Four day work week? Yea, that will get my attention. Oh and there's the other problem that your company is probably not competitive with Microsoft + FAANG and the handful of unicorns in the compensation arena. Either you're private and have no stock to offer, or your stock is flat-lined, or you don't hand enough of it out. Nor is your product interesting enough to work on. Changing jobs is a pain in the ass. Most of us have stable jobs, good report with our coworkers and managers, deliver stuff on time, and get paid well... You're going to have to compensate me better than +10% on whatever I am currently making to get me to switch jobs.
- gsibble 4y agoBy my mid-30s and having started programming at 9 and professionally at 14, 200k is chump change for a salary. That's what they really haven't caught up to.
- radicaldreamer 4y agoThis is only true for US salaries (and sometimes specifically within Bay Area/Seattle/New York markets)... pretty much everywhere else, salaries are a lot lower. L7 salaries are 300k base and around 400k equity in the US, so hiring experienced/accomplished developers is intensely difficult for companies outside of the top tier with high margins or startups with potential exits.
- gsibble 4y agoDefinitely only true for US and certain geographical areas, including the one I'm in. All I'm really saying is top-tier, experienced talent in top paying geographies make significantly more than $200k.
- throwaway0asd 4y agoBias. I interviewed at over 25 places through the past year. Here are my observations: More than half the time the employer knew the work that needed to be performed in the near immediate but had absolutely no idea what they wanted in a developer. Nobody can define senior. At some places they were expecting a senior developer who could do anything. At other places it was a trend chaser who plays with dozens of tools. At other places it was a framework user placing text on a screen. Algorithms are where interviewers go when they don’t really want to talk to people. This is a danger zone because the candidate can fail any number of reason, most especially code style and vanity. Worse, many of these algorithms are completely outside of any real world concern better solved with a well formed data structure. Unfounded assumptions are the standard. Most people writing software professionally have never done anything else professionally, which is a tragic silo. When you’re a hammer everything is a nail tunnel vision mentality is the expectation. In this case the goal, if want to be hired, is to fall into the middle of the bell curve. Don’t be awesome.
- ipaddr 4y agoTell the candidates what you want: I want someone who has 15 years of c++ experience transitioning into a go lang role. Rather than I want someone with 10 years of golang which will land you candidates with 2-5 years. "which doesn’t necessarily get me any closer to hiring someone good" Everyone wants to hire only the best developers. The more developers in the pool of candidates the more picky we become. Everyone has 2 years of Java in the candidate pool? We only want the best.. you need to have 3 years. If everyone had 5 years you need to have 7 years to be considered the best. Meanwhile any average developer in the candidate pool would work out fine. Trying to find the perfect candidate vs the average candidate is the self imposed struggle employers give themselves. The need to hire the best gets harder the bigger the pool for all.
- andrewstuart 4y agoI'm a developer and a recruiter. Here are some thing I know: many companies - maybe most companies - are very slow. I cannot tell you how many times I have sent a great candidate to an employer, to hear in 2 weeks that they would like to interview them, despite my pestering them the whole time for feedback. You know what they say then? "Oh well, who else have you got?". They don't care. the companies I work with who succeed in recruiting people get the entire process wrapped up within 2 to 3 days, from the moment the resume arrives in their email server, to signature on paper, candidate off the job market. When companies lament "Oh it's so hard to find people!", that's who they are competing with - a 3 day turnaround. many companies don't even know what makes a great developer - can't define a great developer many companies have abysmal processes for assessing people many companies value the wrong things in potential people many companies pay less than market rates don't get me started on coding tests. but ALL companies think that none of the above apply to them. all companies think they are awesome at recruiting and that they run the very best recruiting process possible. so is it hard to recruit developers? Well yes - but not because there aren't great developers available. will a new software tool fix it? no.
- ChuckNorris89 4y ago>but ALL companies think that none of the above apply to them. all companies think they are awesome at recruiting and that they run the very best recruiting process possible. This. I wish your comment would go to the top.
- hardolaf 4y agoI'm in the finance industry and I often have had to push back on how fast companies want to move because I have like life happening. You can go from looking at a job posting to having an offer easily in under 5 days in this industry.
- gsibble 4y agoWe move extremely fast on good applicants. We've gone from resume to interview to take home to offer in 24 hours. More companies need to be able to do that.
- 4y ago
- Arcanum-XIII 4y agoQuite often it’s because you want someone with very high qualification (engineering, spoken langage in my country, experience…) to develop a crud app. All the while without good compensation, requesting them to be in an open office 5 days per week, and with dubious low end Dell that you insist on managing yourself. Of course you’ll then speak about family (to be understood as « you will not see yours anymore, slave ») or offering subpar pizza.
- jph 4y agoThe #1 area to improve IMHO is enabling people to get to know the company and team in depth ahead of time. One way that works well is for companies to try using techniques of college recruiting, because the level of commitment has parallels: a one-time high-stakes multi-year decision, that involves many new people, new schedules, and new learning. The getting-to-know-you approach leads directly to teams making smarter choices overall, such as publishing interesting sections of their own codebase, writing about challenging areas of their own workflows, and so forth. When the teams directly show people the real work and the real organization, then the recruiting experience can become more like a college campus tour-- the developer gains a better understanding of what's involved, and where the learning and growth opportunities are, and why it's worthwhile to apply.
- chx 4y agoCuriously enough, it's for the same reason writing bug free software is difficult: we do not know what we are doing. Thus, it's rather to hard find someone good at we-do-not-know-what.
- obviouslynotme 4y agoIt's because software is both a highly technical and creative endeavor. There are few people who can do it, and even fewer who can do it well. As hard as software development may be, managing it is even harder. This is always where the problem is. We need technical leadership courses to train management teams on how not to shoot themselves in the foot. Recruiting is only a small part of this large problem.
- ArrayBoundCheck 4y agoSome things that happened to me when I went for interview - Refusing to tell me salary range, I stop speaking to them - Them not contacting me after my questions (salary range, vacation days, if I'm expected to do front end, etc) - Them stop contacting me when I say I am not interested in working with technology X Y and Z (usually java and mongodb, sometimes I'll ask if they use PHP then say I rather not touch it, I don't outright say I will never work with it) - They have a non technical person interview me who gets lost and think I'm bad at communicating when I can't see their face and have no idea what part I lost them - They have a technical person interview me who can't accept when I disagree with them
- tqi 4y agoEveryone in this thread who thinks there is an easy / obvious answer to this question should realize how silly that belief is just from reading the other comments here: "I'd rather wait in line at the DMV all day than go through a typical 6hr tech interview. Hire me based on my resume and a phone call, give me a task, and if it's good enough keep me. Problem solved."[1] "Take homes are one of the single biggest turnoffs for experienced talent in interview processes. People don't want to do them. Especially good devs who can land a job anywhere."[2] [1] https://news.ycombinator.com/item?id=32404256 https://news.ycombinator.com/item?id=32404256 [2] https://news.ycombinator.com/item?id=32403899 https://news.ycombinator.com/item?id=32403899
- goddamnyouryan 4y agoSeems like a lot of people in the comments are getting recruiting and hiring confused.
- zelphirkalt 4y agoIt is also difficult, because software development skills are not easily checked and have a lot to do with creativity as well. Furthermore most people have no idea how developers work all day and what they do. Only developer-close roles have an idea. Companies are very picky as well, imposing lots of tests upon a candidate, which you wouldn't see for another kind of role.
- valbaca 4y ago#1 Money talks; bullshit walks. #2 Not giving what the salary range is #3 Not giving what the total comp range is #4 Not including benefits and/or not including real benefits. #5 Not understanding how experience and skills overlap and transfer. Rejecting someone with 10 years of Java experience because you need "Go" experience. Or rejecting someone with 10 years of JavaScript and 5 years of React because they need "Angular" #6 Ridiculous interview processes. 2-3hr take-home assignment followed by 6 hours of "virtual onsite" interviews are becoming the norm and it's ridiculous. What gets acceptance? Be transparent, competitive, upfront, honest, lightweight, and READY TO HIRE.
- deleted 4y ago[deleted]
- teledyn 4y agoPut simply: HR. For starters, the acronym means "Human RESOURCES" ie, square one, or is about resource extraction, like any mining operation, about exploiting that resource for maximum value at minimum cost, and externalize costs where ever possible. Alernatively, when actually creative people need assistants, they INSPIRE collaborations, using only the value of their idea. There's more money in the former than the latter, but as Henry Ford said, "you can make money or you can make sense, the two are mutually exclusive."
- NaturalPhallacy 4y agoI think the tech screens are the worst part, they're often so artificial and unlike the actual job that they result in a lot of false negatives. Here's how I rank the methods I've seen recently from best to worst: 1. FizzBuzz, quick and easy for anyone who can actually code. Honestly #2 is about as good, but this is quicker, so I put it first. 2. A code review - this is something most jobs will actually entail. Coming at some bit of code or a PR cold is something you'll do on the job. Spotting problems is something you will really need to do. It's not quite coding, but I'm going to google half the things I need to do, tweak someone else's working code and move on. To quote my favorite manager, "I love lazy programmers, they're the best!" 3. Pair programming to improve some already or nearly working code. This isn't too bad lets you feel out if you can work with the other person too. Writing whole algorithms from scratch is something that I'd google first anyway, so testing on that is silly. 3. Take home coding challenge - Awful and wildly burdensome. Can be a big time expenditure as they're often not trivial. 4. Live coding in a browser - Awful! Nobody actually works like this. So you're not testing for reality at all really. And having someone watch over your shoulder as you code can bring even the best and the brightest down to "can't write an if statement". Wild amounts of false negatives. 5. Outsourced, proctored, coding exercise. I halt the process at these now. Ridiculous practice. Using #3-5 is a major red flag to me about the company. They don't know how to hire and/or have industrialized the process so how good can my team be? They already see developers as cogs.
- Hatrix 4y agoCompanies only seem to move forward if you are doing exactly what they are doing exactly the same way they are doing it. They do not want to give you a chance to adapt your skills to the position. They will not give you feedback. They will not work with you to clear-up what might be minor misunderstandings. They really do not want to hire anyone.
- zac23or 4y agoIt is not so difficult. People make it difficult. I have been working in the development area since 1999. Starting with Delphi, today I work with Ruby and Python. I've worked with Java and Lisp. And many other areas like security and DevOps. I worked in large companies and startups. And after 22 years, I can say... the recruitment process is a shit show at ALL companies. It gets humiliating. Some examples: 1. A company offered me an offer after just one interview, ... 1/3 of my current salary. WTF? 2. In another case, in the technical test I emailed, in Rails, the reviewer said "You didn't create a validator and you didn't test 100% of the code" Of course I did the validator... I was offered a new test, but I thought it was a bad sign, so I stopped the process and thanked for the opportunity. 3. In another company, I did "a lot of unit tests" 4. My boss doesn't hire a very good candidate because he uses Visual Studio for the online interview, and it was a sin for him to use an MS IDE. 5. For a specific job, my boss only hired women with deformities (no hand or foot, limp, etc.), as this type of woman does not suffer sexual harassment (of course it is not true). 6. I already took a graphology test for a job! 7. "You called Model.find_by_name, we don't use it here, you need to call Model.find_by name: value" Some people say "it's normal" about these crazy processes and defend it. They suffer from Stockholm syndrome. Every time I get an offer on Linkedin, I don't politely accept it as I don't want to go through any crazy process again. And I didn't even mention the work environments...
- t6jvcereio 4y ago> For example, if I want to hire someone with 10+ years of experience who’s going to work on a complicated go api, I’ll get resumes from candidates who have <2 years of experience, but have written some go. I won't necessarily see the developer with 15+ years of C++ experience who would probably be a much better fit. Well yeah. C++ developers with 15+ years experience don't want anything to do with go (for good reasons) and you probably can't afford them anyway.
- piinecone 4y agoI am the author of this blog post and also a C++ developer with more than 15 years of experience, who hires people like myself, and writes go when it makes sense. > For example, if I want to hire someone ... It's just a contrived example to demonstrate the (mostly) poor matching I see at the point of attracting developers.
- wink 4y agoI suppose LinkedIn has a feature where you can mark yourself als "open to job offers", I know XING does (yes, it's still alot bigger in Germany, don't ask). If non checking that box would help, no problem. Most of us would not have such a rational aversion to recruiters if there weren't hundreds of them spamming you with bullshit non-offers "Hey, we just saw you switched jobs this year, maybe wanna switch again before you have settled in?" (not making this up, I've had "hey, how's your 6 month probationary period [as is common] been, are you happy where you are now?" Even writing "NO I DO NOT WANT A NEW JOB" will help avoid them pestering you. Oh, and if only this was a few (lone) people or a few bad apples in the agencies. No. I also got contacted by recruiter B of company X while we were actively working with their colleague C to recruit people for our company. We were, until that day. There are also a handful of them, no matter how often I politely reply "go away, I am not interested, never contact me again", after months at most they come back. The platforms make their money from the recruiters, not from the free users, so reporting them also doesn't work. It's a bit like saying "not all MLM scheme salespeople are bad", well - 90% are. I wish I was using hyperbole, but I am not. It's not a real problem, so don't mistake my halfhearted rant as some sort of crusade, but the reality is that after 20 years I only know a small handful of recruiters who are decent and not just opportunistic scumbags, and that sucks.