Here are the 5 abilities / traits I look for in hiring engineers:
Great engineers have an innate ability to decompose a problem and logically weigh the value of different solutions. They approach problems like logic puzzles, identifying the knowns and unknowns, and methodically solving for the unknowns. Unfortunately analytics cannot be taught in college or learned on the job. An engineer without strong analytics might become a good engineer, but they will never be a great engineer.
#2: Ability to Solve Complexity
#3: Passion for the Craft of Software
I learned early in my career that I had an innate passion for building products by writing software. I consider it a privilege to be able to wake up every day and build software. I also learned that there are many people like me, who would be writing software even if they couldn’t get paid to do it. Life is too short to work with people for whom building software is just a job.
#4: Entrepreneurial / Startup-Oriented
There are some great engineers out there who have one flaw: they can’t work in a team. You know the type of engineer I am talking about - arguing over minor details, complaining about issues instead of solving them, and generally degrading the overall work environment. Life is too short to work with engineers who can’t enjoy the collaborative process of building software. There are many places for engineers who can’t work in a team - just not with me.
I’ve had the privilege of working with many great engineers in my career, and plan to work with many more. Some of the best engineers with whom I have worked have defied job descriptions, lacking in some cases college degrees or experience with specific technologies I needed. But what these great engineers lacked in my job description they made up for with five essential abilities / traits: analytics, ability to solve complexity, passion for technology, startup-oriented and ability to work in a team.