GigaOm's David Meyer wrote a very nice analysis on Monday in response to my article on whether algorithms are replacing unions as the future of workers' rights.
Meyer makes the fair point that owners have rarely done what is in the best interests of their workers in the past, and so the concept of "flexibility" that I trumpet isn't really about control over one's working life. At the end of the day, the owners of technology platforms like Uber still wield disproportionate power over workers and their livelihoods.
This got me thinking on a hypothetical question: why can't workers, through their representatives, write the algorithms behind work allocation?
This isn't a crazy proposition. Workforce algorithms are simply methods to solve an optimization problem given a set of objectives. When owners control these algorithms, efficiency tends to be the most important goal, but we can imagine other objectives like most stability or most flexibility to be acceptable.
For example, Uber's data shows that it needs a certain number of drivers in a certain part of the city at certain times. If workers controlled the algorithm, it would meet those requirements, while also prioritizing certain policy goals. So, we could prioritize having as many different drivers on the road as possible, having the most senior drivers on the road get the most hours, prioritize the highest-ranked drivers, etc.
Since Uber is fundamentally a network, the idea is that it shouldn't care where the drivers come from as long as they show up when and where they are supposed to.
As another example, Starbucks got into hot water last week over its scheduling practices following a bruising article in the New York Times. The company was criticized for the instability of its work shifts, which damaged families and made it hard to schedule child care consistently.
If workers controlled the algorithm, then there could be ways to ameliorate these issues. The workers could vote for policies that allowed them more flexible schedules, ensured that they don't have to close and open the same store (called clopening), and focused on schedule stability so that child care arrangements were easier to make.
Again, Starbucks runs as a franchise model, where baristas are theoretically interchangeable between shifts and stores. It shouldn't care who actually does the work, beyond that the number of workers recommended by its data actually show up.
In terms of engineering, these problems aren't hard to solve. Companies with large workforces already use algorithms to assign workers to tasks, and so having those algorithms written by someone else wouldn't be impossible. The larger issue is with integration, and ensuring that algorithms match business expectations, but even here, the company has the ability to set the context for the algorithm, and so this can be solved as well.
The real challenge will be finding consensus on the actual policy choices that the algorithm requires. Should an algorithm prioritize scheduling stability for mothers with newly-born kids? How about for workers with the most seniority? These policy choices are hard to reconcile, and workers who today complain about company policies may find it nearly impossible to build the system that meets all of their objectives. Indeed, there may even be some empathy built here at just how challenging it can be to efficiently allocate thousands of people.
That efficiency issue leads to one final point though. All of these allocation problems and their effects on workers are a direct result of a business culture of cutting every last percentage point of expenses. Even 2-3% more slack in the system would lead to significantly better outcomes for workers than today's systems. Cutthroat competition is the ailment here, and the algorithms are only as good as the context in which they are run.