Software Engineers

What are the most important things to keep in mind when hiring a Software Engineer?

1. There are different types of software engineers and seniorities: the job responsibilities you have in mind for your hire may dictate the type of role you recruit for, and the seniority. As responsibilities become progressively more complex, or an engineer is put in charge of teams (or teams of teams), you’ll need to consider titles that go beyond “software engineer” when you start speaking with candidates.

2. Skills may vary across the type of engineering projects your team does: depending on your industry, you may want your candidates to have experience with specific programming languages, or tools relevant to your business.

3. Years of experience and technical questions can help you determine candidates who would be a good fit: Soft skills are important for engineers too, but knowing how many years of experience your candidates have in particular programming languages or applications, and how they answer questions about how they would write a particular code or sequence, is helpful during the interview process.

What are some of the skills a software engineer may need to have, or platforms they have experience in?

Engineers use many different programming languages and platforms, and depending on your company and the type of Engineer you’re hiring for - the answer to this question can vary.

When hiring an entry level Engineer, or an Engineer with a few years of experience:  Ask your team what languages they use the most, or what projects they anticipate this hire working the most in. Feel free to include these in the job description to give candidates an understanding of what you’re looking for.

When hiring an Engineering Manager or head of a department:  As Software Engineers advance in their careers, they often move from individual contributor roles to overseeing teams. At this stage, their day-to-day working knowledge of different languages may be less important than their ability to pick out which programs are the most important, prioritize projects, and how to mentor and retain Engineers joining their team.

When hiring the first Engineer at your organization: You may want to look for a candidate with more experience who can fill a senior role, and can help you determine your Engineering tech stack. Looking for candidates that have experience in the below languages may be helpful:  

  • SDLC
  • Python
  • C++
  • Java
  • Mongo DB
  • Building APIs
  • GitHub
  • JIRA
  • Cloud development
  • AWS
  • React
  • Typescript

What should the hiring process be like for a software engineer?

Hiring for a Software Engineer is a lot like hiring for any other job.Here are four basic steps we recommend to all hiring managers to get started with the process:

1. Write a job description, and be as specific as possible. Is there an exciting, new project your engineering hire will lead? Include it! Are you planning on expanding into a new product line? Mention that. Try to generate as much interest and excitement in what you’re building as you can - enthusiasm is contagious.

2. Ask your network for referrals, and if they know anyone who’s looking for a new role.

3. Reach out to candidates, and start interviewing. Tools like AngelList and Triplebyte can be a great place to start, especially if you’re looking for candidates who may be interested in an early stage start up.

4. If you want additional help, or to speed up the process, consider working with a recruiting firm.

What are some of the typical job titles of a Software Engineer?

Software Engineers fulfill all different functions and roles within an Engineering organization, and some even overlap closely with operations, leadership and IT.