Companies are madly scouring the planet for developer talent, but often the best engineers already work for you. They're just under-nourished.
The most expensive part of scaling an app used to be hardware. Twenty years ago, you'd pay $100,000 per gigabyte. Today? That same gigabyte will run you a nickel.
But the real value today isn't cheap hardware -- instead, it's what a smart developer can do with a combination of hardware and software. This is precisely why developer costs are skyrocketing and why they're worth every penny.
A good developer is hard to find
There has never been a better time to be a developer. According to Jafco Ventures partner Dana Evan, "I've never seen the competition for developer talent as fierce as it is today." That competition is driving up the cost of developers: the median salary for software engineers is up 14% since 2009, and has grown 10% since 2012, with median pay hitting $69,215...
...or much higher if you live in the Bay Area.
Over the past 20 years, hardware costs have plummeted, even as developer costs have boomed from $28,000 per year -- even in competitive markets like Silicon Valley and New York -- to over $100,000 in those same markets. The relative spend on building applications has changed dramatically:
And here's another way to look at this same phenomenon:
Given the shifting costs, smart companies not only invest more in recruiting developers, but they also optimize for developer productivity. After all, it makes no sense to set up artificial impediments to developers getting work done.
Over the past 10 years, according to Forrester analyst Craig Le Clair, 70% of the Fortune 1000 have disappeared from the list, unable to keep pace with crushing competition. To fight back and win, he continues, enterprises must discover "business agility... that allows an enterprise to embrace market and operational changes as a matter of routine."
That agility will be driven in significant measure by developers.
To the cloud!
Open source gave engineers the freedom to build what they want without having to run the purchasing or legal gauntlets. The cloud then freed them from having to beg IT for servers. As Infochimps' Flip Kromer puts it, Amazon's "EC2 means anyone with a $10 bill can rent a 10-machine cluster with 1 TB of distributed storage for 8 hours."
Developers increasingly run the enterprise asylum, building applications for their line of business and outside the control of IT. Smart companies will channel their creativity rather than seek to stifle it.
Even smarter companies understand that as much as developers want to pay their mortgage, they have even bigger concerns, as VisionMobile data suggests:
This is why it's hard to beat Google or Twitter at developer recruitment. Yes, their perks are phenomenal, but so are the engineering challenges they've tackled, which feeds the biggest needs developers have: to work on cool things that matter.
Hire or nurture?
The first step in attracting great developers, then, is not to dig into your bank account. Rather, you should focus on solving hard, interesting problems. Jocelyn Goldfein has given great counsel on how to find strong engineers, but often great engineers already work for you. You just need to give them room to express their creativity.
This is similar to Gartner analyst Svetlana Sicular's suggestion that "Organizations already have people who know their own data better than mystical data scientists." So, rather than scour the planet for data scientist unicorns, companies should look within and nurture the talent they already have.
The same holds true for engineers.
Yes, sometimes you're going to have to hire outside engineering talent. And when you do, your odds of success go way up if you have interesting business and engineering challenges for them to help solve.
But just as often, you already have great talent waiting to be "born." By focusing on their most important motivations and giving them the tools (open source) and platform (cloud) they crave, you can hire and nurture exceptional engineering talent.
But have $100,000+ ready for them, just in case.