Jonathan Stern

How to succeed as a junior engineer

I’ve told my CEO multiple times that if I were him I wouldn’t have hired me.

When I was hired, I had just graduated from a bootcamp and had only been coding for 30 weeks. I had never worked on a real world product, had never written a single line of Python, had no idea what middleware was (indeed, the term sort of scared me), and had never studied even the simplest of "algorithms". Relative to my classmates at the bootcamp, I admit I was pretty good. But compared to other engineers across the country, most of whom learned to code during college and had been doing it for years, I didn’t hold a torch.

A week before I started my job at Topline Pro, I emailed Replit’s CEO, Amjad Masad, and asked for advice. Here's what he said:

Two ways to prove yourself and make yourself indispensable:

  1. be incredibly productive and inventive -- which is really hard to do when you're starting out
  2. do the boring work that no one wants to do #2 is available for everyone, it just requires effort and discipline but no one does it, so I would suggest doing that. Incidentally, #2 can often lead to #1 in interesting ways.

Amjad’s advice has made all the difference. I’ve aimed every day to be the most productive engineer at the company and that, more than anything else, has set me apart. It’s enabled me to take on 2-3x the amount of work allocated to me during a sprint, and has allowed me to do fun stuff in my free time like build Boom Bot. If you’re an engineer at an early stage company, nothing is more valuable than productivity. By all means, aim for quality, but quantity actually matters more. As James Somers writes: "If there's something you want to do a lot of and get good at—like write, or fix bugs—you should try to do it faster. That doesn't mean be sloppy. But it does mean, push yourself to go faster than you think is healthy. That's because the task will come to cost less in your mind; it'll have a lower activation energy. So you'll do it more. And as you do it more (as long as you're doing it deliberately), you'll get better. Eventually you'll be both fast and good."

Two years into the job, I've been reflecting on Amjad's excellent advice. Here are three more things I would add:

#1 - Become great at styling. Really try to be the best on the team. Even senior engineers often struggle with styling (and oddly kind of look down on it), so if you're fast and reliable, it's a superpower.

#2 - Volunteer to take on projects that are daunting. For maximizing learning, there is no better recipe. Also, the more you do this, the more comfortable you’ll be taking on all of the prickliest projects. And every team needs someone willing to take on the hard stuff. These days, I always want to be the one to do it; I always want the ball in my hand for the last shot of the game.

#3 - Excel beyond coding. With the rise of GPT and (soon) AI agents, coding alone may not justify your being hired. As a junior engineer, aim to bring additional value to the table beyond coding. Be the best communicator on the team. Work insanely hard—so hard that it inspires the rest of the company. Build stuff for the sales team or the ops team in your free time, and make a dent on the company culture. A big dent.