23 ms·
I am sick and tired of hearing tech companies complain about developer shortages
- bit_logic 5y agoThe article doesn't mention the #1 problem with tech hiring: leetcode. Some advice for recruiters: try starting your emails with "NO LEETCODE" in the subject line and watch your response rate from senior experienced engineers skyrocket! There is an artificial "shortage" caused by this barrier.
- chirau 5y agoI hear it gets a lot of flak. What's wrong with Leetcode or how does it distort the job market?
- julienb_sea 5y agoLeetcode implies complex, contrived algorithm scenarios presented to be taken apart in a brief interview (usually at most 40 minutes for the coding question). Real world scenarios do not resemble leetcode questions, and hard real world problems are solved with more time and careful thought. This creates serious inertia. Once you are 3-4+ years into a job, you probably haven't done much leetcode studying in a while outside of you doing interviews yourself. Interviewing at other companies is actually a pain in the ass, so it's often not worth the bother.
- JAlexoid 5y agoIt's automated and mostly mindless. They are looking for "smart" solutions, that fail to account for testability and code maintanance. I fail a lot of leetcode challenges, yet I've built a critical data platform for Grubhub, IBM, Expedia, etc... some are still in operation to this day.
- sldksk 5y ago>senior experienced engineers Companies use Leetcode because they don’t want to pay for experience.
- lazide 5y agoThere are also a lot of engineers out there with 1 year of experience x 10 (or even 20 times), or even 20 years of experience with some narrow niche technology that no longer applies - but want to be paid like they have been keeping on top of things and learning broadly for 20 years. A solid experienced engineer is worth their weight in gold. A lot of folks consider themselves solid experienced engineers who couldn't program a hello world in any modern computing environment. This is quite unfortunate, and more chaff to sort through. Not defending leetcode. At least it shows someone is trying?
- sldksk 5y agoI’m not one to do the boss’s work for them, but you’re observations aren’t wrong. Your expectations are. Personally, I am thankful to be young, single, and have a lot of free time to keep up with things myself. But I have no interest in the society you seem to desire. This business of expecting constant self-education from workers alienated from the product of their labor or any reason to appreciate the daily grind they’re tasked with is asking for a spiraling mess of societal consequences that I am starkly against. I don’t know any simple solutions. I’m afraid socialists might be right.
- lazide 5y agoIt doesn’t have much to do with me frankly. And I’ve seen this in every society I’ve been exposed to, from India, Japan, Switzerland, Bulgaria, Germany, France, UK, you name it. If you aren’t able to do the job (defined by your peers and the market), you either don’t get paid, or you have to force the market to pay you or change the job, despite not doing the original job (often through legal threats/strikes). It’s a market protectionism vs market need thing. We seem to be advocating here that the best solution (software, market) should win, and that’s what I’ve seen in the global marketplace where legal threats like strikes generally have low impact. What I’ve seen in other areas where the legal situation allows more leverage from labor is happier but fewer and lower paid labor, in often a much smaller market. Essentially a ‘I got mine’ type setup where incumbents get good slots and it’s super hard to get into once established because the pie overall is smaller and guarded. It screws over the newcomers and unestablished in favor of the incumbents. China has started to export some really amazing home grown tech (including software) in some verticals, and if you think they give a rats ass about EU, US, etc. programmers - well, they don’t. Just like French don’t really care about Japanese labor conditions. So we either wall off that software (often to everyone else’s detriment - those would be good products for less cost otherwise for people to use) to protect the local labor/market conditions and cause distortions elsewhere, or.... keep up? Japan is notorious for the protections it has, and is terrible software wise almost everywhere. Pretty solidly stuck in the late 80’s when they were the newcomers and were actually innovating. And if we aren’t even trying to keep up, well - that just means the people who are will win/define the end state won’t it? It’s the harsh reality of the real world. EU has been going the way of protectionism for a long time, which is great from a ‘retirement community’ type sense, but there is a reason there aren’t many cutting edge tech firms originating there. It’s pretty clear from the constant handwringing from the EU on anything regarding tech or competitiveness that they know it too, but can’t make the trade offs to fix it. Great if you’re already established and looking to keep things cushy, pretty terrible if you’re trying to get established though. Like the thread with the folks who broke into tech by problem solving a case as a kid - imagine if they wouldn’t have been allowed to shell script until they’d gotten certified or joined the appropriate union? It’s also why salaries are generally so much lower there for engineers. The real world doesn’t much care about what we (as producers or market participants) want in an abstract ‘it’s not fair’ sense, it’s about the economics of the markets and the needs and who can meet them best. If someone can get me firewood for $5 at the same or better quality as the person selling it for $10, it would require a lot to not take the $5 person up on their offer for the vast majority of people. It’s what has led to a massive expansion in wealth for all humans, as we constantly look to optimize and create more value for less cost. If someone has 20 years of experience in tech x, but I use tech y - and they have shown zero interest in, and can’t demonstrate how to apply that experience in tech x to tech y - why should I or anyone be paying them for something that is not applicable or helpful to me at all? So they can feel like it wasn’t wasted? Good for them, bad for me.
- austincheney 5y agoThe last place I interviewed at used leet code as a filtered. The code problems were fun and challenging. I score a 850 out of 900 points. I failed the next round of interviewing after mentioning something about enjoying writing original code, software shaves off stability concerns and tech debt the more portable it becomes, and seniors aren’t in a position to force juniors away from deliberately doing foolish things.
- MisterSandman 5y agoAs a college student, 1. is the one that worries the most. Automatic filtering is scary, and there's no way to test how these ATS systems are viewing my resume.
- dntrkv 5y agoDon't worry about it. This post is a load of horse shit. If you're a competent dev, move to a place with a good tech scene and you'll do fine.
- MisterSandman 5y agoDifficult when you're an immigrant. I moved to Canada for this reason, and though the tech scene is great here (Toronto at least), it sucks how everyone here talks about how "terrible" the tech scene is wants to move to SF instead. Feels like a never ending cycle.
- MisterSandman 5y agoI realize that this comment makes me sound ungrateful - I'm not! But just something I wanted to mention lol.
- dntrkv 5y agoPeople will always find things to complain about. Toronto isn't SF when it comes to tech (nowhere is), but it still has plenty of opportunity. Don't listen to the complainers. Just focus on becoming a good SWE for now, then worry about maximizing your earnings.
- yosito 5y agoAutomatic filtering is annoying, but there are plenty of tools that will scan your resume and tell you what keywords they find. I once spent weeks crafting a catchy looking resume with a fixed width font and ascii art. It didn't get any responses, and I didn't understand why until I put it through one of these scanners and realized that the program I had used to save the PDF had strangely encoded all of the text in reverse, so I wasn't passing any of the automatic filters. The takeaway: test your resume with a scanner!
- deleted 5y ago[deleted]
- johnwheeler 5y agoYes, tech hiring is entirely broken. I’ve had so many interviews and have been turned down a lot. It sucks but you can’t take it personal. You have to realize interviewers are dealing with time shortages, incomplete information and therefore looking for cues you’re a good fit. Most of those boil down to personality. Whenever I start interviewing, it takes a few fails before I finally realize: my talents are not (at all) what interviewers care about. Talent is just the icing on the cake. Once I remember that, I focus on being personable and start getting multiple offers. It’s always been like that.
- intrasight 5y agoIndeed. Those people obviously never took introductory economics.
- Consultant32452 5y agoMistakes of this magnitude are never made innocently.
- Guest42 5y agoNot enough full stack developers with 10 years of experience willing to work for 75k, “possible equity”, and catered lunches on a “fast-paced high-growth” project that just completed a series A. (actually saw this description)
- JAlexoid 5y agoEveryone should run far away from those kind of posts.
- minikites 5y ago>In today’s world, I’ve been looking around, and the best companies in the market offer about a maximum education budget of only 10,000 USD. We all benefit from an educated society and higher education should be funded by the state. >You try to lowball your employees then you act surprised when you’re struggling to find good labor. This applies to service industry jobs as well.
- latch 5y agoThings companies control: 1 - Pay 2 - Work life balance (incl. remote work) 3 - Strong peers 4 - Control in _how_ things are done for senior developers 5 - Efficiency I'm pretty sure that most companies are, at best, 1/5.
- Consultant32452 5y agoI feel like this is largely a myth propagated by business. If you feel powerless to control things like your pay or work life balance, then they control it by default. I found once I learned to set boundaries in my personal life that doing it at work was easy because I don’t have to care about an employer’s feelings and my income skyrocketed.
- colordrops 5y agoI moved from a 2/5 to a 4.5/5. Doesn't mean it was necessarily a satisfying move. There's 6 - great mission and product, which the first one had and the new job is weak in, but it factors for a lot more than the other 5 in attractiveness of the job, at least for me
- latch 5y agoYes! But that isn't something that all (or even most?) companies have full control over. Most people aren't going to be passionate about building, oh, I dunno, software for insurance companies, but it still needs to get done. There might be a handful of "disruptive" companies doing something in the space, but 99% aren't. There's a lot more "boring" software (even in the startup world) that needs to be built than anything else. The problem is really that these companies don't seem to be self-aware and they don't adjust #1-#5 (especially #1) accordingly.
- colordrops 5y agoThat's the thing, it is something companies have control over, if they have a dynamic and passionate CEO, and are willing to take on risk. Or at least, if it's a big established company, create pockets where groups are able to work on entirely new initiatives.
- ZephyrBlu 5y agoOutline version without account wall: https://outline.com/S9vWXz https://outline.com/S9vWXz
- KittenInABox 5y ago""" You should not be testing people’s ability to recall some obscure definition in an interview. You should be testing people’s ability to tackle something they can’t recall off the top of their head. And, you should allow them every tool they have available. If they’re totally unfamiliar with the problem, and yet they make significant progress in just one hour that should be interpreted as a good sign this person would provide a lot of value to your company """ I think this is extremely important. A developer that can make a lot of progress on something they haven't seen before is often times just as good as a developer who can tell you the big-O efficiency of reversing a red-black tree off the top of their head. Although the latter may indicate a very interested systems-level hobbyist, which is also an excellent value in terms of an engineering quality but impossible to tell from a whiteboard interview if they're a hobbyist or if they just studied.
- monkeybutton 5y agoJust as a counter point, developers that have such a knowledge about algorithms and efficiency tend to be able to sort through different possibilities and branches investigation for new problems much quicker than a developer that has to look up everything on the way. Although that's something that can just come from experience too.
- KittenInABox 5y agoI can't tell during my limited time in an interview if a developer has that knowledge because they crammed (and therefore will forget quickly on the job) or if they actually study and understand this stuff. I can tell during my limited time in an interview if a developer is capable of making logical deductions and not flail when exposed to a problem they may not have seen before. And, better yet, if they do study algos for fun, this will become apparent!
- monkeybutton 5y agoThat's fair, cramming algos is easier than cramming intuitive problem solving skills.
- BurningFrog 5y agoSorry, but my reaction is I don't want to listen to this guy's angry rants at my workplace.
- vsskanth 5y agoI just want to know which company cried on NPR about skilled labor shortage that made this person so angry.
- speeder 5y agoDunno about that particular case. But I have a story myself: A certain company that is probably in the top100 biggest of the world, one time attempted to hire me, but their hiring process was a mess and they forgot me in the middle. Then I noticed they kept complaining on media about not finding anyone for that job. 2 YEARS later, after they posted another complaint, I decided to apply again, and even mentioned the previous hiring process. The HR department said they were sorry, explained that the previous time it was a contractor and they were bad at their job and got fired. So I thought this time I would get hired. Went through their entire process... and then HR sent me a sad letter, that the headquarters in the company home country, blocked my hire because it would violate policy. The policy in question, is that for that job, people needed experience. But also, they needed a local. But... they were the first company offering that particular job in the country, ever. So you have this company trying to be the first company to hire for a particular job in the country, but wants someone with experience, complaining endlessy about it on the media. I felt bad for the employees that were dealing with that bullshit. (the job in question was Game Producer, I have a bachelor degree for it, but back then this company was the only company in the country with such job opening. Some other game companies DID exist in the country but all of them imported producers from their other studios, so for example there was some french and canadian producers in the country)
- creddit 5y agoI literally can’t relate to this on any level. I’m an HM at a company that pays on the order of a FANG and at best matches one of these credentialist barriers and yet we can’t come close to hiring targets on devs. I don’t get how people can see the plethora of individuals under 10yrs experience in SWE and other tech roles in SV/NYC/SEA with incomes of $250-600k/yr and think this happens without a “shortage” of talent. Shortage in quotes because it’s hard to define in context of supply/demand but it’s clearly the case that devs have a lot of bargaining power.
- Aeolun 5y agoAs a perfectly competent dev having immense difficulty getting anyone to consider me for any position, I cannot see this as anything other than false. I have a job now (and by all accounts my employer is really happy with me), but the interview gauntlet I had to run to get here was absolutely ridiculous.
- creddit 5y agoYou're in Japan, yeah? Seems like that might be a barrier if you're applying for SV jobs.
- ARandomerDude 5y agoI think the author is talking about pretty large, well-known companies (e.g., FAANG -- see his first point). Many people applying to these well-known companies are auto-filtered by resume software, which artificially decreases supply. Small and mid-size companies have a different problem: people haven't heard of them and don't know to apply. My company is in this situation. We have a good culture, I think, and pay very well but people don't know about us or don't think of us as a "tech" company, even though we do quite a bit of innovative software development.
- deleted 5y ago[deleted]
- the_arun 5y agoAnother broken thing is LeetCode style of programming exercises asked for a job asking 15+ yrs of experience. Not saying we do not solve complex stuff on a day to day basis, but foundational problems are already solved & we have patterns/solutions/libraries available. We do not do DFS/BFS on a day to day. We do have Stackoverflow, Google to figure things out. FAANG companies - filtering candidates by asking tough LeetCode questions, which is understandable. But what is with Startups? If someone can solve hard LeetCode problems why would they join Startups? They will join FAANG. Startups are blindly copying FAANG before becoming FAANG themselves.
- strken 5y agoI don't like leetcode either, beyond some very simple problems to demonstrate basic proficiency[0], but if you're going to force poor junior developers to do them, it's only fair that seniors suffer the same process. If it's only an expectation for junior developers then it's just an advanced form of hazing. [0] on the level of "here's a list of strings that are names in Lastname, Firstname format, turn them into a list of Firstname Lastname", or something dead simple that's designed to definitively rule candidates out
- deleted 5y ago[deleted]
- remoteguy 5y ago> FAANG companies - filtering candidates by asking tough LeetCode questions, which is understandable Not sure that I agree it is understandable but I definitely am glad they make this bad decision. I dodged the bullet on interviewing with a FAANG and failing on one question (the recruiter told me it was the answer on a single question that kept me from getting an offer) after doing an onsite in SV. I did not know what I was worth and would've felt compelled to accept an offer that would've been 30-50% less than I could command at the time and I would've had to move somewhere with 4-5x the cost of a home than where I live now. I didn't get that offer, and after a little bit more time I got an offer somewhere where I earn 2-3x as much as I originally said I was worth to the FAANG (based on places like glassdoor, etc.). The culture is better, I can work wherever and whenever I want, and would have to go out of my way to not make impactful decisions that go to prod for millions of customers multiple times a week. It'd take 2-4x my base salary to get me to walk, which I could possibly command, but I don't feel any desire to look because I didn't fall into the FAANG trap and enter a cycle of pretending consultants selling quiz books know what software engineering is and jumping to be able to survive in SV. I messed up something on a whiteboard with an apathetic interviewer about a special tree inversion or something - who gives a shit - and I have been extremely happy that happened every day since.
- drunkenmagician 5y agoI great many salient points. I've been a hiring manager for many years now, and in the last few years a candidate twice so I've had recent exposure to the 'current trends'. It's difficult to strike a good balance between filtering for candidates that will be a good fit, and missing out on ones that would be great, but don't fall into the job description square box. I also wrote some comments on this problem last year https://www.linkedin.com/pulse/thoughts-hiring-engineers-rob-munro/ https://www.linkedin.com/pulse/thoughts-hiring-engineers-rob...
- Tossrock 5y ago> The general rudeness is ridiculous. I once had an interviewer ask me if I was a wizard with GO, C++, Rust, and C over the phone. Then when I said I had some experience with rust, he immediately cursed at me and hung up. > This experience is fairly common. Is it? I've done a fair bit of interviewing on both sides of the table, and can say with complete honesty I've never heard a curse said in anger in any of them. I've also never heard of it happening from a co-worker or friend.
- bee_rider 5y agoI wonder if it is possible that the recruiter said something like "ah, damn" which would be unprofessional of course, but seems in the general range not-completely-absurd human reactions.
- sen 5y agoI just recently had someone ask me not to curse when I said “ah, damn” in relation to some trivial thing (from memory I was just expressing disappointment that a project wasn’t going ahead, or part of a project). It’s the first time in my life I’ve ever met someone (over 10yrs old) who considered “damn” to be cursing but apparently they do exist.
- deleted 5y ago[deleted]
- alanwreath 5y agoIt is informal speech. Some people choose to use informal speech in work environments. Others believe it to be inappropriate. I'm in the latter camp but I don't push my language preferences on others - just as I don't push my coding style. So now you've met two people, but in reality you probably are familiar with many more who are silent.
- readonthegoapp 5y agoi usually say 'darn' just to be safe, unless/until everyone knows each other, etc. and i'm still surprised when an interviewer drops an S-bomb or F-bomb or whatever. when i moved from north (US of A) to the south, back in the day, some religious folks would cuss by saying things like 'Dah-gommit' and things like that.
- MattGaiser 5y ago> Furthermore, if you really want a C++ developer you can just expect a developer to learn C++ on the job if they have any adjacent experience with any other language. Is this really accurate? C++ is a very different language than even Java, not to mention Python or JS. Languages have their own quirks and attributes that often matter at some point. Especially C++. I am on a team where we are constantly building stuff with new technologies that nobody on the team has learned, so a certain extent I understand the sentiment, but we are under no impression that we are doing that good a job at it.
- imstate 5y agoYes and no. A good programmer could learn it, but it exposes concepts that python and java abstracts from the programmer. C++ requires you to think quite a bit about memory. Modern C++ not so much. However the kind of job that requires C++ will probably require you to know some hardware / embedded which is a completely different domain than web devs and could make java / python transitions even more difficult.
- cupofcoffee 5y agoIn any decent CS school they actually teach you low-level stuff. Transitioning from Java to C++ for such a person is trivial.
- cupofcoffee 5y agoTo the downvoters: No, you aren't a better programmer because you code in C++. You just use a different programming language. That's all.
- johnnyanmac 5y agoI think the above comment bears repeating: >A good programmer could learn it, but it exposes concepts that python and java abstracts from the programmer. Education varies wildly, and overall in industry you will not apply 100% of your learnings. I'm sure I forgot plenty of algorthms that others use daily. Likely, others forgot plenty of low-level memory management than I use daily. Let's not turn this into a programmer measuring contest. They are different concepts and tools done for the purpose of solving problems, not flexing IQ's. coments like this are no better than the ones you complain about.
- ZephyrBlu 5y agoTech companies lowballing employees? That's news to me. On the whole the market seem very good for tech employees. Also, what company is only paying 50-70k to Juniors but 300k to Seniors? It seems like most companies that pay well do it across the board, not just for Seniors.
- duped 5y agoIf you've ever been on the other end of the pipe for hiring you'll understand the need for filtering. The alternative is to never list jobs and hire through networks, which has other problems.
- ZephyrBlu 5y agoI've never been on the other side of things, but it's always fascinated me that so many people who have say things like this. It's hard for me to fathom that such a large proportion of candidates are terrible.
- KittenInABox 5y agoA good number of people apply to positions that list "5 years in Java" with 1 year in Python, because it's impossible to tell if the role being fulfilled is specialized enough to justify needing half a decade of deep java knowledge or if it's something someone can learn on the job if they're clever. For hiring managers who really need that deeper knowledge that's a lot of filtering.
- chowells 5y agoWhy is that hard to see? With a lot of simplification about "good" and "bad" candidates... It's the natural outcome of there being a very small group of bad candidates who apply for a lot of jobs, and a very large group of good candidates who don't apply for jobs very often. What if there's only 50 bad candidates in a particular region, but they all apply for every posted job opening? That's a lot of chaff to get through on every single job posting. Things aren't that simple for a lot of reasons, but the basic idea holds - you don't need a huge number of people applying for jobs they're clearly unsuited for in order for those people to add up to a huge portion of applicants for any particular job opening.
- lazide 5y agoReally good point. The really good candidate/engineer/whatever might end up only doing 3-10 interviews over 10 years, or less. They do well and get rewarded where they are at, and get picked up quickly when they do interview - and with a good offer. The really badly interviewing candidate might end up doing 50 a month for a year before they stop looking - and be on the market in another 6 months to a year, where they do it all again. You'll see the bad pennies a whole lot more often than the good ones.
- anm89 5y ago> I am sick and tired of <xyz> Is this style of discourse really what Hacker News is about? I come here specifically because it is one of the few places where vague sentimental ranting is discouraged over directness and constructing thought out arguments for points. It's disappointing to see something make it to the top just for having an aggressive "hot take" and not because the content is well presented.
- Aeolun 5y agoIf it happens too often people don’t like it, but this particular topic hasn’t been seen in a while, and it’s something people feel fairly strongly about, so it makes sense that it keeps coming up once in a while.
- PostThisTooFast 5y agoRefer us you your railing against the posting of mainstream news items here, then.
- david38 5y agoWriter doesn’t seem to know what drives a lot of things and seems to suspiciously get a lot of poor interactions. I have never been cursed at for anything by an interviewer. I have never heard anyone I know tell me they were cursed at. The older guy who had his school paid for? Guess what? College was insanely cheaper back then. Also, it was extremely rare. Today, all the education you need to learn any language is available for free in any medium you like. Even CS fundamentals.
- mvzvm 5y agoI looked up the author, he does not have any more than ~6 months experience at any jobs, none are at serious companies.
- throwaway104076 5y agoThis person sounded really experienced, so I looked them up on LinkedIn. 7 months at their first company. 9 months at their current company. That's it, aside from non-programming jobs before their bootcamp. The whole thing reads like inventing scenarios that didn't happen or embellishing them. > A bad interview is when you ask them the definition of some specific thing in some specific framework like “Tell me what a closure in javascript is.” then treat them like they’re stupid if they don’t know. Not that believable, but okay. > I once had an interviewer ask me if I was a wizard with GO, C++, Rust, and C over the phone. Then when I said I had some experience with rust, he immediately cursed at me and hung up. Didn't happen. > Nobody in their right mind is going to move to San Francisco, California to be a “Lead developer” for only 70k with zero equity. Are any companies actually trying to recruit like this? And is it successful beyond just throwing up a hiring post and not getting anything? I put in a limit buy of $3000 for 1 BRK/A on a whim once.
- opportune 5y agoYeah, I think this post is much too generalized compared to what the author has really experienced. It is pretty clear reading between the lines that they're finding getting an entry level job frustrating.
- ZephyrBlu 5y agoKnowing this, his perspective may be based off agencies rather than tech companies which would explain a lot of the things he's ranting about.
- peteretep 5y agoI own an agency. Yes there are shitty agencies, but there are also _plenty_ of shitty companies hiring directly. We have shared our developers' bafflement at how poorly they get treated by Internal Recruiters at the hiring company several times (and generally never worked with the hiring company again).
- rhacker 5y agoI have 25 years experience and a CS degree. I even taught Java and C++ for 4 years at a college. Our top performing developer has this background: No software eng. experience 2015. 2016 Bootcamp 2017 Salesforce 2018 - today - our company: TS, React, Vue, NodeJS, Python, Main devops developer that brought up our docker infra. > Didn't happen. Yikes...
- EE84M3i 5y ago>A bad interview is when you ask them the definition of some specific thing in some specific framework like “Tell me what a closure in javascript is.” then treat them like they’re stupid if they don’t know. Is this a good example? Isn't "what is a closure?" more of a smell test "do you know the language" question? Maybe asking "oh you know python? Tell me how to implement and use a metaclass" without access to the documentation would be a better example.
- hnfong 5y agoDamn. I've been coding in Python for 10+ years and never came across this "metaclass" thing. Starts wondering whether I'm rusty and un-hireable. Curious what it is, I read the first result on Google, which goes through an example that I don't understand the point fully, and it concludes with "metaclasses can easily veer into the realm of being a “solution in search of a problem.”" Oh well, good luck hiring python devs :) I'd agree more on the closure part in javascript though.
- EE84M3i 5y agoYeah, I meant this as an example of a clearly absurd "off the top of your head" question, which I believe "what is a closure" is not.
- Johnny555 5y agoI can get cooking with a programming language I’ve never seen in my life in a matter of days because most programming languages are either very similar to each other or they’re similar to some paradigm most of us already know like functional programming. The companies looking for 5 or 10 years of experience with a language aren't looking for someone to "get cooking" and learn as they go. It's true that most experienced developers can quickly pick up the syntax of a new language and start writing code quickly, but every language has its nuances and pitfalls and you're not going to know them all after a month or two of writing code.
- throwaway_dcnt 5y agoTry scala and implicits!! or c++ template metaprogramming in late 90s and early naughts.
- wwweston 5y agoAt a certain level of experience, you do have an idea of what kinds of things can be nuances and pitfalls, though. And for certain team/codebase sizes, the effort required to learn and adapt to the specifics of the in-house systems will almost certainly dwarf the pitfalls of the general parts of the language/platform/stack. There's some shortcomings of the algo-oriented interviewing practices FAANGs are famous for, but IMO one of the things they get very right is that language/stack knowledge is considered less interesting compared to general problem solving skills (and I say that as someone who failed to get an offer on his last round of trying).
- wanderer2323 5y agoAuthor's thoughts on what is broken are: 1. Too much reliance on automated filtering of resumes 2. Companies asking for too much years of experience with specific tech/language/stack 3. Developers dismiss other developers (for using javascript, apparently?) 4. The 'asking about language trivia' interviews are bad, it would be much better to make candidate solve a small task from scratch 5. Restatement of (2) but with individual engineers instead of companies 6. Companies don't comp the employees education enough 7. Lowballing everyone's offers by default to save on labor costs is bad What is interesting to me is that this is NOT a FAANGMO criticism. The point that applies the most to FAANGMO is probably 7, but even there the lowballs are not that low. Also fairly amusing is the suggestion to stop asking programming language trivia in interviews. Made me double-check the year of the article.
- overeater 5y agoWhat's the O in FAANGMO? It's not Oracle is it? That wouldn't make any sense.
- wanderer2323 5y agoOracle Cloud is pretty FAANGM-ish, it looked like a cross between Amazon and Microsoft when I interviewed there
- ximm 5y agoTech companies complaining about developer shortages sounds completely tone deaf to me: During this pandemic, society was carried entirely by "essential workers", especially in health care. Those jobs are notoriously underpaid. Those are the real shortages. In tech we do not have a shortage of developers but an excess of dispensable jobs.
- ironmagma 5y agoHow else is an underpayment problem going to get fixed but by demanding better? This is more of a “both and” situation in that there is not one “real” problem but several problems which are not part of a zero-sum game.
- austincheney 5y agoI agree. Total bullshit. I remember starting my career as a front end developer actually having to write code. Those days are long gone. Invented here syndrome is the reality. https://en.m.wikipedia.org/wiki/Invented_here https://en.m.wikipedia.org/wiki/Invented_here Code that written by anybody you actually know is not trusted. I actually saw a channel op in ##javascript of Freenode just this morning refer to people who write original code as a form of Dunning-Kruger over confidence. https://en.m.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect https://en.m.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effec... I also remember earlier in my career people reading resumes. Those days evaporated early in my career. A good fix was having open source contributions as people would really look at those. Those days are gone too. Reading code is just too hard, so project readme files are the new resumes to ignore. So now the industry is stacked with developers who can neither read nor write code, can’t evaluate candidates, and fear anything that isn’t externally prepackaged. It’s like watching that movie Idiocracy, and yet people complain about talent shortages. https://en.m.wikipedia.org/wiki/Idiocracy https://en.m.wikipedia.org/wiki/Idiocracy I find this somewhat counter intuitive because while many software developers seem generally of low confidence about actually doing the work of their jobs they seem generally over confident about security, as in information security. It’s weird because that confidence is the the most clear example of Dunning-Kruger and it isn’t based on anything. Now, my learning from interviewing and reading job posts is this: * Use React. * Don’t bother with open source or a portfolio. * Resumes are required but they are just weapons to be used against you at a later time. Include education, contact information, and job history only.
- jagger27 5y agoI had a recruiter straight up hang up a call with me today with no warning. This industry is really toxic.
- dasil003 5y agoHard to take this seriously with all the straw men and broad generalizations. Reality check: there has never been a hotter seller's market for software engineering talent. The fact that you have not landed a job does not mean that supply is not short in general. Rather than blowing your stack at some recruiter who you heard on a podcast interview, you might want to reflect on yourself and how you might be coming off in job interviews. As far as low pay goes, yeah, welcome to the labor market. It's easy to write a blog post about how companies need to pay more, but hard to reconcile the reality that if they don't have FAANG cash flows, "market rate" for developers may not be viable, regardless of management's good intentions or lack thereof. And with regard to bad interviews, remember interviewers are individuals, with skillsets all over the map. Once you get more senior it gets even more frustrating to be judged by someone who has a fraction of your experience. Trust me when I say there is no value in dwelling on this or getting your undies in a bunch. Suck it up and figure out how to play the game (read CtCI, practice on interviewing.io, ask for feedback) and land the job, then do the best work you can every day. Angry screeds will not change anything about the industry and will not help you.
- emadabdulrahim 5y agoThis
- Apocryphon 5y ago> It's easy to write a blog post about how companies need to pay more, but hard to reconcile the reality that if they don't have FAANG cash flows, "market rate" for developers may not be viable, regardless of management's good intentions or lack thereof. Is that a sign of monopoly? When a handful of corporations have vastly more resources than the rest of the industry?
- zepto 5y agoIt might be if it wasn’t false: https://www.economist.com/business/2021/05/16/how-to-thrive-in-the-shadow-of-giants https://www.economist.com/business/2021/05/16/how-to-thrive-...
- 5y ago
- canogat 5y agoThis reads more like a whiny “I didn’t get the job and i hate the ceo i saw on tv” rant than an honest critique of tech hiring. I can’t believe Medium expects people to pay this.
- Animats 5y agoWell, there are some problems that make it hard to hire. - Being in Outer Nowhere. It may be a nice place to live, but if you go there, you're trapped. No other employer unless you move. - Being in an obscure technology niche. If you spend five years working on railroad locomotive motor control, you have a hard time getting a job afterwards. - Going to a company that's in a mess and has no one with a clue. This is a setup for either overwork or failure. - A staff job, rather than a line job. At a "tech" company, developers contribute to revenue. At a company that just has an in-house IT unit, developers contribute to cost.
- raxrb 5y agoI was rejected by a startup because I didn't aks a question about the company and they thought that I was not interesting in the company. RIP: All the time I took for completing the application writing a cover letter for the job.
- JAlexoid 5y agoYeah. It looks like you presented yourself like someone who's looking coding job without human interaction. A startup actually cares about building teams and cultural fit. If you're not interviewing them, then you probably don't care to fit into their team.
- sidlls 5y agoAnother article with content that I agree with (high level points) and at the same time disagree with (reasons supporting said points). The industry is rife with credentialism--but it's more due to the extremely self-centered approach developers use. I don't mean self-centered as a colloquialism for "arrogant," I mean it as in they tend to hire people who resemble themselves (i.e. their skillsets) rather than who is best for the job. And the credentialism changes in different regions/tiers of tech companies. That's why FAANG tend to target elite private school grads, and why line-of-business shops tend to target Programmer/Analyst III types. There are gatekeeping algorithms in resume filters that lead to a sort of hivemind in the community. On the other hand, a ratio of 5:10,000 could just as likely indicate a poorly presented resume as bad algorithms. Interview questions are problematic. The author has a big miss on the rest, though. Asking a person to implement Japanese Go (or anything, really, for which it is applicable) with flood-fill is exactly the same as asking them what a closure in Java is. It's just a pig with lipstick on. And that is a problem, of course. And completely omitted: the criteria that establish just what progress toward a solution counts as acceptable at a given level. Education is inaccessible, probably the only point of the author's I can't really quibble with too much. Companies are being exceptionally short-sighted here, and doing themselves a disservice. Can't argue with the last bit about pay and benefits, either, really. It gets better the higher tier of company one goes to, but even at FAANG engineers are undercompensated (though arguably perhaps not suffering from poor benefits).
- 0xbadcafebee 5y agoProblem no. 5. Companies already have too many developers. At some point there just aren't enough qualified, talented, experienced, good developers left to hire, because they were already hired. Some companies simply have too many developers, and the bar already isn't high. They think that just because they can afford to pay a developer, that that's what they should be doing, rather than reorganizing and utilizing their existing resources better. Want to become a plumber? You'll have to apprentice for 4-5 years (at minimum wage) and work 2,000 hours and/or 250 classroom hours. You can then take a state-accredited exam and become a licensed journeyman plumber, renewing your license periodically. Want to become a software developer? Go to 130-440 hours of boot camp classes with no on-the-job training. Congrats, here's your insane starting salary, now go struggle to make a rudimentary web app with no idea why somebody keeps asking you to run this thing called the "ping command".
- ryandrake 5y agoYou can't talk about a shortage of something if you aren't specifying the price you are offering. It's like me saying there's a shortage of new Porsche 911s because I only have $20,000 and can't seem to buy one anywhere. If I had $100K in my pocket, I would not observe any shortage. Same thing for tech workers. You can't just offer the usual compensation and standard benefits and then say "See, we just can't seem to find anyone! Obviously there's a shortage!"
- aussieguy1234 5y ago>Expecting to find a developer who has 10 years of experience in a specific tool is insane. Well, here I am. 11 years of PHP and counting
- drunkpotato 5y agoThe things the writer complains about certainly happen, but thankfully haven't been the majority of my experiences. I don't have as much emotion invested into the hiring process, but I have been on both ends of it at various times in my career, and I can say both that (some) companies have ridiculous expectations and hiring gauntlets, and that it's hard to find decent developers. I think any hiring manager can tell you horror stories about devs with "ten years of experience" who can't write a for loop. I take company complaints about worker shortages not to be literal, but to be part of public relations, marketing, and appealing to politicians. Annoying? Sure. But also part of the game. I understand the article is mostly about berating companies for being dishonest about hiring, but I don't think an appropriate counter is to be dishonest about being hired. The rest of my response focuses mainly on the perspective of a career dev looking for work. Your mileage may vary with different tech scenes, but my take on these experiences: "Problem no. 1: Companies rely too heavily on automated filtering." While true, if this is your first and major complaint, you rely too heavily on job submission pages. Get a decent recruiter, reply to some linkedin recruiters, and be open to possibilities. You should expect applying to a job board without an internal champion recommending you to have similar odds to cold calling someone to sell them insurance. "Problem no. 2: The credentialism barrier." I can't speak to the author's experience with this, only to my own. No more than 20% of the time I've interviewed has not knowing a specific programming language or technology been any sort of problem in the interview or even mentioned. I have noticed this happens somewhat more often with Java shops, who expect you to be very experienced specifically with Java, but even there most of them are pretty understanding that you may have some catching up to do (again, in my experience). "Problem no. 3: Education is inaccessible." This seems a fair complaint, though not specific to technology. "Problem no. 4: Low Pay and Bad benefits." This is a surprising one to read in technology. Maybe I've just been lucky and in a good area, but tech jobs are pretty well paid, decent benefits, good vacation (not at AWS though, seriously guys, do better), and with a pretty low investment in learning some people skills and negotiating tactics you can drastically increase your earning power. Read "Getting to Yes: Negotiating Agreement Without Giving In." It's short and phenomenally helpful when negotiating salary and benefits. I empathize with the author's annoyance about listening to what amounts to a PR campaign from tech employers, but again, I think the counter to that is pointing out that it's a lot of hot air, not complaining about how hard it is from a dev's perspective seeking employment. I am open to being wrong on this, however, and welcome dissenting opinions telling me how wrong I am!
- jasonhansel 5y agoThere's no "hiring shortage" if you pay people enough. Saying there's a "hiring shortage" is really just a way of saying "we'd like to be able to pay our employees lower salaries."
- KingOfCoders 5y agoI think "developer shortage" depends on your expectations of developer skills. I currently recruit a lot for several different positions and there is no shortage of applications. But 50% can't do FizzBuzz and many do not fit into our environment of a small team where we do not need (can't use) specialists (yet). If you only want to recruit from the "best 20%" [1], you can only recruit the best 20% of the people who apply to your job offerings, which is different from the best 20% of the market - most founders I know want to recruit the best 20% of the market though and fail. [1] It's unclear to me what "best" means.
- cupofcoffee 5y agoI honestly doubt that 50% of applicants can't do FizzBuzz.
- KingOfCoders 5y agoIt might be 40% or 55%, I don't keep records [1], but I'm 100% sure it's not exactly 50%. Numbers are rarely shared, so I have a lot of questions, what is your ration when recruiting? Lower? Below 20%? If you do not use FizzBuzz what to you do use then? Fixing bugs? Homework project (do you find it on StackOverflow afterwards?)? What is the ratio there? Or don't you check for coding skills? (One of the old blog posts talks about 90%). The ratio depends on where your job ads are I assume. If your ad is on some remote only website, you get more applicants but also a higher ratio. If you only work with recruiting agencies, from my experience the ratio is lower, but you pay EUR 20k commission. [1] Sadly I can't get our HR software to track these ratios over channels.
- wting 5y agoAt a previous company we asked candidates to calculate the median value given an array of numbers. We also gave them test cases that covered 100% of what we wanted. 23% of applicants could not produce a working solution.
- KingOfCoders 5y agoI will try that one in my interviews.
- deleted 5y ago[deleted]
- joeevans1000 5y agoI am sick and tired of people using Medium. Why should I have to sign up to something to read your post?
- darkhelmet 5y agoIt is easily blocked with ublock origin. Custom rule: ! 8/7/2020 https://medium.com medium.com###credential_picker_container
- UncleOxidant 5y agoI can agree that once you've picked up a few different programming languages with different paradigms (functional, OO) you can probably pick up another adjacent language on the job pretty quickly. However: "Furthermore, if you really want a C++ developer you can just expect a developer to learn C++ on the job if they have any adjacent experience with any other language." C++ is an exception. Too many foot guns.
- Cheecheepoopoo 5y agoFor real though, why do doctors write like they do? I see no advantage to it. Do they have classes in medical school teaching how to write like this?
- Haga 5y agoWe had engineer shortages in Germany - its basically trying to create a oversupply to drive the price down.
- iLemming 5y agoWhat's not emphasized in the article is that these days nobody wants generalists anymore. Companies don't even want front-end/back-end devs. They are specifically looking for React/Angular/Vue; or "GraphQL proficiency"; or Spring/Django/Node/etc. On the one hand, recruiters spam you with emails without a single mentioning of any language stack. At the other end of the spectrum - "at least 10 years of experience working with X is a must". It makes it difficult for experienced developers to hop from one language stack to another. And then we see comments on HN like "I love Clojure/Rust/Haskell/Julia/Elm/etc., but I'm getting paid to write ... in something else"
- durnygbur 5y agoGoogle pours piles of money into Angular. Businesses want Angular developers. People aspiring for Google salary pay fortunes for Angular bootcamps. Instructions unclear, stuck sending CVs.
- sarsway 5y agoI think there's also a power struggle. I've seen so many shitty job offers, where a company thinks it can hire developers like a commodity and have them implement whatever crap idea they have come up with. Unless they have a truly great product at hand, the only ones applying will be the ones desperate for money. But no good developer wants to work on some potential shovel ware that's dead on arrival. There's so much software being made these days, and most of it isn't all that useful to be honest. There are also so many old century companies still failing to adapt to the internet age, trying to force their way into it with half baked copy cat strategies. I'm not going to put all my passion into someone else's dubious pipe dreams or some vision-less experimental venture. Good developers know they are valuable, and that their work carries the whole product. Jobs at companies that make beneficial, useful software are usually highly contested, but for companies that struggle to attract developers the issue might be more then just the job market.
- JAlexoid 5y agoTo be honest - if the people that are completely clueless about tech are paying well - I'll happily take their money, whip up the easiest thing and leave. Remember that you pay a mechanic not to tap your car with a hammer, but for the years of experience to know where to just gently tap your car without breaking anything. We just make more money and can generate a lot more income.
- topkai22 5y ago> Education is inaccessible Full-time undergraduate tution at University of Washington is $11,745 for residents. Washington State University's online program is $10616/year for residents (and only slightly more for non-residents.) Community College is something less than $3000. All that is before any financial aid, and MOST students receive grant money (https://nces.ed.gov/programs/raceindicators/indicator_rec.asp https://nces.ed.gov/programs/raceindicators/indicator_rec.as...). There are a lot of people make bad financial decisions around education (I was one of them at one point), but if one is willing to constrain their decisions to in-state options and are able to get some of the financial aid then college education (espicially in STEM or Health careers) remains a good tradeoff. Going to an out state school or a private school without huge financial incentives to go... well, understand you are buying a luxury good and status, not making an investment. Besides, if the author is proposing that companies pay for education, poo-pooing $8-10k in grants is insane. It is easily 100% for some part time program, and is a huge chunk of the cost for even brand name in-state programs at the undergrad level. Edit- I'm not saying student debt isn't a major problem, it is. However, it remains unnecessary for most students to go into horror story levels of debt to get a degree, especially if they are able to work while going to school or live rent free with relatives. After all estimated costs for housing, food, and other living expenses dwarf the tuition costs ($18k/year at UW).
- deleted 5y ago[deleted]
- shp0ngle 5y agoThis is a barely readable rant. > Furthermore, if you really want a C++ developer you can just expect a developer to learn C++ on the job if they have any adjacent experience with any other language. Yeah nope Any language takes at least 3-5 years to fully master. Sure, the "10 years in X technology" posts are sometimes insane, but... also, there is a real, factual difference between "I worked with technology X once" and "I am working with it for 5 years".
- trainsplanes 5y ago> Any language takes at least 3-5 years to fully master. That really depends on the language and their background. Going from C to C++ and you can be pretty functional pretty quickly, and comfortable in a year. Your big hurdle then is whatever specific libraries you're using. Smaller languages like Lua can be fully adapted to in about 2 months or less. I mean, yeah, picking someone with 10 years of Python experience and nothing else, then expecting them to jump right into a massive C++ codebase won't go well. But someone with 5 years of Ruby experience and a side project in Python will probably do pretty well if they're dropped into a Python-oriented job.
- KhoomeiK 5y agoI honestly don't think pay is an issue in tech, but most of the others the author brings up are valid points. The crux of the issue in my opinion is the fact that NO ONE HIRES JUNIOR DEVELOPERS. Companies don't want to take on the burden of training junior devs and then complain when there aren't enough senior devs to go around. Obviously it makes sense from a business perspective, but taking a step back, training junior talent in this field should be a top priority for everyone.
- noodlenotes 5y agoWhen developers change jobs after about 2 years at a company, what's the incentive for any individual company to take on the burden of training junior talent? By the time they've got the experience to contribute on their own, they're gone.
- KhoomeiK 5y agoTotally agree and I thought about mentioning this in my comment. Yeah, part of the blame for this problem is on us as developers for creating a culture that encourages constant company hopping.
- Crespyl 5y agoThat culture goes both ways, and more on the companies in my opinion. Why would anyone stay more than a couple years when there's no path for advancement and raises don't remotely keep up with the market?
- ahel 5y ago> on us as developers for creating a culture that encourages constant company hopping lol. It's not like _us developers_ like the stress of interviewing every 2years. It's just that we know that we're undervalued and underpaid and have the luxury to prepare for job hopping. It's a matter of _fair_ talent retention, not of _developer encouraging a culture of company hopping_ (???). Or give me example to change my mind, maybe I've not understood what you meant by that.
- 5y ago
- taotau 5y agoI've always found the focus on 'languages' in hiring to be a bit odd, and perhaps a hangover from olden times. Any programmer with enough experience can become competent in any programming dialect fairly quickly. But it's the level of knowledge of specific frameworks relevant to projects that is what we really should be a measure of competence. Having gone through the job hunting process recently i did find this a bit frustrating. Ok, you want a 'JavaScript' developer... Thats like walking into a restaurant and saying 'I'll have some food please'. At least some places made the distinction of throwing in React or Vue or Angular somewhere in the posting. Sometimes all three! What does it mean to have X years experience in node ? I use npm all the time, does that count ? I assume they mean the express framework or it's cousins, but almost no job listing mentioning node spelled that out. Same applies to Java - probably the most widely varied language in terms of use cases and contexts. I've built some web stuff in Spring and Hibernate but I know nothing about its use in embedded systems.
- aoleinik 5y agoWhile I believe this is true for most “high level languages” (JS, TS, Java, Python etc.) I think when you’re doing low level languages like Rust and C/C++ you really need to hire for those languages
- jdauriemma 5y ago> I’m not a Marxist. I understand the motivation behind paying some people more than others. Nothing Marx wrote says that you can't pay one person more than another.
- cable2600 5y agoWhen I apply I am overqualified for the job. I have too much experience and they don't want to pay me for it. I don't think there is a lack of developers, I think they want Superman at Jimmy Oslen prices. Then they end up hiring a Jimmy Oslen because he has a CS degree and agrees to work for less. I once applied for CEO of Microsoft and got told I was overqualified because I ran small businesses.
- DigitalSea 5y agoI was kind of following along and agreeing in many aspects with the article, until I got to the following: >You should be giving people obscure algorithms in interviews. For example, ask a candidate to make a playable game of Japanese GO, and ask them to use flood-fill. In my opinion, asking algorithmic questions in interviews for say a front-end development position is one of the core fundamental problems of hiring right now. Asking someone who will be spending their time taking Figma prototypes and making them work with your API or backend is what most front-end/web developers will be doing. If anything, algorithmic questions are exclusionary and do not tell you anything about a developers ability to solve problems. Oh, you remembered an algorithm from your compsci classes or you went to one of those GitHub interview prep repositories and memorised some of the things companies ask: well done. I have friends who work for companies like Facebook and Google, they all "prepped" for their interviews like they taking an exam. What about the self-taught developers? You know the ones who did coding bootcamps, courses that Twitter developers are flogging for a few hundred dollars to help you get better at Javascript and CSS. Algorithm questions are biased towards academically taught developers, not the ones who taught themselves (and in web, there are so many self-taught developers). The honest truth is the times that you do need an algorithm, you are going to look it up. I can't think of a developer that I have worked with in my 13 years as a front-end developer whoever solved a problem with an algorithm they just knew off of the top of their head. Problems in web land are solved with Google and trying things until they work. Part of being a good developer is knowing what to type into Google, not the ability to recall everything like a robot. I can do a basic sort, I can do a FizzBuzz and that's really it. Unless the job specifically requires writing algorithms on a day-to-day basis, you can use StackOverflow, lift the code from a blog post or install an Npm package. Part of this post seemed to be pieces of truth sprinkled with what are clearly exaggerated claims and lies. I seriously doubt the following quoted situation happened: >The general rudeness is ridiculous. I once had an interviewer ask me if I was a wizard with GO, C++, Rust, and C over the phone. Then when I said I had some experience with rust, he immediately cursed at me and hung up. An interviewer didn't curse the author because he said he only knew a little bit of Rust. This just seems completely fabricated to me. All of the problems when it comes to being unable to find developers or perceived skill shortages usually come back to the hiring and interview process. Why companies feel the need to subject a developer with 10+ years experience to a multi-stage interview full of traps designed to make you slip up so whoever is interviewing you can feel superior defies belief. If someone has been working for 10 years, I think you can accommodate them with a more streamlined interview process that doesn't waste hours, weeks and sometimes months of their time. It reminds me of the time I interviewed at a company. At that point, I had close to 10 years experience (a few months off) they were hiring for a front-end role. I attended the interview, the interviewer was sick (red flag #1) this was pre-COVID obviously. I went to a small meeting room, we spoke for a few minutes. He boasted how he had been at the company for a little over a year and had just been promoted to lead developer (red flag #2). He pulled out some sheets of paper with questions, there were 20 of them. He then explained this is a written interview, to write the answers on blank sheets of paper to the questions. I had an hour. Some of these questions were coding questions, as in, I had to write code on sheets of white paper (red flag #3). Instead of leaving the room, the person interviewing me sat across from me on his phone, occasionally glancing over at what I was writing (red flag #4). He kept sneezing and coughing, it was terrible. The whole thing made me nervous, I blocked up on simple questions. One of the questions was to swap values in an array without introducing a third variable. Array destructuring was new then, but valid. I used that as the answer, he tried telling me that it wasn't a valid solution to the question and that he wanted another solution. I explained how destructuring was an up and coming part of the ECMAScript specification, but he continued to say it wasn't a valid solution. My answer was `[a, b] = [b, a]` which was very much valid. It is people like the person who interviewed me causing these perceived skill shortages, not the lack of skilled developers. Don't get me started on companies who don't even know what they are hiring for. Some of the job descriptions I have seen in front-end/Javascript are confused and often at odds with themselves. Asking for candidates with 3+ years experience in Javascript and then saying things like, "Experience with PHP or Python preferable" for what are being advertised as front-end positions, not full-stack or general web developer. I am the lead front-end engineer for the company I work at, I am part of the hiring process. I refuse to ever ask algorithmic questions, coding puzzles or anything that will not relate to the average day to day job. I am honest and upfront when I say to candidates, "Sometimes a ticket will come through and it's to rename a text value on a button" or, "Fix some padding on a modal for tablet sized screens because it's cutting off the edge" I also refuse to take up the precious time of candidates with take home exercises. More often than not, just sitting down and talking to someone, treating them like a human and asking about the things they have done is enough to know if they are a good fit or not. We need to stop treating developers like robots who don't need sleep and can solve complex exaggerated puzzle problems in the space of an hour while being watched and not being given access to the tools they have in the real world. As a whole, I found this "article" really difficult to read. It reads as though the author is struggling to be hired and has written an angsty article throwing daggers in many different directions and making a lot of assumptions (don't get me started on the grammar and spelling mistakes).
- Axien 5y agoEvery time I hear of developer shortages the next sentence involves increasing the H-1B visa pool. I’m now in upper management. I’m told I can hire as many Indian developers as I want (based in India) but must limit my US development team. Why? Cost of course. There is no real shortage, just an attempt to clamp down on real wages.
- paxys 5y agoI'm also in the same position as a manager, but to me it makes perfect sense. Roughly speaking a staff+ engineer in India will be $60-100K/yr total comp including benefits (and I'm talking IIT talent, way above market wages) with skills equivalent to or better than one in the Bay Area at $500K+. Our best development right now happens out of our India office.
- missedthecue 5y agoI mean you cannot deny that there is zero merit to the rule. A good developer in Bangalore is $35k a year. A good developer in the US will set you back no less than $120k + 40% for all the benefits and payroll taxes and other associated employment costs. If by "clamp down on wages" you mean control expenses in a general sense, i guess you're correct, but you sure are making it sound sinister.
- kentian 5y agoI am an aspie that has gaps in my resume. I moved to a fairly remote location while I was working on starting my first company. There were a few "software" companies there. The quality of the engineers was very low, as was the software they were producing. I wanted to do some work for a while to gather up some more money. These places were obviously desperate for engineers. They had ads every week for months or years. I went to the interviews. All of the technical tests were easy. Often they didn't even get their own answers right. None of them hired me though. It was very obviously for the aspie personality. They were obviously not that desperate. You can say "oh you're an aspie. Oh you have gaps in your resume". Ahh... exactly how desperate are they if they can pick and choose while having such terrible in-house talent? The pay at these places was pretty terrible. Looking at their history, they often resorted to using off-shore people. Most of their upper management are really just family members making a passive income from the company. None of this suggests to me any real crisis or shortage in labour, just people wanting to keep raking in easy money.
- gfhgftyh 5y agoI will discourage anyone to work in europe as a software developer. Salaries are so low that you will probably make more money in the most third-world countries.
- 0xB31B1B 5y agoAbsolutely terrible developers exist, some have 5, 10, or 20 years of experience. I have worked with at least two of them in my career. One was a co worker at a startup. He seemed smart and confident but he just didn't do any work and focused on things like "optimizing code linting" and breaking our DNS, telling us it was fixed then laughing at us while we had to wait 24 hours for the new fixed DNS stuff to resolve. Due to a comedy of errors by our companies management, he was able to last 12 months and was fired on vesting day. More recently at a different company, we hired a guy with 4 years of tech consulting and free lancing experience and he nearly destroyed the company twice in two months and I then fired him. He did surprisingly well on our interview that we designed to be less crappy than the general tech interview loop, but in retrospect his success was clearly a sign that our interview loop was extremely broken. Having "false negatives" isn't great, but having a single false positive can literally destroy your company. People with multiple years of experience just may be the crappy developer that destroys your startup.
- lsh123 5y agoWhen I am hiring, for every ~30 post interview rejections I always get an angry follow up email explaining in details why my hiring process is bad and how I should fix it. I politely reply “thank you” and silently also thank my hiring process for correctly rejecting that specific candidate.
- jurassic 5y ago> ...this moronic interview practice would alienate an obvious asset > The lack of faith in our fellow humans is disgusting. This kind of catastrophizing and dismissive language makes me want to ignore everything the author says. If you think being evaluated in an interview setting is somehow unfair, I think you should consider whether your attitude is the problem. If you are actually good at leetcode and continue to fail onsites, you're almost certainly giving off red flags in some other behavioral category. At my (FAANG-ish but not in the acronym) company, many of the candidates we fail are leetcode gurus who have a negative vibe. Maybe they're technically pretty good, but they have an ego on the level of Linus Torvalds. Or maybe they trash talk their current team or boss, or avoid giving straight answers to simple questions about their background. Or they've got 8 years of experience but can't talk about anything they did to grow the younger people on their team. Maybe they launch into brain-dumping a solution they memorized from a practice problem without explaining their approach. Or perhaps they are aggressive and stubborn when given corrective hints. As a dev who will be on the same team as the candidate in the event an offer is made, my primary incentive is to vote no on any assholes I cross paths with in the interview. I don't give a shit if my no-asshole standard means the company needs to spend another 3 months and $100k on recruiting costs to get an equivalently skilled non-asshole candidate for my team. I consider those costs part of MY total comp. Beyond the junior level, success usually means working well with others and bringing a growth mindset for yourself and others to each project. Mentoring others. Learning and teaching. Being a steward and doing unglamorous work for code health. Slinging feature code is a minor part of it in big companies, so you need to figure out how to signal all these other forms of value in the interview. And avoid sending out red flags.
- burntoutfire 5y agoFor me, leetcoding people is basically asshole behavior, on the part of the company. The whole idea of "let's have a tournment where we have candidates grind on arbitrary problems for months as a part of preparation, mhwahaha (evil laughter)" sounds like something out of Donald Trump's playbook. No wonder it tends to select for (often, money-driven) assholes who see it as par for the course, while many mature and reasonable people are put off by it and never even bother to apply.
- winrid 5y agoRemember that a lot of job postings aren't in fact real, but companies trying to "prove" they can't replace their H1B workers. I have nothing against said workers, but the way the US manages H1B visas is broken IMO.
- LorenPechtel 5y agoDefinitely. Last time I was looking at least 80% of job postings obviously had no job behind them or were duplicates. H1-B setups, recruiters simply trying to build a list of clients, multiple ads for what was obviously the same underlying job, a few that continually posted the same ad but didn't look like recruiters etc. I suspect the actual garbage rate was at least 90%. Admittedly, I do not live in a tech hub and relocation is not an option.
- zmmmmm 5y agoNot sure how much sympathy I have with this specific set of complaints, but what I do think is that if tech companies still don't have enough staff by now (several decades in after software has become one of the worlds largest professions) - well, it's their own fault. Industries need to foster the creation of the workforces they need to survive. That means occasionally not rejecting every resume that doesn't have 5+ years of experience with your exact tech stack and being willing to invest in cross-learning and education. It also means investing in your own staff as they progress to ensure they can climb in experience and skillsets to become the experienced staff you need.
- warent 5y agoI empathize with your frustration and how it looks from the side of a candidate/developer, and frankly you and I share many of the exact same views. It wasn't long ago that I was in the same position. That being said, I've been fruitlessly stuck in _hiring hell_ (seeking like 10 to 25 devs) for too long, and would love to vent _my_ frustrations by addressing each of these directly. > Companies rely too heavily on automated filtering We use minimal to no "automated filtering"--certainly no AI that I'm aware of. Instead, we just focus on pipelines that we perceive as having generally higher quality candidates (e.g. angel.co, Hired.com) and review them all by hand. As a result, we move more slowly and have a smaller pool. Sadly, this hasn't been working because apparently the candidates are only of marginally higher quality or there's not enough in particular roles. Probably the only way we could ever hope to expand to broader talent pools is by using AI, because we simply do not have the manpower to keep up with the _mountains_ of application. > The credentialism barrier > Expecting to find a developer who has 10 years of experience in a specific tool is insane. If you’re trying to find a rust developer and you will only accept them if they have been exclusively coding in rust since its conception you won’t find it. What you’ll get is a receding, inbred hiring pool. I agree with this (frankly, only big old businesses with McKinsey managers still do this BS). In most scenarios ~2+ yrs is plenty. Sadly, even with this flexibility on my end, we're still in a huge shortage. > I can get cooking with a programming language I’ve never seen in my life in a matter of days because most programming languages are either very similar to each other or they’re similar to some paradigm most of us already know like functional programming. > Developers are creative. They try new things. They’re not going to be droning in one language forever. If you think these are normal, average traits, you have a misunderstanding of the value of your talents. _Most_ developer applicants I see cannot do these things. > Most developers I know will comfortably do coding challenges in a variety of languages. They do actual work in a variety of languages too. "Most developers you know" are very far removed from "most developers in general". The developers you know were already hired through a grueling hellfire walk of filtering _countless crowds of candidates_ who struggle to spit out a basic print statement in Python while someone yells from the other room asking if they need help with the interview. > The credentialism barrier pt. 2/3/4 You won't hear me argue with any of this. Any company that practices this has flawed leadership and hiring practices. Again, we are actually very proactive in avoiding these toxic practices, but sadly still have a shortage problem. > Education is inaccessible I can't really speak to this problem. Am I understanding this correctly? If you're turning down jobs because there is no education stipend, that just sounds like a personal decision I've never even heard of before. My engineering career has steadily advanced from junior to upper management, and this thought never once crossed my mind. > Low Pay and Bad benefits We offer normal market rates and solid benefits. Do we compete with Google or Facebook? No, but who can? At least we're fully remote, so the compensation is going to be insanely higher than average for some people, and perhaps average-ish for people living in, say, Manhattan. Anyhow, all this is to say that I hear your frustrations; they strike very close to home for me. I work tirelessly to uphold high standards in my hiring and interviewing practices. But the reality still stands that _there is a shortage_. Next time you find encounter a company with hiring practices you hate, pause for a moment and consider that maybe they're just completely burned out from an endlessly fruitless search just like you are. (I wrote all this with "anti-procrastination mode" enabled so won't be able to edit it to correct any potential mistakes for a couple hours.)
- vorhemus 5y agoI once applied for a job where I knew the hiring manager already but of course I had to go through the whole interview process. The job description was rather generic with phrases like "3+ years of experience in C++/Java/C# that I think I fulfilled pretty well. Next day I got a standard rejection email from a "noreply" address without any explanation why. I called the hiring manager and asked if he could figure out what happened, I didn't expect to drop out at the resume stage already. He came back to me telling me that the keyword "C#" was not in there, so I was automatically filtered and rejected. I didn't know that "experience in C++/Java/C#" apparently means experience in ALL of them, all these languages/keywords must appear in the CV somewhere. Two things I learned here: 1) If I didn't know already someone at that company, I would still be clueless why I wasn't accepted. 2) The first hiring stage at big companies is indeed a silly keyword filtering process.
- rmk 5y agoThe main thrust of the article is that companies should be open to hiring junior devs with no conventional credentials (degree, specific work experience). This is somewhat reasonable on the surface. But it ignores the question of how much time senior people will have to invest in order to train junior devs with no discernible credentials (which are a proxy for actual ability to deliver robust, maintainable code). Or how many such juniors can be hired in a given team without letting the product go to pieces. The amount of supervision untrained junior devs will need in order to get decent work output from them is quite high: it is often better to be picky and recruit a much smaller number of senior devs with proven work experience and/or credentials. Ditto with a mix of senior devs and junior devs who do have good credentials. That being said, one thing I have noticed is the insane pickiness of companies these days. Series-A startups that are very likely to die expecting FAANG-level coding skills but with out FAANG-level compensation or career progression opportunities. Startups that run on AWS refusing to hire experienced developers who do not have AWS experience, but have delivered plenty of robust shrink-wrapped hardware/software product. Consumer-oriented startups turning up their noses at devs with enterprise backgrounds. Young, growing companies taking 6+ months to hire, waiting for the perfect unicorn candidate while they can be hiring more realistically and adding value (and going to market faster) much sooner. The interview loops commonly run 5-6 hours, for even the smallest of shops, and time is wasted on banal 'culture-fit' interviews (read: we won't hire you if we feel like we can't hang out with you after work; we won't hire you if we don't feel like you are 'one of us'), ridiculously hard DP-type questions that almost always require one to have solved the problem prior, poorly-trained junior interviewers who are lacking in the background needed to properly evaluate interviewees' prior work experience, and so on. One is left wondering if such companies even intend to hire!
- aj7 5y agoYou keep talking about rent seeking behavior. Rent seeking is when an asset is owned or monopolized in such a way that the owner can experiment with putting up prices without delivering any extra value. It is a very secure and sought after position: Bill Gates’ company is successful in the software business, so he buys farmland and timberland. You have every reason to criticize the hiring practices in the software industry, and I’m sure you are at least partially right. But these practices have nothing to do with rent seeking.
- koonsolo 5y agoThis person needs to be placed at a position to hire developers. Looking forward to reading the article they write afterwards, but I can tell you it won't look like this one ;). I'm in a position to interview candidates. It is indeed very difficult to find quality developers, both junior and senior.
- deleted 5y ago[deleted]
- hmans 5y agoLinks to an article that requires me to log in. What does it say?
- bumblebritches5 5y agoSTOP REQUIRING DEGREES AND HIRE PEOPLE THAT HAVE CONTRIBUTED TO OPEN SOURCE
- antb123 5y agoMy take is 1) Most companies don't want to do training - like General Motors etc did in the 40s/50s 2) Most companies don't want to pay doctor/lawyer style salaries 3) As most software is closed source as an industry we over produce and throw away a lot. 4) Ageism is rampant - doctors or mechanical engineers can find jobs after 45 5) Can use this to lobby for easier visas for immigrants to lower salaries
- jnxx 5y agoI know only part of the picture. But I suspect that the following factors are at least sometimes also in play: * Many company start software projects as greenfield projects which are written by young, inexperienced, and cheap developers. * These projects, when successful, grow, and become complex legacy projects. * Some companies do not realize that it requires far more experience and knowledge to develop such a legacy project further, and expect to be able to hire young, inexperienced, and cheap developers, which pick up work exactly where the former developers were when they left. * And then they might realize or not that it requires far more experience and skill to read, understand, an maintain such a project, then to start a small new project from the scratch. Yet the amount of work required to understanding and maintaining a legacy project can be a significant part of all the summed work of writing it over the years. * And then, the companies might be in denial on how much skill they require, or they might not be transparent about the amount of work needed, in an effort to get new developers cheap. * And in my experience, this is often with a general lack of appreciation of what the developers have actually created. What comes to my mind is that I experienced an extreme case of this, many years ago when I was a young poor student. I found a leaflet announcing a job opening in an university from a company which sold a kind of embedded product. In the interview, they asked me if I knew how to write C, and if I had any experience with 8-bit assembly (which I had). When I came to my desk the first day, I found an 11-inch stack of 500,000 lines of print-out listings for Z80 (at that time, code was printed out in fan-fold paper). It was mostly generated from C code cross-compiled into assembly, an modified from there. It was commented in Japanese (a beautiful language, but I don't speak it). It didn't had documentation. It did not even have a Makefile. In the following weeks and months, I learned that a much more knowledgeable fellow student had offered his work for four times of my own salary. He was furious at me. The company was apparently not aware that he, being an assembly and embedded expert, was much more capable than me for doing this job. The company made tons of money with selling a specific kind of hardware, and the software, which had initially been reverse engineered from the hardware product, was a necessary companion product to their main offering. I also learned that the previous developer had worked as a contractor, and had left the business relationship after negotiations on his compensation failed. He had died shortly after that, and his widow was unwilling to provide any further information or notes he might have had. In the end, I could only achieve so much at that job - it was not that I wasn't smart but it was just way above my level of experience and knowledge (which was actually not bad). And it would have been years of work anyway. The company would have been far, far better off if they paid ten or even twenty times my salary to an experienced professional, rather than to a student. When I left, they gave me a shabby certificate of employment which even contained spelling errors. And I think that sums up the relationship they had with their developers. Another thing that I have learned over the years is that while there are of course good and competent developers, and less competent ones, what more often than not makes a huge difference is how work is organized. It can easily increase or decrease the productivity of work by a factor of ten. And this can very much determine how much value good developers can create with their work. That means that if a company cannot pay that much, it might also be because its processes simply cannot generate good value. So, in short, part of the mismatch which seems to crop up here could be that companies sometimes do not know what they really need, and also do not appreciate what they have in terms of people.
- jokethrowaway 5y agoThis is conflating so many different problems. The work you do at a FAANG is generally much simpler than what you prepare for the interview. If I were them I would just split the streams: hard interviews and high pay for incredible talent and just pair programming / entry level pay for entry level developers. I have senior engineer friends who got hired at Google for basically doing overpaid crud API all day. You could have that for a fraction of the price and without wasting a senior's time on that crap. FAANGs complaining about lack of developers have only themselves to blame. I rarely heard it's a problem for them, though: the high salaries attract a never ending stream of talent willing to prepare for whatever interview they can think of. Smaller companies with lower compensations and less valuable stock have much bigger problems. Finding people who are able to code is not trivial if you don't have FAANG's money. You have no idea how many people I've seen coming to mid / senior interview (no algorithms, just pair programming) lacking basic programming skills.
- iainctduncan 5y agoIt is absolutely, without question, easier for a decent dev to find a job than for a non-tech giant to hire devs. I have done both and talk to companies as part of my current job about their hiring and attrition every month. We are in one of the most in-demand industries in the world. If you are a decent developer, and you can't find a job, one of two things is happening: 1) You are being too picky: You're applying for jobs out of your league or that aren't a good fit for you (yet) 2) You need to fix up some skills. These could be coding, or they could be working with people, interviewing, presentation, etc. When I applied for jobs, I fired out 140 applications in the space of 7 days and had multiple offers to talk (and then jobs) two weeks later, and I have no degree. But I didn't have fantasies about FAANG and driving a Tesla in two years, I applied at small companies that needed people like me. 5 years after that, I'm making very comfortable money from moving up gradually to better work and now have an hourly that is FAANG competitive. (I did freelance for 10 years previous to that, so the FAANG competitive compensation was 15 years in the making). People are impatient and don't want to look at their own assumptions and decisions critically.
- yellowapple 5y agoIt ain't just the software industry. Industries across the board seem to be running into the same self-inflicted pain: "Woe is us, we can't find anyone who wants to work for us... What's that, pay better and not rely on Kafkaesque recruitment pipelines? lol nah, clearly the workers are lazy and entitled." Employers won't change their behavior unless they're actually pressured via the ostensibly-free market to do so. In the short term, UBI would give workers vastly more ability to negotiate for better terms on an individual level; this extends to longer term proliferations of both labor unions (which can sustain longer strikes when UBI at least prevents strikers from going hungry or homeless) and ideally-cooperatively-owned startups (wherein the founders have a safety net in the highly-likely event that the startup doesn't make it past the front of its bathtub curve, and wherein the company is less reliant on outside investment just to keep the lights on). But whenever such solutions get suggested, they of course get shot down as "eww socialism" and the problems persist.