The Talent Crunch - not where you expect it
There’s a talent crunch in technology today, that much is true. Everyone says they can’t find enough rockstar/ninja coders for their San Francisco based startups, paying slightly less (or a lot less) than market rate for some percentage of equity, where engineering is expected to work 60-80 hours a week.
All while non-technical cofounders with no money are desperately trying to find someone to “just code” their idea for the next $400 Million company - all paid for by a piece of the pie (when the ship comes in).
There’s a lack of resources in the ecosystem, yes, but more engineers won’t solve the problem. “Learn to code” startups are all the rage (in December 2011, January 2012), but graduates from these programs won’t make the “talent crunch” magically go away.
Because the talent crunch isn’t caused by the lack of engineers: the talent crunch is caused by a lack of managers (and non-technical leaders) whom can lead technical teams in sustainable ways.
This entry could also be called “7 tips for sustainable startup teams, for non-technical cofounders or managers”.
Building companies in sustainable ways
Before we can talk about managing people in sustainable ways, first we have to talk about sustainable companies: companies that have money to pay for sustainable engineering.
"Pay for sustainable engineering? But my technical cofounder says he has a good savings and can afford to work for sweat equity for a while". This is not sustainable engineering.
It’s not sustainable engineering, because at some point (probably much sooner than you expect), your engineer says, “It’s been great and all, but I just got offered a job at Foobar, Inc, and I have to take it because, well the money’s just too good”.
By that he could mean, “It pays actual money”, or by that she could mean, “You were underpaying me by 30%, and these guys are only underpaying me by 10%… besides, I’ve been getting this feeling that my 5% equity in your company… well, 5% of 0 is still 0”
Sustainable rule 1: Pay your people a rate that will sustain them. Burning through a lot of people? Maybe you’re not paying well enough.
(It’s almost a Yogism at this point: “It’s hard to keep good people employed at your company, even when you don’t pay them anything”)
Sustainable rule 2: First, define, understand, and obsessively focus on your revenue model.
Don’t have a revenue model, or the critical path to getting to a revenue model? You may be part of (or setting your company up for) a talent problem.
Why focus on your revenue model? Because it’s what pays for all this engineering. Maybe not directly, but your revenue model and sales numbers will help make your cause to investors, to bring more money in.
(My tendency towards Lean Startupism says that your revenue model should be able to pay for all your engineering, but I’m going to be pragmatic here).
Fixing the talent crunch take away tip 1
Focus on your revenue model, and only implement the features required to get enough of a product shipped so your revenue model becomes viable.
Managing technical teams in sustainable ways
Paying for engineering talent in a sustainable way is one thing, but that’s only part of the problem. If you don’t manage your team in a sustainable way, your engineer may say, “It’s been great and all, but I just got offered a job at Foobar, Inc, and I have to take it”.
By this he could mean, “Anyone they put me under at Foobar, Inc would be better than the way you manage this company (or team)”, or she could mean, “Yes, I’m taking a 30% pay cut going to Foobar, Inc, but I wouldn’t be falling asleep on my keyboard every night, so net win.”
Sustainable rule 3: Have an organized way to manage the process of development. This system should also set expectations of how much work can get done in a 40 work week by your team, quickly show what the status of various tickets are, and have some system of estimating how “expensive” certain features are. From there you can manage features (and expectations of your stakeholders).
Sustainable rule 4: Listen to your dev team. For example, if the team has been doing 45 Difficulty Points worth of work in a week, and version 3.0 is supposed to ship next week… you’re not going to get that feature worth 100 Difficulty Points into version 3.0. Managing a team sometimes means telling your superiors that such a task is impossible given the resources you have.
World War 2’s D-Day wasn’t executed by a single platoon of men. Likewise, 4 engineers shouldn’t be putting in the hours of an 8 man team.
Fixing the talent crunch take away tip 2
Pick up a book on managing software teams, and read it. Managing professional software developers is not like managing high school kids at the local pizza joint. Suggested reading: Peopleware, Mythical Man Month, Extreme Programming, Slack, Agile Project Management with Scrum, Agile Estimating and Planning.
Fixing the talent crunch take away tip 3
Go to bat for your engineering team sometimes. Even occasionally standing up for them is a huge moral boost. They are not just lazy people without a work ethic.
If they are appearing such to you, you may want to double check that your perceptions are matching actual reality, not just the reality you think you are getting by measuring whatever you think is an indicator of productivity.
Finding Talent in Sustainable ways
Growing projects need more manpower. Be it a larger codebase, a larger userbase, or demands from stakeholders coming in at alarming (and increasing!!) rates, you’ve realized you need more engineers to pull this off at a sustainable rate.
Now, how do you find the engineers you need? Figure out a way to pouch them from Twitter, your next door neighbor? (Because, like every other startup, you’re based in SF)
Sustainable rule 5: A lot of engineers live in SF, it’s true, but it’s absolutely false that all the engineers live there. Consider hiring someone (gasp) outside the city.
Sustainable rule 6: Be open to remote work. Some engineers gasp don’t want to live in the city, or can’t live in the city.
Maybe you’re not open to remote work. Ok, whatever - that’s a topic for another discussion - then how about setting up another office outside of SF? NYC maybe… or maybe somewhere else. There’s a lot of cities with 100,000 or 200,000 people in them that also have engineers.
Sustainable rule 7: Not everyone on your team has to be a rockstar.
But, there’s a lot of talent between those two layers also. Programmers that have been programming for 30 years (which yes, means that they’re old), or programmers that have been programming professionally for 5 (or 8, or 9) years but have milder accomplishments.
Because, betting on creating a team of rockstars is unsustainable. There’s just not that many to go around. Not every basketball player in the NBA is Michael Jordan (or Kobe Bryant). But somehow there’s always 10 guys out on the court when two NBA teams play each other…
Fixing the talent crunch take away tip 4
Other companies are spending a lot of effort on hiring rockstars that live in SF, to work on their SF based startup. You may have better luck looking at a place where other people are not looking.
An actual Yogism this time, “Nobody goes there anymore - it’s too crowded”. Considering taking this advice and getting creative with your search for talent.
It’s excellent that we, as an industry, are now interested in educating new programmers. For many years that wasn’t the case, and it’s good to see the tides turning.
However, managers/non-technical cofounders/stakeholders may need to learn some things, to really solve the “talent crunch” in a sustainable way: managing and building sustainable companies.
If your company (or project) has a turnover rate of more than 50% in a year, you’ll never have enough engineers - no matter how many people take “teach me to code” classes. Time for some soul searching.
Coming from a team with amazingly high turnover (300% in one year), I consider 50% turnover rate to be a good yellow light - if you’re on your second technical lead (or technical co-founders!) in a year, you’re doing something wrong.
50% may even be two high - the word decimate (which today means, “A horrible, tremendous loss of troops in a unit”) actually means, “Causalities of 10%”.
But I’d say 50% is a good yellow light - something you need to spend some time thinking about, and go cautiously, but you still have time.
Any loss of 100% of your team in a year (“we started the year out with 7 engineers, and have found replacements for 7 engineers, so our team compliment is still 7”) is cause for serious consideration.
Any loss greater than 200% in a 12 to 18 month period is red light time: stop everything you are doing, and figure out why everyone is leaving. Do it right now - because statistically, probably 1/4th of them are thinking about leaving right now. Stop the losses and work towards sustainability. Don’t let your company experience talent crunch because your actions made everyone leave.