Live data from Hacker News

Great developers are raised, not hired

sizovs.net

61–70 of 341 posts

Re: Great developers are raised, not hired

#61

I officially mentored someone at my previous company and helped him move from a support tech role into a software dev position. It was incredibly rewarding. But to play devil's advocate for a moment, isn't there something of a natural disincentive to level up one's employees in such a tight labor market? To follow the author's analogy, by mentoring someone, we're effectively "adding a fish" to the pond, and if someon…

>To follow the author's analogy, by mentoring someone, we're effectively "adding a fish" to the pond, and if someone else "catches" the fish, that effort is largely wasted. Even more curious is that IT culture is basically that if you want to get paid what you're worth, you have to quit and go to another company. So these companies put all this effort into raising a better developer, and then refuse to pay them what…

Currently switching jobs for a personal record 57% increase in total compensation.

And I was NOT poorly compensated before. I was already in the 99th percentile for individual income.

The harder I push on comp the more I get each time.

I am not going to lie and say that it didn't take years to build to this point in terms of skill, work record, professional network, and interview ability. It took three FAANG companies bidding against each other.

Meanwhile I get offered nothing in terms of growth from every employer I have ever worked for ever. Literally never happened my entire career. Just this time after I already had an undisclosed offer in hand I got a promotion with no meaningful compensation increase. It was the first promotion of my 15 year career!

Sure they were willing to match, but who wants to try and soak blood from a stone.

Re: Great developers are raised, not hired

#62
post #6
post #4

I have never seen a single company/startup place a job posting for a junior position, (lucky if they even say training) Last time I checked, everyone wants to look for a senior developer with 5+ years of experience. It's some sort of hidden bonus if you're from a FAANG company as well. I'm guessing everyone wants to be the next Google, Facebook, Amazon, Netflix or Uber.

so they do want junior developers. They’re just giving them the “senior” title ridiculously early in their careers. What no one REALLY wants are ENTRY LEVEL developers, who tend to be a net negative to productivity for roughly the first year or two.

Every new grad, intern I've worked with has done an amazing job hitting the ground running. They're not ready for "here's a big problem, please dream up a solution and get it out the door", but with reasonably laid out tasks they do a fantastic job working out the code and improving their technical chops along the way.

Juniors who are eager to learn are my favorite employees

Re: Great developers are raised, not hired

#63
post #42

Earlier quoted context omitted.

IMO that devil's advocate argument is incorrect. There is no trap in working to increase an employee's skills. If you train someone at work and level them up-- they're not in class 8 hours a day not contributing. They are working on a project. All software mentorship is based around the idea of growing skills while meaningfully contributing to a project. Actually it's much harder to train someone without a project. I…

> There is no trap in working to increase an employee's skills. There's absolutely a trap if the now bigger fish stays in your pond for a while and the even bigger management shark decides you can be replaced by him for much less money. As I detail in another subthread in this discussion. Given the near absolute absence, at least in the US, of rewarding employees who have become much more valuable because of the expe…

It sounds like we've just had really different workplace experiences in software.

I've never seen a scenario where a trained employee replaces a more senior one. I'm not saying it doesn't happen, but it's just not something I've seen in my career (e-commerce, a food delivery startup gone global and now a consultancy).

Also, I've seen people take jobs that promise mentorship multiple times. I've seen multiple people take entry level apprenticeships that offer rigorous software development training. I've also seen multiple mid and senior level devs leave for jobs that offer meaningful mentorship in management and offer clear career growth options.

So I guess it really just comes down to this: mentoring others can be a trap if the industry or company makes it a trap. It's up to a company to embrace mentorship and training and ensure it works for both mentor and mentee.

Re: Great developers are raised, not hired

#64
post #30

I officially mentored someone at my previous company and helped him move from a support tech role into a software dev position. It was incredibly rewarding. But to play devil's advocate for a moment, isn't there something of a natural disincentive to level up one's employees in such a tight labor market? To follow the author's analogy, by mentoring someone, we're effectively "adding a fish" to the pond, and if someon…

I've worked for enough crappy managers that I know how much that affects my job satisfaction and work-life balance. I'm at a point where I'd probably (and, currently do) sacrifice 10-15% of my salary just to work for someone who is respectful and interested in my development and wellbeing. I'd bet others are like me, and if you truly mentor and develop someone, you won't need to pay Netflix-level salaries to retain t…

This. I stay at my current work because of this.

Re: Great developers are raised, not hired

#65

Earlier quoted context omitted.

>To follow the author's analogy, by mentoring someone, we're effectively "adding a fish" to the pond, and if someone else "catches" the fish, that effort is largely wasted. Even more curious is that IT culture is basically that if you want to get paid what you're worth, you have to quit and go to another company. So these companies put all this effort into raising a better developer, and then refuse to pay them what…

Currently switching jobs for a personal record 57% increase in total compensation. And I was NOT poorly compensated before. I was already in the 99th percentile for individual income. The harder I push on comp the more I get each time. I am not going to lie and say that it didn't take years to build to this point in terms of skill, work record, professional network, and interview ability. It took three FAANG companie…

> Sure they were willing to match, but who wants to try and soak blood from a stone.

