Live data from Hacker News

Ask HN: Why not more hiring of junior devs, then on-the-job-training?

news.ycombinator.com

81–90 of 495 posts

Re: Ask HN: Why not more hiring of junior devs, then on-the-job-training?

#81

One of the reasons that I saw, is that training is very expensive for the company (both in terms of money, opportunity cost, time of other people, etc) which combined with people changing jobs often produces low, or negative ROI. By the time person is trained, they leave, before they start to meaningfully contribute. More experienced folks also change jobs often, but you have higher chance of getting some productive…

In my opinion everyone company likes to only benefit from experiences earned elsewhere but never like to provide folks a place to earn the same in their company. This is very unfortunate, I also see the same issue when someone is trying to even make lateral movement from one expertise to another. (Like backend to front end.) This whole process is a very lazy and unproductive way to hire. I have been thinking about an alternate approach. Where folks spend their own time to learn and build something in the common forum along in a team. Teammates can rate them, code can be available in open repo. That way folks can prove their skill outside their job and job interviews. Like I proved that I can build mobile app once and anyone can recruit me instead of starting from clean slate job interviews every single time.

Re: Ask HN: Why not more hiring of junior devs, then on-the-job-training?

#82
post #60

False premise. There is no shortage of devs. That has been a complete fabrication, made up entirely by big tech companies, in a propaganda push to promote more and more people getting into CS. It's entirely so they can pay developers less.

Depends where, the world is not USA Europe has a real shortage in some countries

This isn't reflected in the wages which are terrible in Europe compared to the US.

Re: Ask HN: Why not more hiring of junior devs, then on-the-job-training?

#83
We certainly hire junior engineers at my startup - we have about 50/50 "people who need some training"/"people are contributing at 100%". That said, at a startup, it is some drag on the build/test in the market cycle, so I feel like we're "weird".

We certainly are hiring, just not in front end - looking for backend engineers and applied cryptographers/security folks. I'd be happy to look at your CV though!

Re: Ask HN: Why not more hiring of junior devs, then on-the-job-training?

#84
post #77

One of the reasons that I saw, is that training is very expensive for the company (both in terms of money, opportunity cost, time of other people, etc) which combined with people changing jobs often produces low, or negative ROI. By the time person is trained, they leave, before they start to meaningfully contribute. More experienced folks also change jobs often, but you have higher chance of getting some productive…

Oftentimes if the company is a USA startup, none of the experienced engineers have time to train or even mentor junior devs. A lot of startups want people who are "10x programmers" (however ridiculous that notion might be) or maybe it's less sarcastic to describe them as new hires that don't need any guidance or input, and will achieve maximum productivity after a short time adjusting to the new environment/toolset/w…

At the same time, these startups find it difficult to hire people especially when they have money but hiring is expensive in terms of time for a small startup team. This must be changed for the benefit of all involved - job seekers, company.

Re: Ask HN: Why not more hiring of junior devs, then on-the-job-training?

#85
post #9

This might be an unpopular opinion, but I would expect that each newly hired developer (be it junior, mid-level, senior) can and will take time to do train and improve him/herself. I don't mind this being on job time, as long it is not all day. Most times this is even required when doing a task, because no one knows everything, even with X+ years of experience. If this mindset is not there and a newly hired developer…

Absolutely agreed. What's implicit here is the risk that somebody just won't work out. I once invested a huge amount of effort trying to train a junior dev and after 3 months he still didn't "get it". Not only was he unproductive but I was basically operating at half capacity for those three months. It was a huge exercise in frustration and something I will never attempt again.

Re: Ask HN: Why not more hiring of junior devs, then on-the-job-training?

#87
Never call yourself "junior", forget those "internship" jobs also. Just jump in and be a dev. Nobody will hire you if you call yourself unexperienced, but they will hire you if you solve problems and you can deliver the homework in good quality. So just be a normal dev. ;)

