Sources: CIO UK IT hiring trends 2020; 2017 GamesIndustry.biz Survey; 2015 Gender Balance Workforce Survey
Software development field looks like a level playing field for those who are starting out. There are many new exciting things to learn. Employers are readily lining up in front of your door with bright job offers. But one thing we learn soon is that the industry is regulated by the big business players. They are, alas, catering for their own needs rather than the worries of software engineers who do the work. This calls for a new set of regulations between programmers and those who hire them. You don’t have to call it a “union” if you hate associating yourself with the industrial workers, crowded outside of the factory walls. Today I look at why anyone can win from these regulations, including you. Ideas, thoughts or objections? Do you already have a tech union membership experiences? I’d like to hear your opinions - post a comment here, and please like and share this to keep the blog going.
Unions in the tech industry are usually met with three types of criticism:
I believe that the best person to look out for my interests, and the interests of my family, is me. Thus I believe that I am in the best position to negotiate my compensation, and I don’t need/want the interference that comes from collective bargaining (Quora).
This is capitalist propaganda that is internalised by many workers. Why would hiring companies want to isolate developers? Simply because it will then be easier to dictate the conditions of labour. Instead, it makes sense for developers to invest time and headspace into the strong professional community. The community had been the big idea behind programming all along (Meta Reader). When the relationship between companies and the software engineering community is more formalised, you’d win from it even if you are in a position to negotiate higher pay right now.
2. The unions exist to protect those of average or less skill. If software engineers were to unionize, I believe that it would make my job harder, as I would have to do more to prop up those that are not capable (Quora).
In a nutshell, capitalist logic is to drive expenses down by investing in research and development that would allow replacing humans with machines. Once it replaces humans, it also brings down the salaries, and thus production expenses. This is one of the reasons why we don’t communicate with computers via punchcards anymore. Having one person operating their PC is less pricey than the whole department of operators dealing with stacks of cards. This has been going on since the industrial revolution and is likely to continue throughout your career. Don’t waste your time thinking that any specific skills or knowledge you have are going to keep much of their value as you go forward.
3. We should have a guild instead. We're highly skilled craftspeople, very similar to medieval stonemasons. We produce a product - code - but we're not like typical unionized labourers. We're also not professionals like doctors and lawyers and accountants (Quora).
Guilds are in fact opposite to unions. Simply put, they exclude people, while unions include them. Guilds had historically evolved out of the professions that required a unique set of skills. With the advent of capitalism, however, the guilds because obsolete as the capital has been invested in technological progress that allowed to avoid dependence on unique individual skills of workers. This is when the unions appeared. They became a better model of resistance to a capitalist tendency to drive down the labour costs because they focused on any workers in any circumstances. Thus, they are by design have to be open to all. Software programming from this point of view is also an occupation that is vulnerable to technological progress. Expanding automation and growing complexity of architectures in software make your skills obsolete. Some developers even decide to quit when they get tired of re-learning and refactoring their code all the time. The union needs to address re-skilling, and it doesn’t mean repeating the same patterns that worked for factory workers in the industrial era.
Conclusion: blue-collar coding and beyond
Unions are for the software development community as a whole, not for you in particular. The mere nature of our code aims at replacing us with automation, something that companies meet with joy. A union then, - or some “new” idea of what the protocol should be, - is the viable framework for organising programmer’s relation to business. Indeed, if it’s not for the union in some shape, then it will be up to the managerial chain of command to decide on the conditions of software engineering. This is not ideal, of course, since their decisions often come from places far removed from what we face in our day-to-day jobs.
Start-ups are famous for turning developers into rock stars, but unfortunately, this industry is not about start-ups. Most developers throughout their careers will have to deal with big companies - and many of us are blue-collar coders. The latter term deserves unpacking in a new blog post. Rusty Justice, who coined the term, had become quite prominent a few years ago with his success story of retraining coal miners to be coders. The bottom line, many people even do not join the ranks with the idea of becoming a rock star in the first place. Ideas, thoughts or objections? Do you already have a tech union membership experiences? I’d like to hear your opinions - post a comment here, and please like and share this to keep the blog going.