I've never tried it myself, but it's supposed to be common knowledge that perhaps more than half the time a company is forced into granting you a raise to match an offer you have in hand, they're only doing it long enough to arrange replacing you. There are certainly many reported exceptions to this, but why take a chance with a company that's already shown they don't respect you?

Re: Great developers are raised, not hired

#66
post #52

At what size of company does this pay off? My experience of hiring juniors is generally that they are net negatives to productivity for quite a while, and the smaller the company, the more significant the impact of that is. How do people here go about mitigating that?

Don't have proven techniques, but have been toying with an idea I'd like to try the next time I have the chance.

Have been thinking of starting a "farm team" to develop green programmers. Have a meetup once or twice a week, work on a focused project together, do mutual code review. Read the classics (e.g. the MMM) as homework.

Perhaps give out some Amazon gift cards for good work. When a participant levels up, move them to a paid role.

Re: Great developers are raised, not hired

#67

I have, to some degree, given up trying to hire senior developers. Instead, I'm doubling down on the internal training programme (and have hired extra juniors). 5% of time is set aside for training. Works out a little over a half-day every fortnight - every fortnight, after lunch on Friday, drop the code and hit the books, pet projects, videos, experiments, whatever clearly makes you a better software engineer. If yo…

This is great, but only when you've already got enough knowledge and experience within the organisation to enable it. That's where you really need to hire senior developers. Trying to grow a team of juniors into a team of seniors without enough guidance, grows teams of expert beginners, which is way worse for both the team and the organisation in the long run. You won't be able to hire or retain seniors in that sort…

That's a good point. One of the places I worked hired a ton of juniors and placed them under "senior" team leads, but the leads were too few, not exactly all-stars, and code quality was all over the place. I tried to have a positive influence on some of the eager new hires, with varying success (mostly because I wasn't very senior either, just a little further along than they were).

Eventually the environment became frustrating enough that I had to move on. Great people, really friendly environment, and even a product I believed in, but it felt so bad to keep having to read through awful, giant, bug-ridden code reviews with the same old rookie mistakes. I only had enough influence within my own team to slow the rate of bad code entering master, but it still came alarmingly fast. I think nobody from my team is still at that company. I really hope management has turned it around since.

Re: Great developers are raised, not hired

#68
The title is a bit hyperbolic, since obviously we sometimes hire great developers, but I agree that a focus on mentorship and growing engineers is critical.

There are simply many more new engineers than there are senior ones, and high quality teams are able to get much better productivity out of these junior people because they're better at teaching them. I see a bunch of people in this thread suggesting that their new developers are often a drain on productivity for a year or two. This suggests to me that their teams are not very good at training.

I've hired and managed quite a few junior engineers, and I've generally been successful at turning them into productive members of the team within a couple of months (or even a few weeks when I'm lucky and the person is very strong). I think perhaps the most important ingredient is to trust them, and to encourage measured risk taking. They need to feel safe to explore and make mistakes, and you need to have a robust safety net (via CRs, unit tests, integration tests, etc...) so that it doesn't cause customer impact. I'm a big fan of giving new developers real tasks almost immediately; treat them like professionals and I find that they tend to start acting like professionals.

People who don't feel safe don't learn well. You need to develop a culture of it being okay to ask questions, okay not to know things, and okay to make mistakes. If this culture is missing then you're going to fail to grow people into great developers.

Re: Great developers are raised, not hired

#69
post #43

Earlier quoted context omitted.

> I haven't seen too many people grow... Are they allowed to? Are they mentored? It's not just one sided.

In my experience, as a mentor: Quite a lot of people are certainly capable of growing, but many (most?) aren't. Either they aren't capable, or they don't feel like it. Luckily you can almost always tell from the get-go who will grow and who will stagnate.

Are they given time during normal work hours to grow? Are they given adequate assistance and resources? Is training a priority?

I've run into two different situations in my work life: a) You should learn new tech and keep up, but it's all on you, your own time and discretion (outside of work). It was expected to do project work 100% of the time on the job. b) It's expected for you to learn and grow and we will help you get there. $ for training/conferences. It's expected that you will spend a decent amount of time out of your 40 hr work week improving yourself and learning new tech.

In situation A, I would have been (I was!) labelled as someone who lacked the will. It was hard to put in a full day and do more at home, learning new stuff. I still did it, but it was difficult. I was burnt out by the time I left that job.

In situation B, I feel like I can live a normal life. I can learn, do my projects (I'm more productive), and go home at night and enjoy my time off and weekends. I feel like a normal person living their life.

Work/life balance is highly underrated.

Re: Great developers are raised, not hired

#70
post #4

I have never seen a single company/startup place a job posting for a junior position, (lucky if they even say training) Last time I checked, everyone wants to look for a senior developer with 5+ years of experience. It's some sort of hidden bonus if you're from a FAANG company as well. I'm guessing everyone wants to be the next Google, Facebook, Amazon, Netflix or Uber.

That would be the case if one read such postings literally.

It is best to disregard the bullshit in job postings and just apply if you can demonstrate some proficiency with some key skills. Or better, make contact with someone in the organization before applying.

It's not about meeting the job description. It's about being better a better choice than the competition.

Post reply on HN