No one wants to hire junior engineers. How do you become a senior engineer?

I got lucky. I’m a multiple time college drop-out turned tenured techie.

How does someone who didn’t get started when I got started, with all the privileges I had when I started, get into the world?

I don’t mean, “how do they learn to code?” or design, or manage projects, or whatever. Given some training and education, how do they enter the field?

I think about this a lot. I have done all kinds of mentoring, from over video game “ugh, that sucks dude” consulting all the way to actual one-on-one mentoring, mock interviewing, pair programming, training sessions, etc.

There’s one subset I can’t help: People who have graduated school or boot camps, know how to do things in one or two languages or frameworks, and want to get started actually doing the work.

I can’t help them since I can’t help fix two needs:

  • Attaining real context-specific work experience. People who don’t have real jobs don’t have real work work experience.
    Some people focus on developing side projects as a way to help attack this, but unless they really finish and release the side project it’s a waste. I send a lot of people this link.
  • Half decent companies willing to hire junior talent. Programmers, designers, product managers, anyone. In a non-toxic environment.

The first one is just one of life’s gut punches. When people are looking for Python developers who also have experience scaling Django on AWS, unless you’ve really done that on your own personal side projects you won’t match that requirement.

That’s why you can’t only apply to jobs where you fill out every checklist on their buzzwords bullet points.

You have to be okay with lots of rejections from applications though, because here’s where the second thing comes in.

Junior Talent: Here’s the cruel joke, the secret.

There’s not a lot of companies hiring junior talent. It makes sense, companies want to find the best use of their money and that will typically be someone who can wear multiple hats and do multiple things well without needing hand-holding.

Companies like to default to the easy thing, the thing everyone else is doing, the thing they’re already doing. They don’t like trying out hard stuff.

But, what’s the point of teaching everyone to code and convincing people to pay money to attend your boot camp if there’s no where non soul-crushing for them to work afterwards?

To be honest with you, the prevalence of tech boot camps seems like a fucking scam to me.

I used to tell all my junior and capable but not self-assure friends to apply to Etsy. Not my company because my company tends to hire senior everything.

I don’t know if it’s still true, but a few years back I was told Etsy isn’t hiring junior people anymore, from a friend who was no longer junior but started there as junior talent.

She lamented, “but someone has to hire the juniors, how else will they grow?!”

Companies: Here’s how to do it right, spend less time trying to hire, and make more money.

I wish there were companies that had similar ethos to companies I work at and would want to work at, doing what I do as a senior engineer.

Places where you can go home at 5 PM because that’s how we do things around here.

The magical missing ingredient is adding in dedicated time to help train new junior talent during the 40 hours of the real job.

I really don’t see a downside from any perspective. The junior engineer gets a place to focus on growing and contributing, which helps them feel validated and gain confidence in their skill set.

The “top tier” or senior level or whatever contributors in the company lose a bit of efficiency by reducing their personal output to focus on training the fresh talent. That’s fine, do they have to always be at 100% output?

Trust me, it feels great to help someone learn something.

And it reduces the bus factor. And you get more people’s opinions when building something new, which is a good thing. And you can say “okay, you do this” and really trust that they’ll do it as you would’ve done it, because you helped them learn how to do it last time!

A big fear is “what if I invest time helping someone get better at their job and they leave as soon as their time becomes worth it?”.

At a previous start-up, I was added into the “hiring committee” (aka every single person in the start-up helping decide) for a new engineer.

We had one candidate a few people loved, but one person said “what if we hire him and he joins but leaves us in 18 months?” — An exec immediately said “Then we’ve gotten 18 months of good work from him and we hire someone else.”

Okay. So if I’ve sold you on the idea, I think this is pretty simple. We can do this.

It can be a company (preferably multiple, in different fields!) that is self-funded, or a contracting firm, or an agency. I think VC money would taint the purity just like it does everything but, maybe.

Here’s the game plan:

  • We hire young, old, diverse junior talent. Engineers, designers, product managers.
  • We openly advertise that we do this, and we openly advertise that we invest time in training new employees and current employees. Applications pour in.
  • We train and retrain during work hours. Lectures, 1-on-1 mentoring, pair programming, self-selected topics group reading sessions, breakout groups with listservs, etc.
  • All the training goes hand in hand with doing our real job. Hopefully the training is generic-ized form of the application being developed or created.
  • One thing I’ve noticed helps more than you’d expect is roundtable discussions. If you can get two smart people in a room and let junior people say “How do you think we should do ${X}”, letting the two people lead an argument the rest of the room can join in on is very engrossing and educative. You can record these sessions and reuse them.
  • We ensure that salary inflation isn’t a thing at our company. Salary inflation is when someone’s job responsibilities grow alongside their skill set or merely the company’s size, but their salary doesn’t grow in proportion. It sucks for the employee. They have no leverage to say “if I quit and you tried to replace me, you’d need to pay them 2x more”.
  • We read a lot. On how to make a good place for people to work and thrive. If we have a great place to work, people won’t leave, so it makes sense to invest in the people.

That’s it.

I want to start my own attempt at this right now but I need to save up lots of money first to be able to pay myself and others. Maybe in 3–5 years if the world isn’t in flames.

Meanwhile, know any companies that are like this? Where should I send my friends who are looking for work?

I know so many smart talented people who have tried tech as a way to make money then ran far away. Should we be trying to keep them, or are they the smart ones?

Further Reading