
Engineering a New Job: Part 2 - The Hiring Process
A practical guide on finding & thriving on a new engineering role
I’ve been working as a Software Engineer since 2015. I’ve had 7 full time jobs (plus a few more role changes), contributed to 12+ companies, and interviewed for many many more in my ~10 year career so far. Anecdotally, this is a higher-than-average rate of job changes, even for the software industry. As a result, I’ve acquired a good amount of experience finding, starting, and thriving in a new role.
In this 3-part series - Engineering a New Job, I share my personal approach to job changes - not only finding a new role, but making it a success.
In Part 1, I talked about the search & preparation. This second part focuses on the hiring process - how I gather all the information I need to make a decision. Onboarding will be covered in Part 3.
Being evaluated
The classic part of the interview is when the interviewers evaluate me for the role. There is already so much literature on how to prepare for technical as well as behavioral interviews, so I will not focus on it here.
Evaluating the employer
Instead, I’ve found it equally, if not more, important to find out as much about the company as possible, so that I can feel confident in my decision to join (or not join), if I’m in the position to do so. Here is a list of questions I try to find answers to before I sign an offer (some questions are more applicable to start-ups than others).
Overall Company
Is this company/role within the parameters of what I’m looking for as I’ve set out in my preparation (e.g. in terms of its size, age, funding stage, industry, tech stack, location)?
How is the company doing financially: how many rounds of funding and how much has it raised? How are the metrics looking (e.g. revenue, runway, burn rate, burn multiple)?
What are the current plans for growth (e.g. revenue, user, product, head count)?
Product & Distribution
What are the products/services the company is building? How big is the total addressable market? What does the competitive landscape look like?
How do the products/services generate revenue? What does unit economics look like? How much is a typical customer’s lifetime value?
How are customers acquired? How much does it cost to acquire a customer? Are there sales processes involved? If so, how long is the sales cycle and what is the typical/largest deal size? Do we do customizations for special customers?
Culture
How are individual performance evaluated?
What is one thing that is common in the industry but is not done here, and vice versa?
How are project/strategy/personnel decisions typically made?
What were some common reasons why someone has left the team?
Team/Role
What’s the background of the leadership team? Have they done similar jobs in the past? How experienced and/or motivated are they?
Who’s the manager I’ll be reporting to? When/Why did they join? What’s their style and approach to management?
How big is the team I’ll be on? How big is it planning to be in 6 or 12 months? What’s the distribution of background & experiences of the people on this team?
What are the most important qualities needed to be successful in this role?
How does this team manage/organize its work (e.g. how is what gets to be worked on decided)?
Engineering & Projects
What is the main tech stack this role will be working with?
What are some of the main technical challenges facing the team at the moment?
What are the first few things I would be working on if I join?
What engineering practices is the team looking to do more of (and less of)?
What does on-call look like?
Compensation
What is the comp structure? Are there bonuses, stock refreshers? How are they determined?
For stock options, I rely on this amazing piece on start-up options, so I would gather all the details on strike price, post-termination exercise window, support for early-exercise, etc.
Many of these questions can be answered fairly early on, perhaps in the first one or two interactions with the company. For the rest, there are a few avenues to find out the answers:
Usually towards the end of each interview, there’s a customary 5 minutes to ask the interviewer questions. I would typically slip in a couple engineering related questions here if the interviewer is an engineer.
After the final round, especially if feedback is generally positive, I usually get or will ask for a chance to talk to the hiring manager again. I tend to take this opportunity to get to know the hiring manager more, and ask more specific questions about themselves and the immediate team.
In the offer call, I usually hash out all the details and questions about compensation, and ask for a follow-up email summary.
After a verbal offer, companies sometimes offer additional opportunities to speak to higher level leadership and/or a broader team in the company. That’s another chance of getting a read on the vibe of the people there.
Negotiation
How to negotiate offers is also a very well-covered topic, so I’m skipping over the techniques here. However, instead of treating negotiation as having a one-dimensional goal of getting more total comp, I see it as a process to align on expectations, which is the first step in setting myself up for success if I join.
Negotiating on all fronts
If I’m going through the work of changing jobs, I’d like the new job to be a meaningful improvement in some ways or another. It doesn’t have to be money, but I would try to get as many of my needs met as possible. I would potentially ask about:
Is there flexibility on time off, working location, working hours (e.g. for child care), or job title?
Is there flexibility between cash v.s. stock/option v.s. bonus?
Is there flexibility in picking specific projects/teams/areas I’m more interested in?
Is there support for education, conferences, or other professional training opportunities?
Are there restrictions on my other activities, e.g. teaching, or writing, or contributing to open source projects on the side?
Is there continued legal/immigration support?
Are there extra benefits outside of medical/dental/vision?
Is there a referral bonus for referring candidates?
For bigger companies, some of these aspects are already written policies that are difficult to change or make exceptions just for one individual. Start-ups, on the other hand, might be more willing to accommodate them, especially if they think I’m a strong candidate.
Even if nothing ends up changing, aligning with the hiring manager on what’s important to me upfront can minimize surprises after I join, and make the onboarding process smoother.
Have multiple offers
In terms of getting a better compensation package, having multiple offers is very useful, especially for big companies. This is why it’s preferable to plan and time the interview processes so they line up around the same time.
Summary
To summarize, besides trying to impress, I try to gather as much information as possible during the hiring process, and start setting myself up for success if I join:
Get a sense of all aspects of the role and the company by asking about its product/services, revenue, culture, the team, and its engineering practices
Negotiation is more about setting up expectations on what’s important to me than getting more money
For Part 3, I will share my approach to quickly onboarding to a new team.