// Blog
Leveraging Great Programmers through APIs
Originally published on Tumblr.
In my last post, provocatively titled “Programmers are Getting Worse”, I described the distinction between engineers and craftsmen. To recap, an engineer is a programmer who understands the fundamentals of hardware, networks, and algorithms, which a craftsman is a programmer skilled at using development tools. There is certainly overlap between these two groups, and there is a large range of ability within each group. Today I want to focus on the engineering group.
As in any profession, some engineers are mediocre, a lot are “average”, and some are brilliant. A subset of that “brilliant” group are also productive. These programmers are unicorns.
If you agree with Marc Andreessen that “software is eating the world” — and I most certainly do — then you are probably very worried that there’s no possible way to increase our supply of unicorns fast enough to meet the world’s demand. You should be. Given the way we build software today, we are fast approaching a crisis. Businesses won’t be able to find the engineers they need, no matter how much they offer to pay them. There just won’t be enough.
Luckily, we have a silver bullet: the API economy.
I’m generally not a big believer in silver bullets, but, in this case I don’t think I’m abusing the term at all. APIs allow the best programmers to expose their software to the planet, with very little friction. The corollary is that anyone can use this software, at a fraction of the cost of developing it themselves.
Let’s consider some examples.
Before Twilio published their API, a company needing to programmatically interface with the phone system needed to hire engineer who understood telephony, PBXes, and whole range of related technologies. Thanks to a few dozen engineers, any company can now make phone calls and send SMSes. Any craftsman programmer now has access to this highly skilled group of Twilio engineers through their API. Silver bullet.
Before AWS, a company needing a few dozen servers had to purchase, network, and configure physical hardware. This required hiring systems engineers with experience in hardware, networking, operating systems, and dozens of administrative tools. Amazon’s engineers now provide all of those services behind an API. Silver bullet.
Of course there are dozens of example. Actually, there are thousands. ProgrammableWeb alone has over 10,000 APIs listed.
Some people think that the API economy will reduce diversity and limit job opportunities. Neither of these is true, because building software, or rather, solving problems, isn’t a zero sum activity.
Twilio’s engineers don’t prevent other companies from building a service with the same API. In fact several companies have. And Twilio hasn’t slowed down the interest in telephony software and services. Quite the opposite. Now that everyone realizes they can finally make a phone call from an application, they want more phone-related software, and Twilio can’t possibly deliver it all.
If Amazon wasn’t making it so easy to build scalable software services, we’d have fewer companies building scalable software services, and therefore less of a need for software development resources.
All this leads to a paradox: APIs are allowing the world to leverage the skills of a small number of software developers, which is in turn creating a greater demand for software developers. On the surface this makes my silver bullet theory seem ridiculous, but it isn’t if we remember that any craftsman programmer can effectively leverage an API. Any graduate from Makers Academy, a three month programming course, can use AWS and Twilio to build a scalable IVR system. A few years ago, that idea would have been pure fantasy.
Many of the world’s problems are being solved with software. This trend is accelerating. While Moore’s Law and Metcalfe’s Law give us the technical basis for exponential innovation, the ultimate drivers of this innovation — humans — appear to be a blocking factor. They appear to be, but they aren’t. The API economy is reorganizing the way resources are leveraged. Today a successful API can amplify an engineer’s work to a degree unimaginable a decade ago. As our APIs become more sophisticated, this multiplier effect will increase further.
Software will continue to eat the world, and it’s not going to slow down because of an HR problem.