Re: Ask HN: Why not more hiring of junior devs, then on-the-job-training?

#88
I agree with you that there seems to be an industry bias towards more experienced developers, and I think it’s to everyone’s detriment. Our team recently took an someone with 0 experience, who worked their way into a role with us from a business team we interfaced with. We had a strong team to begin with but we were all pretty senior so none of us were really actively mentoring. By adding someone with little experience it’s really rounded out the skill set of the whole team.

Re: Ask HN: Why not more hiring of junior devs, then on-the-job-training?

#89
post #57
post #54

EDIT: to people emailing me (thanks!), I am currently on PTO overseas so I will respond, but maybe not super timely. Also, we're looking for our first QA and our first DevOps role if non-SEs are reading... If you're willing to work in Texas, send me an email (check my profile). We absolutely do not mind if you have gaps. semi-OT: To all people in this thread who say there is no shortage of developers: if you know any…

I am just curious, why do you need to test somone's ability to find max of a list. Language designers have recognized this as a basic utility and incorporated them into the language. Is the hypothesis that - if someone cannot write a simple algo to find the max of a list then what other difficult tasks he/she can perform ? Even though in reality we all understand no one needs to write a max algorithm.

We use such things too, it's exactly to test if someone is at least in general able to code. Surprisingly often there seem to be candidates which look good on paper and talk like that but are unable to perform such toy coding tasks.

Even if you usually would use a library function, finding the max of a list or similar problems are still sufficiently simple tasks which every programmer should be able to perform. It's straightforward and not about remembering some complicated algorithm from some CS class years ago nobody ever implements themselves.

Re: Ask HN: Why not more hiring of junior devs, then on-the-job-training?

#90
The problem with hiring junior developers is risk. They could be junior because of incompetence or wrong attitude opposed to just lacking necessary experience. When hiring a junior you are hedging either competence or experience against expenses and hoping for potential. Potential is the magical ingredient and its hard to recognize before hiring somebody, which is why this is risky.

Conversely hiring really good seniors saves the company money even if a good senior is really expensive. A good senior can probably do the work of 4 junior developers while also introducing code that demands less maintenance into the future, which pay dividends over time.

What I see from some juniors who spoil it for everybody else is immaturity and unrealistic expectations. A hiring company is there to provide you compensation for work. They aren't there to satisfy some emotional fantasy or other self-serving justification.

Because there is greater risk in hiring juniors demand for juniors is lower and there are more juniors competing for those fewer positions.

---

With all of that said above, the goal isn't to get a better junior job, but rather become a senior. Here is how I did it.

First of all I didn't want to be a developer. Travelocity couldn't hire competent front-end developers. It's like they didn't exist. The company saw potential in me and involuntarily relocated me into a developer position. If I wanted to stay employed I had to figure it out. I sucked really bad a first and felt like I was struggling in a vacuum.

After about a year of this my military job needed me to perform security assessments in Afghanistan. You have a tremendous amount of available time on military deployments. Just before deploying I started a personal project, which I continue to work on today nearly a decade later. This little code beautification project kept me busy and it forced me into deep learning of complex algorithms.

When you are deployed in a combat zone you have to be self-sufficient. You don't often have internet. At the time I was writing code on a small netbook with 16gb total storage, because it was durable and portable. I didn't carry around a bunch of unnecessary tooling. You simply learn to do more with less.

Once I got back to Travelocity I discovered I had surpassed some of my peers in problem solving and code proficiency. I was coding all the time even when I didn't have to. I had found every little bit of proficiency I had gained in personal practice allowed me to work faster which then allowed me to become that much more proficient like an accelerating force.

The primary distinguishing factor between seniors and juniors to me is self-sufficiency, predictability, and simplicity. I find juniors tend to spend most of their time living in frameworks, dependency nonsense, tooling, and configurations. These external things distract from predictability and simplicity. They certainly don't benefit self-sufficiency.

Post reply on HN