Pinho
Hiring Software Engineers — What to Look for to Hire Good Engineers?December 28, 2022

As a Principal Engineer, one of my routine tasks is to hire the next generation of engineers that will fuel, spar, and lead our product forward. If I deeply care about our engineering teams and product, it is essential to be involved in our hiring.

To better organize my thoughts around the topics, I decided to document the key things I typically look for when I get a candidate's resume.

#1 University / Superior Degree

I typically look for this when going through an engineer with eight years of experience or less. Is the applicant a dropout or a graduated professional?

  • If he is a dropout, where did he invest his time? Working in software? Open source? Maybe even tried to open his own company. University is not a common denominator for talented engineers.
  • If he is a graduate student, what type of student? Grade level A, B, C? If he grades lower, was he a working student? If he was not a working student, where did he invest his time? Did he get involved with the software community?

#2 Type of Traits

What variety does he have in the roles he passed through? Did he jump from frontend to backend to full-stack? Or did he stick with one particular trait since the beginning?

I prefer full-stack developers, not just because I am one but also because they are generally more versed in multiple traits. This is especially important in companies where the work is dynamic and poorly structured between "the frontend team" and "the backend team."

Being a frontend or backend developer has no less merit and I use this information merely to adjust the allocation to my existing team's needs.

#3 Professional Path

Is the applicant a hustler? Jumping from company to company? If so, was it because he was a consultant? Or was he an employee?

I may completely ignore this if he has solid open-source contributions and sells very well what achievements/results he has provided to the companies he worked on.

There are always two sides to the hustler's story: he may be a grasshopper... but may also have landed in terrible teams. Dysfunctional companies and poorly led/managed teams are the "everyday dish" in the tech sector.

#4 How Does His GitHub Look?

A good GitHub with frequently maintained projects demonstrates that the engineer is passionate about his work. Anyone passionate about what they do will potentially become or be very good at it.

#5 LinkedIn or GitHub Activity

I like to see how the applicant thinks and communicates outside of the normal interview process. Is he candid and supportive?

This is not a complete 360 matrix of how to assess an engineer, but it's pretty easy to follow and provides good insights about whether a candidate has potential.

Tip: For the Engineer Applicants

As a Lead and Principal Engineer, I push a commit, create a JIRA ticket, join a pair coding session, and stop for 20 minutes to check some applicant resumes. Given this context you want to make my life easy and sell yourself well:

  • What are you passionate about?
  • What are your best accomplishments in your previous three companies?
  • Why are you looking for a change, or why would you be willing to join this new crew?
  • What does success look like in your career in 3 years?

Bottom line: if I'm looking into an Engineer's resume, I don't know him, and I have no idea how cool, passionate or brilliant he may be. Having a resume listing ten companies as Senior Engineer doesn't tell me much.

I would favor a Junior Engineer dropout that tried to run a successful startup twice, has been teaching online software courses, works as a full-stack, and is super motivated about TDD and DDD; he is active on GitHub and posts about his learnings; over a 10yr graduated professional that has no online/community pulse.

The passionate junior engineer, I can shape, coach and scale. From the 10yr graduate engineer, I would expect more than a resume listing his past three or four companies (if not more).

1 / 7