A major part of my job is hiring talented software engineers and building productive, happy teams. Here’s what I look for when I interview and evaluate engineers.
Ego will kill your career almost as quickly as punching your boss in the face. I’ve seen arrogant people drag their teams through the mud, and I’ve seen smart people look ignorant because of a stubborn attitude.
I keep an eye out for ego when speaking to candidates. Do they make past successes all about themselves rather than praising their team’s involvement? Do they assume to know everything there is to know about their craft? A good candidate understands that there are always opportunities to learn, and success often comes from the influence of better, smarter peers and leaders.
One of my favorite questions to ask candidates is: what are your core values? It’s a question that doesn’t have a cookie-cutter answer, and requires an honest response to avoid sounding cliché. Most importantly, it’s a clear indicator of selfish vs. selfless.
A candidate who values success and praise will ultimately choose selfish actions to achieve those values, while a candidate who values service and compassion towards others will abandon self to do good for those around them.
I once spoke to a candidate who, when I asked about his process in working with teams, described to me how he routinely goes over the heads of his teammates to get things done. Sometimes, he told me, he’d even go over the heads of his management. As he described it, he hated being wrong; if the team unanimously disagreed with his decision, he’d throw his hands in the air and say, “well, I guess we’ll all just be wrong together.”
This was discouraging to hear.
A great candidate understands that the strength of a team comes from mutual respect and collaboration among all involved. A member who thinks themselves better than the collective team represents a weakness for the group, and a team is only as strong as their weakest member.
Great products aren’t about the people creating them; they’re about the users who adopt them. A great engineer understands this, and places the users’ wants above their own. I look for candidates who are empathetic towards people from all walks of life and have an open mind to different points of view. When they successfully adopt this mindset, they’re better able to provide what users crave the most—genuine service.
It’s not just about being skilled at your craft—that’s certainly important—but I believe competence is shown in three key behaviors:
- Showing up on time when it’s time to show up
- Delivering what’s due when it’s due, and
- Delivering quality work at every opportunity
To me, this describes the “pros” that I’ve encountered and had the pleasure of working with in my career; I love hiring these people.
So if you’re a competent, humble, empathetic collaborator with a heart of gold, let’s work together.