True cost of recruiting a developer [infographic]
devskiller.com
devskiller.com
I gave up reading the article because I shot past the paragraph a bunch of times.
Instead, why not just devote that $33K to a training program for a duration of roughly 43 days? Now you have the skills you were missing with the bonus of added loyalty and lower risk at no additional cost (money and time that would have been spent anyways). You also get a massive productivity boost for free according to Brook's Law. The only cost is that an external candidate might (or might not) have a diversity of skills your company doesn't provide.
(1) If you are not working on a greenfield project, it takes some time for the new hire to get up to speed. During that time, their productivity is negative: They are not really productive yet, and they need help from everyone else on the team.
(2) If you add people to a mature team (or remove people), the team dynamics change completely and the team might need several months to get back to their previous performance again (##).
So, hiring a new developer can cost you several tens of thousands of dollars / euros even after you already hired them. Training your existing developers can make sense here - They get a productivity boost sooner. And, when I teach inhouse-trainings, I always have a feeling that people are more motivated to do their job after the training, even when they cannot immediately use what they have learned: It matters to them that their employer cares about them and their technical excellence.
Still it often makes sense: Some times, you just don't have enough people for your long term plans. But don't expect too much too early.
(#) Adding people to a late software project makes it later / You cannot get a baby in one month by hiring a team of nine women.
(##) I collected some data about this when I was an agile coach for two teams at a large company. We added 2 developers, productivity dropped, needed ~6 months to become reliably higher than before adding the developers. Unfortunately, I cannot share the data. Also, I guess this was an extreme case: Complicated legacy system.
We were simply looking at the number of features delivered to the customer in a certain amount of time, number of defects found in production and number of critical defects found immediately after roll-out (a.k.a. hot-fixes). We adjusted for holidays, vacations and sick leaves.
Those numbers were relatively stable until we changed the team, then dropped, and it took quite a while to reliably get to higher levels than before.
(#) I don't think the team cheated, because if they had, they could have easily cheated the numbers in a way that they'd steadily rise.
That could be a reflection on a number of things, most notably the code quality. If your new hires are taking a while to get up to speed (you didn't specify how long) then that's also an indication of either quality or doing something quite different.
Devs: That would be a setting on your device, we can't control that without some terrible hacks.
PM: I don't understand any of that, just make it work how I said.
FTFY
Could we please stop perpetuating this myth? If there really was a shortage, companies would fall over each other trying to hire anyone they could, not make it almost impossible to get hired by imposing ridiculous and long interview processes.
If you're going to make that claim it would be helpful to cite a source or two. Would also be nice to know how much it "exceeds most of other industries", if the average wage growth is 3% but it's 3.1% for us that's not very meaningful.
This doesn't follow. Gold is a scarce resource. This doesn't mean that gold purchasers should stop using assays to determine if they are buying gold or pyrite.
Of course some of the interview processes are ridicilous, but after seeing the world from the other side of the table I understand where they are coming from.
Unless increasing wages don't directly cause supply to increase overnight.
This problem is made worse by the lack of investment in training once hired, as some are discussing in these comments. Companies become even more reliant on the hiring process to produce the perfect candidate, and employed people are encouraged to stagnate their skills which dwindles the talent pool further.
Most companies, in my own personal experience, do fall over themselves to hire proven great candidates right now. Update your linkedin with some engineering accomplishments in in-demand fields like devops, cloud infrastructure, or machine learning, or at well known companies and watch the recruiters circle like sharks in heat.
It's really an incomplete picture when you don't look at the cost of churn at the same time.
1) Make sure you are networking and social, budget time for this. It's good for team moral to get people out of the office anyway. Sponsor some talks / Meetup groups, host some public lunch and learns, get booths at career fairs... just get your folks out to meet people. Is there a cost? Yes, but as being proactively social becomes part of company culture you get a ton of benefits... more applicants, more partnership opportunities, better informed and educated staff, more confident staff if you give them more opportunities for showing their knowledge / public speaking / leadership...
2) Get better screening questions. I've hired a ton of developers for clients, I have 4-5 questions on my screen. I use a web form (you can even use a Google Form) that takes maybe 5 minutes for the person to write a few paragraphs for the responses. A fast no is good at this stage -- it's more about getting to a reason to ding the candidate at this point than a reason to hire them. Don't waste the candidates time asking them to re-type their resume, those systems are really stupid and turn off qualified candidates.
3) Get better at phone screens. I jump right in, I don't normally budget more than 5-10 minutes for a phone screen. Either they've got the skills, have confidence, and communication ability -- or they don't. If an employee sent them in as a referral, they always get to skip the phone screen and I just do a scheduling call to set up a time for them to come in. Always a good idea to respect your employee referrals. (Make sure you are paying a generous bonus for referrals.)
4) Given it takes ~20k to hire another dev, when you get the right candidate don't fret on salary. If they said they were looking for $125k, offer them $127k... easy easy way to come off strong out the gate with them. Understand that if you have a shitty health plan, people with kids and families aren't going to want to work for you -- the cost of skimping on your dental plan in terms what it does to employee turnover is staggering. "Stitch in time to save nine" type stuff right there. Understand that if you don't have 401k matching... you aren't a real company and your offers won't be competitive just because you have sodas and a foosball table in the break room. Get all your shit in order to reduce on-boarding speed-bumps, your employees can work other places and showing you care about them is a great way to retain them.
5) Spend money educating your staff. Do you need to hire for the position, or can someone you have cover it with a bit more training? Make sure employees have a training budget, make sure they are discouraged from not using it, make sure they are getting value from the training they take -- having them do summary lunch and learns for the company is a great way to spread the knowledge. And you never know who's going to be interested and what that will lead to... had an accountant show up for a talk on SEO... a year later she was running the analytics department at the agency. People can pivot, and you can benefit from that if your structure allows for personal growth.
I'm currently experiencing a softer version of this pattern as top management treats the very small team of a promising product as the future of the company, and the people and customers providing 98% of revenue as legacy.