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.
If you are interested in how public policy can influence technology you should consider making a submission by the deadline of January 19th 2016. Sadly, one submission that has been publicly posted – “An open letter to Ed Vaizey. UK tech doesn’t have a culture problem. It has a developers problem” – is notable for all the wrong reasons.
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
— Rob Knight (@rob_knight) December 30, 2015
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.
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.