In Support of Paying Developers Properly

The Department of Culture, Media & Sport here in the UK announced a call for submissions on December 29th on UK Digital Strategy. This is a welcome call, and the reactions and submissions I have seen thus far have been both interesting and varied.

The core proposal being put forward is that government should fund “code schools” such as General Assembly to create more developers. Now in and of itself I have very few issues with this proposal. Indeed, I think it should be encouraged, particularly if the suggested scholarships could be found, and could help address diversity in technology by introducing new people from varied backgrounds to coding.

Such initiatives do come with a major caveat though: it is essential that people, business and government in particular, understand a twelve week course in Ruby On Rails or similar does not create the type of developer, engineer, product manager, DevOps or QA person that organisations such as Uber, AirBnB, Spotify, Stripe, GitHub or Slack (to choose a selection of oft cited “unicorns”) are looking for. We do not expect accountants or lawyers to be created in ten to twelve weeks, nor should we expect highly skilled technical professionals to be. But these courses can be a great starting point for people looking to move into development.

However, it was the logic and justification which was put forward for having government support these code schools and courses that really caught my eye and prompted this post. This logic boils down to a couple of simple points

There are not enough developers for the number of jobs

Those developers that are available are, in the authors opinion, expensive, and even what they consider to be average developers are too expensive

If only we had more developers all of this entrepreneurial energy could be released, but we need more, cheap, developers

Funding is easier to find than developers

The basics of economics tell us that with supply and demand we will reach a point of price equilibrium. The skills required are in very short supply, so the price will go up. The notion that developers are overpaid is, in my opinion, a myth. Well paid perhaps, but far from excessively paid given the value they bring.

More importantly, however, this presumption that “we just need more developers” appears to be premised on the assumption that developers are little more than interchangeable resources that can be easily scaled up and down, but provide little intrinsic value on their own. Academic research as far back as Fredrick P. Brooks seminal 1975 work, The Mythical Man Month, has shown this not to be the case. There is nothing in the current wave of technology to suggest this has changed.

Developers are the most-important, most-valuable constituency in business today, regardless of industry

We understand that software engineering is both a discipline and a craft. Indeed, we celebrate the craft aspect when and where we can. It takes knowledge, time, an understanding of many things, and exceptional teamwork, to create great software upon which we can build great businesses. None of the technologies that run the unicorns mentioned above were created by brand new developers after a short course.

Funding, Investors & Compensation

In my summary I noted the argument that funding is easier to find than developers, the exact quote is worth reminding oneself of –

It’s gotten so bad that I believe we’ve reached a troubling inflection point: it is now easier to raise money for your startup than it is to find the people who are going to build it.

There is not a seasoned developer in London, San Francisco, New York, Berlin or any other digital hub on the planet that has not met the brilliant entrepreneur, with the exceptional idea, that will make everyone involved a fortune.

As an aside, if you can raise easy money without having your founding team, in particular your technical co-founder(s), in place I would strongly question the intrinsic value of your investors and the expertise that they will bring.

The top tier VC’s on Sand Hill Road are unlikely to throw cash at you without seeing you have either a strong track record, or an impressive team, as well as a strong product idea with a good market fit in place. If your investors will invest without knowing where your technical expertise is going to come from I would strongly advise you to ponder why they are happy to invest, and what value they will bring to that board seat they are requesting. But I digress.

Now let us say that this developer who is having her latest conversation with an entrepreneur says, okay, lets talk about your exceptional idea. The entrepreneur gives the initial business pitch, and the idea is genuinely of interest to the developer (do take note that most conversations end at this point). The talk then turns to compensation. Cash is offered, generally a lower salary then what the developer is currently earning. The benefits package is less, or in many cases non-existent. The carrot of common stock, or even equity under specific terms, will be offered. This offer will sound familiar to many developers.

Then the developer says okay, this is interesting, but given the lower cash and benefits component, and the inherent risk of a startup, I would like to put a compensation package in place including preferred stock with senior liquidation preferences as part of my overall package the entrepreneur is most likely to say one of two things

I don’t understand what any of that means.

oh, no, you are the developer, you just get common stock. Preferred stock is reserved for founders and investors. But don’t worry, we are going to make so much money. We just need you to write the code.

Neither of which is a great answer.

As an example of why this matters, just look at the recent acquisition of Good Technology, and the impact it had on the employees. Following the acquisition of Good Technology by BlackBerry investors got paid out, founders had a reasonable exit, but many of the core team members – the developers and so forth in the team have been left with high tax bills. The employees have effectively paid for the privilege of working for a company with the potential of an IPO.

Agglomeration and the Cost of Living

