From my response on the Yabbly Startup Survivor Challenge: It’s become extremely competitive to hire good engineering talent. What have you done to get engineers interested in your company vs. all their other options?
As an entrepreneur and CTO, I have for the past 17 years been hiring engineers, for teams as small as two, and as large as over 100. As an engineer myself, it’s my sense that often, the things that interest us about a career opportunity are in fact hard-wired into the DNA of the company (culture, leadership), and not necessarily those things the company can willingly dangle in front of us (titles, positioning, compensation).
In fact, I’d go so far as to argue that you can almost always distinguish between great engineers and commodity writers of code by determining just what motivates them in considering a new role. But I’ll return to that in a bit….
Based on my experience, and listed in order of priority, here are the key issues that I find will tickle the cerebral cortexes and stir the passions of hire-worthy engineers:
Technical Leadership / Culture. Engineers thrive when there’s clear technical leadership, and when they can look to a leader who a) understands the complexities of their work, b) has a vision for what’s being built, and c) provides the resources (often, literally the air cover) to help them succeed. To take this a step further, technical leadership needs to be recognized as a key “asset” or core aspect of the company’s values for great engineers to be interested. Of course, in a startup, none of this may be present yet, and if that’s the case, then hiring for technical leadership–as much as any specific technical skill–is how to present the opportunity.
Doing Things “Right”. We engineers are, by and large, analytical types, and believe strongly in doing things the “right” way. Understand that almost all of us secretly fantasize about being an “architect”, charged with understanding and defining the best approach to building complex systems. Companies that demonstrate to candidates that they will have the latitude to do things properly (suspending, for a moment, how that dovetails with the needs of the company) will be more likely to attract engineers.
Scale / Scope. Second only to our desire to see ourselves as architects is our love of building to scale and scope. Chat with an engineer for a few minutes about their interests, and see how little time it takes for them to utter the word “scale”. Helping a candidate understand how what they build will either a) be of broad scope, or b) scale up dramatically, will allow them to imagine flexing their analytical muscles in a role.
Growth. To attract great engineers, you need to present ongoing opportunities for growth. Generally, this boils down to demonstrating a path that gives them more and more difficult and interesting problems to solve as the company grows. We all love designing and building big things, and are often less talented at day-to-day maintenance. In fact, larger engineering organizations sometimes stagnate, as without a clear business rationale for new development, engineers can make smaller tasks into larger challenges than they really are, for the sake of varying what they do.
All of this said, let me show you how understanding where a candidate sits vis-a-vis the above issues can help you determine, at least in the context of a startup, whether a candidate is truly a great fit for you.
A. Engineers who either don’t value technical leadership or aren’t willing to help supply it are, in my experience, just looking to be told what to build. Candidates need to demonstrate an understanding that technical leadership that can’t be lensed through the company’s product and business goals is effectively useless. If you’re a startup, and aren’t ready to hire a truly great engineer, then call a spade a spade, and find a contractor to help you build something limited and specific.
B. In the past half decade, the software writing world has become–at least in my opinion–too enamored of what I call the “priestcraft”, i.e. the process by which we build, as opposed to the outcomes of what we build. Candidates who focus the conversation immediately on engineering process (TDD, XP, Agile, Lean, Kanban, etc.) might not be right for an early stage startup, in which everything literally depends on outcome.
C. The truth of a startup is that you don’t really know whether your product, business model, or customer base will scale. And so an obsessive focus on building scalable software isn’t necessarily the right match for an early stage company. Rather than looking for a we-built-it-to-scale-and-then-it-did story, look for candidates who can talk about scaling systems up on an as-needed, progressive basis.
D. It’s one thing to present a newly-hired engineer with a bunch of options to build new technology. But even better, in terms of evaluating a candidate, is to understand ways in which they have actively sought out new opportunities to build things that drove company success (either to extend a product, further the business, or delight the customer base).
The final tidbit I’ll share is that looking for “engineering talent”, at least in a startup, might in fact lead you down the wrong path. Some of the most talented engineers I’ve ever worked with would seldom be consideredengineering talent, at least by traditional formal definitions. The engineers I look for are more well-rounded, creative builders. They often have backgrounds in the humanities, and/or are self-taught, and can think creatively about what you’re trying to achieve from a product/business/engineering perspective.