7 ms·
Very few firms want to hire juniors, while nearly all firms desire senior-level talent. This manifests inflated job vacancies because so many firms have an eve
by DeBraid 5y ago
Very few firms want to hire juniors, while nearly all firms desire senior-level talent.
This manifests inflated job vacancies because so many firms have an evergreen job posting for "Senior Full Stack". Because talent is scarce these roles rarely get filled (hiring managers expect million-dollar candidates to accept $100-200k compensation).
Also, because lots of software requires specific expertise, there are vacancies that can't be filled because of a knowledge gap (novel industries / projects, etc). For example, how could SpaceX possibly fill all their engineering roles? Surely money is not a limiting factor, but rather the limited supply of qualified expert rocket engineers?
- dimitrios1 5y agoTo go in line with firms not wanting to hire juniors, I think generally firms do not want to invest heavily in employee training or education. I would, for example, happily make a shift from CRUD webdev and distributed networking to hardware and embedded and more lower level type work, but I doubt a firm would hire me near my current level and train me up.
- aNoob7000 5y agoI think you hit it on the nose. Companies don't want to invest in training their new hires. They just want someone to hit the ground running with as little hand holding as possible.
- ghaff 5y agoIt doesn't help that, for a certain slice of the software industry, staying in a position for 18-24 months has almost been normed. If it's unlikely that your hire is going to be there for more than a couple of years, why on earth would you "invest" in them. It's not like you'll get a return on that investment.
- cableshaft 5y agoAnd why would software engineers stay if you did invest in their training but in the meantime you're going to reduce or eliminate bonuses, make your health plan worse (or just plain switch to high-deductible with no PPO options), stop 401k matching, other key employees have left and you don't hire new people and instead dump that responsibility on someone else without promotion or raises, etc. I've seen all of those things happen at a single company before (and relatively quickly, over two years), and several of those things happen at several companies.
- jandrewrogers 5y agoThis is often the case. Another factor is that in many of the areas with a persistent shortage of talent is that it would require 18-24 months of training to really become productive. That's a big investment and people tend to have short tenures at companies these days.
- gmadsen 5y agowhich I think I'm fine with. I can learn skills on my own time. But I expect compensation to be commensurate with that
- cwbrandsma 5y agothat is true for firms that never hire juniors. For me, I have a small team, we can only absorb a small number of juniors at any given time, because I have to have people free enough to train them up. And now, having lost most my seniors in my team to attrition, I'm hiring more mid-level developers (and hoping to find seniors)
- runevault 5y agoThe problem is likely that most people are willing to learn on the job, but then take that learning and go get a better job. A large portion of this problem is companies not being willing to increase pay to match the value you add by learning that skill, but it does lead to the doubt about bothering to train.
- tsywke44 5y agoWhy would any company spend 2 years to train a junior, only for that junior to jump ship? Oh and it's not that easy to even find a "trainable" junior. Even if you have a fairly strict hiring process, at least 1/3rds of the people coming out of the edication system will be draft busts if using sports terms
- pavel_lishin 5y agoTo answer your rhetorical question, because the alternative is spending five times as long trying to hire a senior engineer without the sort of budget that FAANGs have. And because it doesn't take a full two years before that junior is a valuable contributing member of the team; because they'll likely refer other qualified and/or educable applicants; because they might not jump ship, but be happy to get promoted if you actually reward them comparatively to what another company would pay them. But sure, if you're not willing to invest either time or money in your employees, then no, you shouldn't hire juniors.
- shagie 5y agoSpending five times as long to hire a senior who doesn't leave in a year or two is then a much better situation. A junior dev hire involves sifting through many resumes, and then interviews, onboarding, and then three to six months of lower productivity for the mentor. All of that represents losses against the current status quo. The current status quo is predictable. This completely discounts the "accept and renege" that also is common with juniors looking for a job which can reset the job search back to square one even when you do find a good candidate. Taking six months or a year to hire a senior has fewer resumes to sort and fewer interviews to conduct. When the person is hired, they've got a much shorter onboarding and has the necessary skills to be able to become familiar with the codebase without causing a hit to the productivity of the rest of the team (or other seniors). In this situation, hiring a senior is likely a much better outcome with fewer seen and unforeseen negatives and an eventual positive.
- pavel_lishin 5y ago> Spending five times as long to hire a senior who doesn't leave in a year or two is then a much better situation. yes - assuming the senior also doesn't leave.
- nickff 5y agoThe problem is that nobody wants to pay you intermediate/senior salary for junior ability until you learn their field. More than that, even if you volunteer to take the pay cut, they may be afraid you'll jump ship quickly, or that it's just not worth the risk of doing something unconventional.
- colordrops 5y agoMost software positions at SpaceX, even those working on critical flight code, do not require aerospace knowledge. And SpaceX is not a great example as they hire a lot of interns and junior people willing to grind.
- exdsq 5y agoI find this insane and terrifying.
- dgrin91 5y agoThis is pretty standard in all industries. Most people who work at a bank aren't financial experts. Most people who work at a hospital aren't medical experts. Thats because most roles aren't the core of the business. Most are supporting the core. You don't need to be a flight engineer to build the system that tracks parts during manufacturing. You don't need to know how swaps work to build an order management system for traders. You don't need to know how to do surgery to build a scheduling system for the surgeons.
- OJFord 5y agoWhat do you work on, and how much prior domain experience did you have? (And if you did have some, was it necessary?) I currently work for an agtech company, the domain-specific stuff is just context for the generic numbers and equations, or a reason to choose one over the other, to the extent that I need it it suffices to have a colleague who's a domain (but not software) expert. You might say that's the other extreme, aerospace is different, but I don't really see that it is. I don't think anybody's claiming SpaceX doesn't have or need aerospace engineers, but once they've, idk, specified a formula for a parabola representing a flight path say (yes, I don't know what I'm talking about!) then the domain doesn't (needn't) matter to the software engineer implementing it.
- colordrops 5y agoFlight paths and what not are crafted by GNC engineers who hand them over to software engineers to implement. Really the only domain expertise needed in software is for space-grade fault tolerance, which is a couple people per vehicle.
- ren_engineer 5y agoseems like a chicken and egg problem how are senior engineers supposed to be created if very few companies are willing to train junior engineers? Why aren't these companies offering paid apprenticeships if they are so desperate for workers?
- jethro_tell 5y agoIn part because you have to jave enough sr people able to mentor. There's not a great industry framework. As a plumber, you pay your apprentice usually 60% sr/journyman salary with a 5% increase every 6 months to match the value of the skill up. There are also industry standard, industry funded classroom settings, that teach things like building codes and industry standards and some adjacent trade craft. Instead you just throw a Jr to an overworked mid/Sr and they can help with some design and questions and code review but that takes 10-20 hours per week so you have to pretty much have one or more per Jr. Position. Then, after 18 months when the Jr hasn't received a 15% pay raise to reflect the enormous amount of time an knowledge you've sucked out of a Sr position, they go elsewhere for a 20% raise and it looks like you've waisted your time. In truth, it wastes the talent you've built to not be aggressively increasing their comp to match the skill increase you're providing.
- gmadsen 5y agoone difference though is that varying levels of skill can be staggeringly different for SWE compared to a plumber. There are people that have been coding in basic since 12 and hacking their entire childhoods, and you have some people that coded for the first time in a cs program which they completed in an average fashion.
- ghaff 5y agoNot everyone is equally good of course but I would be very cautious about making hacking since 12 a requirement for a developer job. It certainly doesn't have its equivalent in any other branch of engineering or indeed just about anywhere else other than the arts.
- mamcx 5y ago> (hiring managers expect million-dollar candidates to accept $100-200k compensation). Wait, not even that. Even if you are senior you can get that job (because, for example, you are from another country and suddenly you are "cheap" even if senior).
- 908B64B197 5y ago> because, for example, you are from another country and suddenly you are "cheap" even if senior That's a red flag. Because we all know the top of the market, no matter where, is working at SV rates.
- NullInvictus 5y agoWorse, many firms are put off by juniors for entirely preventable reasons. In their minds, juniors are undesirable because the moment they are trained up, they tend to jump ship for senior positions elsewhere. Why train your competition, right? The reason they jump ship is because the firm refuses to re-evaluate them for what they are worth, and keeps them on work meant to free up the company's existing senior staff (i.e., dead-end grunt-work that results in burnout). If you, as a junior developer, want to be re-valued, you need to jump ship. This creates a feedback loop. Companies view juniors as a cheaper developer you _might_ get 2 years of low-cost work out of (after training) before they'll leave, creating a self fulfilling prophecy. I've watched (and experienced) this loop multiple times. It's utterly baffling how firms would rather go through the cost and drain of finding and replacing talent rather than re-evaluate and pay their existing, proven talent what they are worth on the open market. Workers would rather not move around. Workers would rather have a stable position in a job they like, in a community where they can purchase a home and build lives and/or families. Once you get past 35, playing the required musical-chairs needed to advance your career is a real drag. It does not need to be this way.
- cactus2093 5y ago> Workers would rather not move around. I really disagree. These junior engineers you're talking about are mostly in their early 20's (even if they're older and switching from a different career track, they're by definition new to the industry and still have a lot to learn). In my experience, they definitely do want to move around. And even if there is a great track for internal promotions and the compensation is going to be the same whether they stay or leave, it honestly is usually in their best interest to move around every couple of years anyway early in their career. They'll meet more new people to grow their professional network faster, work on new problems, see different ways of how teams operate and what works better/worse, and gain more experience faster. I do think that for the very top performers, most companies should probably be much more aggressive than they are. If someone is really crushing it, like in say the top 1-5% of performers, be ridiculously proactive and promote them from junior engineer to Staff Engineer within 18 months or something. I've seen a couple of people over my career that actually were performing at that level, and no external company is going to give them that big of a boost, so it's a good chance to use your inside information to be more competitive. Otherwise, for the majority of folks that are learning/advancing at a more normal pace, I don't think there's really much a company can do to keep them longer. (Not that you shouldn't even try, it's still a continuum and if you do a really bad job at career growth internally you'll lose even more people faster. But you shouldn't expect to be able to keep most people beyond 2-3 years).
- shados 5y ago> Very few firms want to hire juniors It's not that they don't want to hire juniors, it's that you need a solid ratio of mentors to mentees. I've worked at a LOT of companies, and for the more well known one, the ratio of junior resumes to seniors was easily 1000:1. We hired entire cohorts of juniors, often interviewing HUNDREDS of them in a couple of weeks, hiring dozens. That still meant that from all the resumes we got, only a few % made it through. What choice did we have though? We can only train mentors so fast, and hiring them is hard and expensive. You can't ask someone with 5 years of experience to train 30 people at the same time. People often underestimate just how many people are entering the field right now, vs how many were 10-20 years ago. Add in people who EXIT the field, as well as people who are poor fits to be mentors, and it gets really dicey.
- cratermoon 5y ago> "Senior Full Stack" Also why companies will hire someone with 3 years of experience into a senior position.
- trutannus 5y agoHad this happen to me at my first official dev job. Had 'junior developer' in bold at the top in my resume, application, and in several emails to the hiring manager. Got hired, and quit within 2 months. Manager would become upset at times over knowledge gaps I had as a result of being a junior, and the solution they came up with was for me to dedicate my weekends to unpaid, self-directed training. At some point I actually reminded the manager that I was a junior, which resulted in them acting shocked and saying something to the effect of "well, let's hope that's not the case", and was basically flat out told they have no time for a junior. This was the manager who interviewed me, read my resume, and recommended me for the position. I was replaced by a university undergrad student on summer break when I quit. I don't think people realize how the problem here often isn't you. Organizations with deep dysfunction are more common that you'd like. Happy ending though. Got a new position the week I quit, and all turned out well.
- bern4444 5y agoI take a different take here. Juniors write a lot of code. Often significant amounts for a company's products and services. They're the ones who are implementing all the decisions that seniors spend their time making in all their meetings. Most senior engineers I've seen have most of their days filled with meetings with very little actual coding time. The seniors are valuable, making decisions, coming up with solutions, building frameworks etc, but it's the juniors who then take that and run with it and build everything on top of it. So while some will still code, it's far less than what the junior engineers are creating. Yes they require some more training, and clear direction, but they are the ones actually creating and executing the vision of the company informed by the seniors. What companies really want, like others have said, are senior engineers who are willing to accept a junior salary.
- Hermitian909 5y agoWhile of course companies would love senior engineers willing to accept a junior salary I'd say > Most senior engineers I've seen have most of their days filled with meetings with very little actual coding time. Is actually a symptom of the shortage of senior engineers. Big companies that can afford to hire as much talent as they want actually will let seniors write code all day (my company does) because they have the economies of scale that lets them afford doing so; no one else can.
- 908B64B197 5y ago> This manifests inflated job vacancies because so many firms have an evergreen job posting for "Senior Full Stack". Because talent is scarce these roles rarely get filled (hiring managers expect million-dollar candidates to accept $100-200k compensation). At a lot of non-tech companies, the trick is to get hired as a consultant.
- ndesaulniers 5y ago> Very few firms want to hire juniors, while nearly all firms desire senior-level talent. Or many firms want to hire senior-level talent at junior-level prices.