Attracting Top Developers to Small High Tech Companies
It Starts with Leadership and Culture
A few years ago I had a conversation with a CEO of a small but successful web-based company. The company was doing quite well, much to the credit of the CEO; he knew his market, knew his marketing, knew his competitors, and knew his strategy.
I was impressed with his knowledge in all these areas but once the conversation turned to technology and building technical teams, I was surprised. His team was almost all juniors and generally inexperienced developers. He was as concerned with typing speed as code quality. His team had little in the way of engineering leadership or top talent.
As you can imagine, the company’s technology was not the best.
The company continues to be successful because quite frankly they can afford less than the best technology for their business model. They are not a tech company, they are a web based marketing company. None of their technology needed to re-invent anything, it just needed to work.
Their use of tech was analogous to pounding a nail with a rock.
It works… mostly… for a while.
That CEO made a conscious and strategic choice to hire from the bottom of the talent pool. He told me he doesn’t even try to attract top talent. He believed it was impossible to compete against the likes of Google, Facebook, Microsoft, Rackspace, IBM, etc. (all of which have a presence right alongside him). He can’t offer the salary, brand recognition, opportunity for advancement or the prestige of those companies. He’s convinced the best talent works there and he’s even more convinced you can’t get any developer out of the tech giants.
His view was that when he does hire the best talent they have too many opportunities to leave, so he can’t retain them.
I do not subscribe to that thinking, and if your technology must be cutting edge, neither should you. You absolutely can attract top talent to a small company or startup. You can go head to head with giants like Apple, Facebook, and Google or even good mid-sized companies like RetailMeNot and Bazaarvoice, and still get the best developers.
It Starts with Leadership and Culture
As fun as this sounds, you cannot put developers in a room and say, “Be brilliant, here’s pizza and Mt. Dew, see you in a month!” and expect anything good will happen.
First you need a strong engineering leader that can inspire, mentor, interface with the business, fly cover, represent the engineers, work with the executive team as a peer, and most importantly, hire great developers and create a strong developer culture from personal experience. That leadership has to have certain characteristics:
- That person was a developer.
- That person understands developer culture inside and out, knows how to build and encourage developer culture, and does so in a way that compliments the greater corporate culture.
- That person is a positive and strong advocate for the developers.
- That person is an excellent representative for the developers to the executive level.
- That person is an excellent representative for the executive team to the developers.
If you’re a tech company, tech is your life’s blood, and developers are the heart that pumps it.
When you have a small tech company it’s essential you create a positive and strong developer culture.
Big companies have a hard time time creating and maintaining developer culture because they have too many people to satisfy, too many departments, and too many other concerns.
A young developer I know who made the switch from a tech giant to a start-up describes it like this:
Coming from a big company working in Cube-landia, I swear I had another email pushing our “innovation” slogan in my inbox several times a week. At the same time we had countless ideas shut down because “Execs don’t want to invest time in something new at this time. Stay the course for now and maybe someday it’ll happen.” Of course it never did.
Their culture always ends up being a corporate culture of their own making which usually blends everyone into one homogenized brand.
They have to do this.
So will you if you grow to that size but until then you can attract, hire, and retain top developers by giving them a place where they are the heart and soul of your culture. Give developers a place where they feel at home and they are free to be themselves and excel. This is a big draw for top engineering talent.
Build and Nurture a Positive Developer Culture
Speed. Flexibility. Responsiveness.
You’re a small company and you’re scrappy (or at least you better be). You have several things that make you think you can beat your competition. Some of those things are that you are more responsive, more innovative, more flexible, and faster. You are banking on speed, innovation, and flexibility to beat your competitors who are likely much bigger and well established, but slower and dimmer.
You already use this philosophy to do business.
Now use it to attract, hire, and retain top developers.
Big companies have to make big policies that normally don’t sit well with developers. If customer support can’t have flex time, nobody can… “it’s policy”. If accounting can’t work from home, no one can… “it’s policy”.
The best developers live and work happily in an environment of flexibility and efficiency. As a small company you can give it to them because you don’t have “policy,” you have goals. Use flex time, work-from-home, and liberal start and stop times to attract top developers. This is a huge asset in your hiring arsenal.
There is an added benefit to all this flexibility, you have to have top developers for it to work. It’s self defining. If a subpar developer gets past your hiring process, you’re going to find out in a fraction of the normal time because all this flexibility will expose them in a matter of days and weeks, not months or years. Top developers will give up money and brand name to be treated as professionals who can manage their own time.
Don’t have “policy,” have goals.
I know many developers at Fortune 50 companies. I will tell you a secret… Most of them are bored to tears.
They stay at these places because of the brand name and the stability. Many of the best of them are not happy. Use that. These companies bend over backwards to make employees happy, but a lot of it doesn’t work for top developers in the long run.
The best developers crave new and exciting technology more than beer bashes, napping stations, shuttle buses to the next building, gourmet cafeterias, and extended vacations. The best developers want to work on cutting edge products and new technology.
Large corporations do not switch technology or adopt anything new until it becomes established. Big companies are usually done taking big risks with core technology (rightfully so). Even if they wanted to make big and risky changes, many times they can’t, they are too entrenched in the currently implemented technology.
If you’re small or a start-up then you have to take risks. You have to move fast and capitalize on the next big thing. Not only can you offer a clean, cutting edge, and lean technical environment, you have to offer it to beat your competition. As a startup or small company, this is to your advantage for recruiting and retention. Use it.
In a small company, your CEO likely sits within 100 feet of your developers. No developer at a Fortune 50 company has access to any top executives and if they do, they aren’t getting their ideas through the committees, summits, politics, and gauntlets of middle managers. These companies pretend to be “scrappy” and pretend to have an “entrepreneurial culture” but that is marketing, not reality.
In a small company any developer can walk into the CEO’s office and say, “I have an idea” and actually have a serious conversation about it.
More than anything, top developers want to see their work have impact. It’s a harsh reality, and hard to admit, but when you are in a large company most of the time your impact is minimal. In a small company, when a developer builds a new feature that is desperately needed to get the business to the next level, that developer’s motivation skyrockets.
Small companies generate genuine feelings like, “They are counting on me,” and “I built that.” Those are powerful motivators for good developers. Big companies have strategies and management tools to mimic those feelings but it’s artificial. A small company needs each and every one of its employees to be the best, and that is what top developers want, a truly meaningful connection to their work.
In a small company you can provide an environment where any developer in your organization can vault the entire company forward with a single good idea or new technology. That is a massive incentive for top developers. It also pushes back on mediocre developers. You can use this to both hire and retain the best developers.
Having worked in everything from a tiny five person start-up to a massive company with 80k+ employees, I can tell you it’s easy to get lost in a big company and it’s even easier to hide. This has a terrible demoralizing effect on good developers.
First, it’s difficult for a good developer to really shine in very large companies. In these massive companies you likely work for leadership that has no idea what your code means or how it works. You usually deal with run-of-the-mill project managers, and your work life is usually missing strong technical leadership. More often than not, “shining” is more a result of which pet project you are assigned rather than your ability as a developer.
Similarly, you can be buried under politics by simply being in the wrong place at the wrong time. Your actual work is only a fraction of what goes into your total success or failure and most of it is completely out of your control.
It’s sad to say, but in a large corporation a mediocre (or even bad) developer with good relationship-building skills can advance further and faster than an amazing developer with poor interpersonal skills. For most great developers that’s a recipe for disaster.
To make matters worse, poor developers can hide in big companies for a long time. This demoralizes the best developers and drives them away. As a small company you can use this to great advantage, and you can offer developers a place of real importance. Like most of the other things in this list, not only is this a good way to attract the best developers, it’s also a good way to keep away the not-so-great.
No mediocre developer wants to be anywhere there is a spotlight on them and in a small company, everyone is under the spotlight.
Having been around developers all my professional life, and having been one myself, I can tell you that the thrill of saying, “I’m a senior developer at <big impressive company>” wears thin fast after you realize you will spend the rest of your life working on the same 50 lines of code, in the same language, in the same technology, fighting the same battles, filling out the same weekly TPS report, and working for a never ending stream of ladder-climbing, middle managers.
Big companies do offer stability and comfort and are amazing places to work if stability and comfort are your primary motivators. Stability and comfort cannot easily be discounted. However that doesn’t mean as a small company you have to settle. Do you really want developers looking to be put out to a 9 to 5 pasture?
Most top developers are looking for new and exciting ways they can advance their technical skills and careers. The best developers want a home away from home, not just a job. Good developers know they can always get work, and the best aren’t afraid to take chances.
As a small company, you can offer all the things listed here far better than any big and established company. The truth is, any medium or large company can do most of these things too, but they won’t. Count on it.
It’s up to you how you choose to present your opportunities to developers and up to you what culture you choose embrace.