Aptitude, Attitude, and Accomplishments
A Manager's Guide to Hiring Great Software Engineers

A Manager's Guide to Hiring Great Software Engineers

The other day I was having a conversation with a friend of mine in the recruiting industry, Ethan Scheetz. He has been in the sourcing and staffing industry for many years in the Minneapolis area, and is a wealth of great information in that industry. We were comparing notes and philosophies on the practice of identify and hiring great engineers.

As we were discussing various techniques to identify great software engineering candidates, I mentioned my approach for technical phone screens. I like to screen beyond skills, including various competencies that align with the company's core competencies, as well as competencies and characteristics that may be specific to the role or the department. Some of these things include but are not limited to communication, problem-solving abilities, passion, motivation, creativity, influence, job-specific skills, judgment, decision-making, adaptability, etc.

I had mentioned that conducting a more complete assessment during the technical phone screen significantly improved the chance that a candidate would receive an offer after the onsite round of interviews. This type of assessment goes beyond just a skills-based assessment. I look for more than just a candidate's knowledge of Java, various open-source frameworks, database systems, web-services, etc. I believe that knowledge is important, but is only one component of the big picture.

I am also interested in how candidates apply their knowledge to accomplish specific job-related tasks and projects. What have they accomplished by using what they know? What is their intellectual curiosity? What is their level of technical-awareness in regard to new technologies? What kinds of things are they passionate and excited about in their career?

During the course of the conversation, Ethan mentioned that he conducts assessment in a similar fashion using the 3 A's as an assessment framework: Attitude, Aptitude, and Accomplishments. This resonated with me, as it was a simple way rephrase my approach to hiring and screening. In my book, Ace the Software Engineering Interview: An Interview Preparation Framework to Land the Job You Will Love, I talk about the Essential Software Engineering Competencies. Most of these competencies can be can be categorized as attitude, aptitude, or accomplishment related.


Some of the essential engineering competencies that can be loosely categorized under attitude are the following.

  • Self-awareness: the ability to understand one's strengths and weaknesses.
  • Customer-focus: the inclination to think of tasks and projects through the lens of the end-user
  • Teamwork, coaching, and mentoring: the ability to work in a collaborative team setting in a way that helps everyone succeed.
  • Stress-management: the ability to compartmentalize stress.
  • Adaptability: the willingness to adapt and change as one's external context changes around them.
  • Motivation, ambition, passion and energy: the level of interest in one's career choice.


The essential engineering competencies that can be loosely categorized under attitude are the following.

  • Judgment, decision-making and pragmatism: the ability to make good decisions based on the constraints imposed by one's context.
  • Organization, goal-setting, and stress-management: the ability to prioritize, organize and compartmentalize so that you can operate at peak-efficiency in any situation.
  • Political-savvy and influence: the ability to influence and drive change.
  • Strategic skills: the ability to understand the big picture as well as the tactical operations needed to achieve the end goal.
  • Creativity, resourcefulness, initiative, tenacity: the ability to come up with a solution when faced with over-whelming constraints.
  • Intelligence, problem-solving, and analytical-skills: the ability to solve complex problems by using analysis and logical thought.


While the essential accomplishments will vary widely by position and level, they tend to be related to Education, Experience, and Job-specific skills. As Ethan pointed out to me during our discussion, accomplishments are what you pay for. If you want someone with a very specific skill set and experience who has done something very similar to what you are trying to accomplish, it won't be inexpensive. It's aptitude and attitude that you can get at bargain prices, but this will usually be an engineer who is lacking in experience.

Remember the following when hiring your next software engineer. While accomplishments are a critical part of your evaluation, remember to also assess for aptitude and attitude. Failure to do so will significantly increase the odds of ending up with a candidate that has a great-looking resume, but is not a good fit for the organization, department, or position.

Related Posts