There’s a trend in Silicon Valley startups to create a software layer in industries that were traditionally pure human services. Uber and Lyft have created software layers in the taxi industry, 99designs Tasks in the visual design industry, Homejoy in the cleaning industry, and so on. These new software services employ armies of human workers, optimizing their output, productivity and quality while driving price down.
The software layer between the company and their armies of contractors eliminates a huge amount of middle management, and creates a worrisome disconnect between jobs that will be automated, and jobs of increasing leverage and value.
This software layer generally has three parts: the user interface (UI) for the end customer, a programming interface (API) that actually dispatches a human worker, and a second interface for the worker to execute the task efficiently. The API component is the interesting and slightly disturbing part.
For example, Uber has a mobile app (UI) that talks to their servers (API). You can imagine that their servers effectively take three parameters: credit card, drive from, and drive to… and they dispatch a human to do it.
uber.drive(card, pointA, pointB); // pseudocode obviously
What does that make the drivers? Cogs in a giant automated dispatching machine, controlled through clever programming optimizations like surge pricing? Drivers have often told me that the job grants them incredible autonomy: they can drive whenever they feel like it, and they’ve stopped looking for jobs in finance or construction because the daily freedom is so valuable to them. There’s liquidity in the marketplace that allows them to come and go as they see fit. But the actual driving is perfectly orchestrated by software, and it’s not a secret that Uber intends to eventually replace all their drivers with self-driving cars. I worry that the army of Lyft and Uber drivers is opting into an easy, and sometimes-intended-to-be-temporary, dead-end career path. This may be ok at the moment for some drivers who enjoy driving and the flexibility of the job. But driving as an occupation will disappear practically overnight when self-driving cars hit the road.
Similarly, 99designs Tasks has a web interface for the customer to explain a simple and quick design task, plus an API to dispatch a visual designer to complete the task. At Segment we’ve actually built a 99designs Tasks API to create vector logos from an image url:
99designs.logo(card, url); // pseudocode ;)
What’s bizarre here is that these lines of code directly control real humans. The Uber API dispatches a human to drive from point A to point B. And the 99designs Tasks API dispatches a human to convert an image into a vector logo (black, white and color). Humans are on the verge of becoming literal cogs in a machine, completely anonymized behind an API. And the companies that control those APIs have strong incentives to drive down the cost of executing those API methods.
In the long run there’s always something for people to work on and improve, but the introduction of this software layer makes we worry about mid-term employment 5-20 years out. Drivers are opting into a dichotomous workforce: the worker bees below the software layer have no opportunity for on-the-job training that advances their career, and compassionate social connections don’t pierce the software layer either. The skills they develop in driving are not an investment in their future. Once you introduce the software layer between “management” (Uber’s full-time employees building the app and computer systems) and the human workers below the software layer (Uber’s drivers, Instacart’s delivery people), there’s no obvious path upwards. In fact, there’s a massive gap and no systems in place to bridge it.
And I suspect these software layers will only get thicker. Entrepreneurial software developers will find ways to tie these APIs together, delivering products that combine several “human” APIs. Someone could use Mechanical Turk’s API to automate sales prospect research, plug that data into 99designs Tasks’ API to prepare customized infographics for the prospect sent via email. Or someone could use Redfin’s API to automatically purchase houses, and send a Zirtual assistant instructions via email on how to project-manage a renovation, flipping the house completely programmatically. These “real-world APIs” allow complex programs (or an AI in the spooky storyline here), to affect and control things in the real-world. It does seem apropos that we invest in AI safety now.
As the software layer gets thicker, the gap between Below the API jobs and Above the API jobs widens. And economic incentives will push Above the API engineers to automate the jobs Below the API: self-driving cars and drone delivery are certainly on the way. The gap in training and social groups above and below could mean that new automation technology causes sudden, large-scale unemployment and a surge in demand for subsidized training. I hope we’re ready.