An argument has also, rightly, been made about the costs of living in locations such as London or San Francisco

and it is indeed a large factor in salaries. I live in London and visit San Francisco regularly. Believe me I know the cost of living in both cities. But to argue that wages are predominantly impacted by the cost of living alone ignores economic factors such as agglomeration (for the record I do not believe Rob is arguing that, 140 characters is too short for a nuanced argument, and he does also note that money is not everything for many people).

Simply put people and companies benefit from living and working closely together. A virtuous, entrepreneurial circle is created, people live in a vibrant community, new businesses spring up, everyone from the developers to investors, lawyers to marketing, live and work close together. This facilitates people and ideas sparking off each other. Agglomeration has costs as well as benefits, and this cost is reflected in what people are paid among other things.

If you want to setup a new tech company, and need to have access to a large pool of resources to grow, you will setup in one of the core hubs. Policy makers may not like it, it does not sit well with politicians in any part of the world who spend time promising high skilled jobs being distributed across the country, but it is, for better or worse, an economic reality.

Onward?

Now does any of this take away from the need to train more people as developers? Absolutely not, as I said at the outset we need more developers. The oft quoted Marc Andressen line of “software is eating the world” is very, very true, and every company will need digital expertise, which in many cases will be highly skilled technical professionals – people who are developers, operations, analytics specialists and so forth. Developers.

However, framing the argument as we need more developers – one of the most essential components of our business success – in terms of cost, a market correction, and making an already relative cheap resource in terms of the business value they bring, even cheaper, is disingenuous at best, and highly damaging at worst.

Support code schools, absolutely. Go further and support free training initiatives such as nodeschool.io. Encourage people to do programming courses on platforms such as Coursera. But support code schools to generate more skilled employees who will bring value wherever they work – not to create cheap developers.

As for the need for more developers to enable entrepreneurs? If ­you have a great idea for a business you will always attract great staff if you treat and pay them appropriately. To quote my colleague Stephen once again:

To be on the winning end in the Age of Developers, businesses must understand just how important developers are and then treat them accordingly. When negotiating, remember that developers aren’t just another corporate population, they’re the New Kingmakers.

One comment

V good piece – I agree with pretty much everything here. I think, however, you’ve made a few leaps in your assumptions around my logic and justifications.

That developers are the new kingmakers – I couldn’t agree more. I’ve been in awe of developers ever since I started working with them, and consider myself very very proud to be a bad one. It was one of the core reasons I left my job in journalism – I wanted to work *alongside* developers, not as part of an antiquated upstairs/downstairs delineation (https://benjilanyado.wordpress.com/2012/07/13/on-journalists-and-developers/). I am highly aware that they are far from interchangeable resources, and that a good developer is worth their weight in gold. I just want there to be more of them.

I also agree they should accordingly be paid very, very well. As you’ve said, there’s no point arguing with supply and demand. I am in a very lucky situation where I can afford to appropriately pay some fantastic developers to work with me. Again, though, I just wish there were more of them.

Similarly, I’m very aware that a thousands of junior devs armed with 12 weeks of code school isn’t going to suddenly make 10 new Ubers in the UK. But what it *will* do is bring a swathe of new talent into the realms of affordability for many brand new startups.

Due to various factors – including the agglomeration argument you’ve highlighted – experienced engineers rightfully demand significant compensation in major tech hubs. Unsurprisingly, major tech companies – the Uber, AirBnB, Spotify, Stripe examples you’ve mentioned – can afford this, as their budgets are nearly limitless. But younger companies simply cannot – and therefore would massively benefit from a new swathe of entry-level engineers on the market. It would be a win win – the new startups get the vital, game-changing engineers they need, and the new engineers get a chance to high-exposure, straight-in-the-deep-end work.

It’s a similar argument to housing. Houses in central London are very expensive, because they are incredibly valuable and desirable, and that’s the correct market rate. But that shouldn’t stop the government trying to create affordable housing in order to make the market less exclusive. And the same with football players. Raheem Sterling costs £49m because that’s what he’s worth. But the FA should also be doing as much as it can to create the Raheem Sterlings of the future.

If my article is being read as a rallying cry to drive down the cost of developers, then I’ve written it badly. They should be paid whatever they deserve to be paid. The “correction” I’ve talked about is not simply a cost gripe, it’s a complaint about the paucity of vital resources in an industry. As a country we’ve done well in creating a new generation of entrepreneurs. We haven’t done the same with developers.

I think my overall point here is that the arguments aren’t mutually exclusive. Engineers should be paid what they deserve. But the government should *also* do whatever it can to create new ones.