So, I often ask myself what makes a good engineer? I ask this both of myself — to improve myself, and additionally I ask it of other engineers when I’m querying during interviews. I’ve written up a short list of what I think is valuable, and I intent to continue to maintaing this list as my view of the world changes.
Having a Holistic View of the World
Writing software alone is one thing, but writing software with the idea of how it must fit, and function amongst dozens of other systems, and to our customers is infinitely more valuable than writing software in a vacuum.
Being an Autodidact
One of the most expensive (time-wise) parts of hiring a new engineer is the high ramp-up cost from bringing a new team member online. Not only is the new engineer ineffective for the first part of their stint at a new position, but they’re dragging down the rest of the team. In fact, the Mythical Man Month, talks about this a little bit. I think that autodidacts probably have an overall lower spin-up cost. Additionally, education & training are incredibly expensive to put together and maintain for a team that doesn’t hire very often.
A Healthy Sense of Urgency
Parkinson’s Law tells us that “work expands so as to fill the time available for its completion.” Software development projects are notorious for this. Engineers that tend to have a healthy sense of urgency seem to beat Parkinson’s Law, or at least setup barriers to prevent them from artificially expand work.