The Software Industry
While intrinsic motivation may be a factor in the behavior of company employees, this cannot be assumed. What can be assumed is that the payment workers receive and the importance of that money to them marginalizes any role for intrinsic motivation. The individual’s will is subjugated to that of the corporate hierarchy, at least within certain time periods where the employee is “at work”.
The lack of intrinsic motivation means that workers may not actually complete their work if they can get away with it. This necessitates a means for the corporation to ensure that they get what they are paying for from workers.
Classically this has been solved with the idea that being an employee involves being present in a particular place at particular times and performing tasks within view of an overseer, with further levels in the hierarchy where the productivity of those groups is monitored and directed.
Amazon seems to be blazing the trail here in terms of a digital panopticon that would allow many workers to be overseen efficiently at scale and in detail. A key part of this approach is the use of software systems to monitor and direct workers. Interactions with one’s superiors that are largely mediated by a computer algorithm virtually guarantee that the effect on intrinsic motivation will be crushing.
In an office-type context, monitoring whether someone is physically present is not a great way to ensure they are doing anything useful. There are a lot of things one can do on a computer, so knowing that someone is present at their desk doesn’t mean that they are doing what they’re supposed to be doing, or generating any value for the organization.
It is possible to track what employees use their work-owned computer for to some degree, and to (attempt to) limit access to certain applications (e.g. Facebook, YouTube) from within the organization’s network. Allowing employees to carry their own smartphones at work further complicates the issue of ensuring productivity through surveillance and mandated presence.
The use of metrics and personal appraisals of performance as measured against some targets are standard tools for ensuring employee productivity. These methods do not fit well with software production, which is by its nature highly complex and technical. This complexity limits the degree to which an observer or manager can assess the quality of a piece of work unless they have also worked on the same components themselves.
To take a practical example, the use of “stack ranking” where employees are ranked according to some metrics automatically derived from their code commits (with termination and promotion decisions based on these ranks), was rejected as sub-optimal by Microsoft after use for some time. It is easy to imagine how this kind of work environment would detract from the experience of workers and lead to emphasis being placed on the wrong aspects. The application of a similar approach by Google, although implemented in a less heavy-handed way, seems to have killed the idea of “20% time”, a level of discretion around what employees worked on which led to the creation of some of the company’s more popular services.
We can think of people who are more extrinsically motivated to work (they work to get paid because they need money) and have an ambivalent relationship with their employer as one end of a scale. At the other extreme are people who derive significant value from their work and for whom it makes up an important part of their identity. The extrinsic motivation of payment, and the desire to increase one’s level of status and payment can be powerful motivators - but they are motivators to excel in relation to progressing within the organization, rather than directly applicable to the work. Thriving within the organization can mean compromising on one’s own values.
Most employees probably fall somewhere in the middle of this scale, with both intrinsic and extrinsic motivation playing a role. The manner in which organizations reward their employees plays a large part in shaping behaviour. Peoples’ quality of life is affected by their income, and they are generally motivated to increase this. If individual productivity is seen to be rewarded within the organization, this can encourage workers to invest more effort in their work.
Decisions about rewards like promotion tend to be made through personal appraisals conducted by superiors in the hierarchy. In this case, the internal politics of the organization are a significant concern for employees, and success might be better cultivated through networking and making a favourable impression on superiors than focusing entirely on the task they have been assigned.
Status and rewards matter to participants, and they will tend to optimize their behaviour to maximize these. The more explicitly the rules of reward/promotion are defined, the more susceptible they are to being gamed, and the more they detract from intrinsic motivation.
The organization is an important entity because it can capture value from the enterprise and enrich employees, contractors and shareholders. Decisions about how the organization’s products (like software) are developed are made according to the internal workings of this organization and its top-down hierarchical relations. People with responsibility for bolstering or maintaining revenue streams typically occupy positions near the top of the hierarchy, and so those concerns can dominate the direction of development and tend to push out the views of the people who work more directly on specific aspects.
Technical Debt and Bullshit Jobs
The concept of technical debt is useful in understanding how top-down management can complicate the task of producing software and lead to inferior outcomes. In general technical debt means paying an ongoing cost for taking a shortcut and doing something in a way which is faster and easier than doing it “properly”. The extra time taken to accommodate this weak foundation in subsequent development is like paying interest on the debt.
Where development is directed at a high level by people who are not directly involved in producing the software, such as by executives who are more interested in business development opportunities and generating revenue, this is more likely to result in technical debt. Working to hard deadlines for product launches is also likely to exacerbate technical debt as it can force the taking of shortcuts.
The Iterative Capital thesis on what’s driving the cryptocurrency phenomenon presents an insightful view of how technical debt arises and the effects it has on software and its developers. This blog post presents an interesting individual perspective on technical debt.
David Graeber’s On the Phenomenon of Bullshit Jobs (2013 article and 2018 book) considers what constitutes a bullshit (pointless) job, how many people think they have one (~37-40%), how it affects them and the organizations they work within. The book has a section about FOSS development and describes an interesting pattern of integration between FOSS projects and private for-profit companies that rely on their software. Within these groups, the most desirable and highest status work concerns the software’s FOSS core (which is commons-based and often not directly compensated). In contrast, much of the work of the organization’s employees is directed to “duct-taping” the integration of this streamlined high-quality FOSS core with the proprietary and technically indebted software which the company relies on to generate revenue. The same individuals may participate in both capacities, working on the core FOSS components in their free time and duct-taping those same components in a production environment during their working day.
Graeber’s work also offers an opportunity to take a step back and consider FOSS as just one kind of commons-based peer production, and to infer that many of the same basic mechanisms are at work in the production of other non-rival information goods.
Graeber makes the case that over the last decades we have witnessed a proliferation of bullshit jobs that serve no purpose within their broader organizational context or externally, and can be actively counter-productive. Graeber posits that this is closely related to the rise in administrative/managerial positions relative to the rest of the workforce - which can be read as an attempt to maintain productivity through hierarchical control as organizations scale. Within a large organization where sub-domains are relatively opaque to each other, inefficiency or organizational malfunction is more likely to persist or grow for sustained periods as it may go undetected by the entity as a whole. The status quo is always beneficial for some party, and that party often has the influence to maintain it.
Within a small group of workers, every worker is known directly by a relatively large proportion of the other workers. With some degree of insight into each others’ work, an informal reputation system emerges which reflects individual productivity fairly well. As an organization grows in terms of the number of employees, each individual is known by a much smaller proportion of the other employees, and managers may be responsible for more workers than they can know individually. Formalizing interactions between workers is an effort to maintain cohesion across an organization and achieve consistency in its interactions with external parties. The more aspects of a job which have been formalized, the more that job becomes about ticking the right boxes and scoring well on evaluation criteria. Box-ticking appraisals diminish intrinsic motivation and divorces success at work from the quality of one’s work product.