Look for these two characters when you hire an engineer: Passionate & Pragmatic.
Passion is a wild animal but it is key factor behind many inventions and changes in human history. Passionate people won’t accept status quo, if some things bother them they want to change them. Passion is the sign of caring, Hire people who care about what they are doing, why they are doing, hire people who care about the code, maintenance, future, fellow developers. As I said passion alone won’t do the job, it might derail you, tear apart a good team with good intention. Passion can be blind. Hire people who has mastered this wild animal.
Pragmatic: Pragmatic developers think for short term and long term. They know the priority. They know how top management works, how developers work. They know the priority. Won’t say, I want to take a break for 3 years and re-write the software and release it. They know what works, what doesn’t. They know what complicates and how to simplify things. Know that we won’t get everything in life. These are people who been there and done that. They don’t let their passion control them. They can hear the good arguments of Passion and find a practical way to implement it. Caveat emptor, People full of pragmatism, and no passion, accept the status quo, they don’t want to change things. They know what works and what doesn’t, but they don’t know what should be better and why it should be better. They can’t see the future.
Passion + Pragmatism => Awesome
P.S. How to interview and identify people with these characters? that is for some other post.