Finding your second engineering role

A contrarian view

Sam Bhagwat
5 min readNov 3, 2014

I’d been a backend engineer at Boingo Wireless for about a year when I learned that they were moving my position from SF down to LA.

The next three weeks were a maelstrom of interviews, culminating in me accepting an offer from Zenefits.

Along the way, I noticed a few ways in which my second engineering job search was fundamentally different than my first.

First, you’ll receive 3-4x as much interest from potential employers if you’re smart about it.

Second, you will have the experience to find out whether an potential employer has a good engineering culture if you ask the right questions.

I’ll take you through how to optimize at each stage: Search, Presentation, and Selection.

Search

While a breadth-first search can tend to be time-intensive, you need to pound the pavement.

The biggest mistake most new-ish engineers make when they start to feel limited in their role is to passively wait, maybe sending an email to a friend here and there.

This is bad on a number of levels.

First, there are so many different types of opportunities right now — unless you interview around, you’ll have a very limited view of them.

(A bit later in this post, I talk about questions you can ask to get a better idea of what a job will actually look like, day-to-day.)

Second, having more leads will not only make you feel more confident, it will make you look better to the companies you interview with. They’ll be more likely to make you an offer, and do so on better terms.

Hit all the job channels you can:

  • Pepper your LinkedIn profile with keywords (Python developer, MySQL database, etc) and wait for inbound recruiters.
  • Reach out to recruiters — especially those who contacted you in the last couple of years when you weren’t interested.
  • Post your resume to job boards and let recruiters call you.
  • Apply to online job postings (you should outsource this part)
  • Talk to your friends
  • Use specialty sites (Hired.com, AngelList Jobs)
  • Hacker News Who’s Hiring / Wants to be Hired

Each of these has its unique set of tradeoffs.

  • Posting your profile at Hired.com has one of the highest returns on time.
  • HN and AngelList outreach will get results fast, but is targeted to a very specific demographic — seed / Series A startups — with specific pros and cons we’ll discuss later.
  • Sure, recruiters get a bad rap because of their persistent messaging; but they also use that towards hiring managers on your behalf. An engineer in the Bay Area can easily get 40 hours/week of interviews through recruiters; one friend, a JS developer with several years experience, posted his resume on Dice and was contacted by twenty recruiters.
    I prefer large firms (ExpanXion, Jobspring, HireUp); your contact will pass your resume around to all of her colleagues. Here is my list of good ones. Keep in mind recruiters rarely service companies with brand recognition; don’t expect to get an interview with Facebook or Twitter this way.
Search     Wks   Recruiters  Phone Screens On-sites Offers                         1st job       13          12           6            2        1                                             2nd job        3          18           5            2 (3)    1 (2)
  • Online job applications are a neglected category — it’s a timesuck…unless you hack the process by outsourcing. $100 and an hour of setup got me 7 phone screens:
Search    Apps    Phone Screens     On-sites     Offers                                           1st job      450             8                  3            1               2nd job       90             7                 (3)          (2)

Presentation

This tends to be a bit of a stumbling block for engineers. Here are some of my tips & tricks:

  • Penelope Trunk has the best overview of your resume. tl;dr: “Don’t focus on your responsibilities, focus on what you achieved.”
  • Be prepared for “so what have you worked on?” write blog posts on your key projects. You’ll find it much easier to talk through these on phone screens when you’ve refined your thinking first.
  • Whether you have a CS background or you’re self-taught, you should present your story in an inverted pyramid. Start with the most recent important thing you’ve done, and move back from there. Otherwise your interviewers will discount your tech experience and see you as a new grad or tech n00b.
  • If you find yourself stumbling, practice behavioral and technical questions in front of a friend, camera, whiteboard, or text editor. Crack open Cracking the Coding Interview; sign up for technical interview practice at Interviewing.io; rehearse your responses on-camera at Mindsumo. (you need to create an account; if you don’t have a .edu email, just invent one)
  • Never discount social proof. You come across as a more attractive candidate if you subtly reference other places you’ve interviewed.

Selection

If you’ve cast your net effectively and pitched yourself well, you should have a lot of interested parties. Now, you need to filter them.

As you move into on-site interviews, it’s important to (1) understand the tradeoffs between potential organization sizes and (2) know the right questions to ask.

The most important universal factor in engineering organizations is size — it determines where you would fall on the project quality vs. scope tradeoff.

The upside to joining Facebook or Twitter is that the engineering culture will teach you how to build well. The upside to joining a midstage startup is that you’ll work on a lot of different stuff that gets deployed.

And, unless you are interviewing with Facebook or Twitter, you need to able to judge the quality of the engineering team. Startup engineering orgs have a high variance, ranging from excellent to abysmal.

The key is to ask the right questions, in four categories:

  • Engineering talent. Are the other engineers smart? experienced? will you learn a lot by being around them?
  • Engineering processes. Edmund Lau has written an authoritative post on this topic; drill your interviewers on it.
  • Outward-facing processes — how do the engineers interact with the non-engineers in the organization?
  • Overall business trajectory. A rising tide lifts all ships, and vice versa.

Engineers typically judge by #1, sometimes #2 and #4, not enough #3.

Here are some questions to get you started; in an interview setting, it’s most useful to ask open-ended questions rather than simple yes/nos, and ask to be walked through processes.

For example, don’t ask whether someone has code review or testing (‘of course we do!’), ask what happens between when code is finished and it gets deployed.

Don’t ask when people get in and leave, ask them to walk you through a day in the life.

It’s vital that you buttonhole your interviewers.

During your first job search, while you could probably judge your interviewers’ smarts and programming experience, you likely didn’t have the experience to buttonhole them on organizational competence.

That’s not true anymore.

Joining a badly-run organization won’t just create day-to-day frustration, it will stunt your career. Your best colleagues will leave — people you’d want to start companies with down the road. And because you won’t see a well-run engineering team, you won’t learn how to lead one.

Reach out to experienced engineers you know; run them through your thoughts on each company; ask for feedback. Ask if there are any questions you should have asked but didn’t.

PS: I ended up joining the team at Zenefits. We have a rapidly-growing business, a really good engineering team, and a pretty neat mission. We’re also hiring, so if you’re interested drop me a line at calcsam _at_ gmail.com and I’d be happy to chat more.

--

--

Sam Bhagwat

Econ nerd turned programmer. Currently software engineer at Plangrid. Contact me at calcsam _at_ gmail.com