Not sure why people are opposed to unions in software dev - the basic function of a union is to equalise the power imbalance between employer and employee.
Now, people who question the need for unions in dev, I understand where they're coming from.
Software development is rather unusual in its lack of unionization, and IMO, that's because no-one has properly figured out how to commoditise our labour yet. We're the modern equivalent of medieval guilds of craftsmen - we get paid far above the median precisely because we can't yet be commoditized or automated.
Yet.
IOW The lack of a need for unionization in developers shows how lucky we are.
Right now for software development as a whole, unionization isn't necessary - we (if I'm allowed to speak for others) aren't exploited, forced to work 80+ hours / week, underpaid, etc. Generally speaking.
Game development however is a whole different ball game. The problem with game development is that there's a TON of people that would love to do it (because they love games), which makes for an easily exploitable labor force. Don't want to work 80 hours / week? Fine, everyone else does, and there's ten others that would love your job.
Of course, this is about the US which is also lacking in basic employee protection laws. The US is teeming with active cases of slavery (prison workers, unpaid overtime, sub-minimum wage payment to be stipended with tips, easy to fire people at very short notice without any compensation, etc), and no unions are around anymore to stand up for it - because companies can afford to fire anyone trying to, and there's plenty of desperate people to fill in the ranks. Free market.
Yeah you can't have a conversation about unions without also mentioning the state of labor laws in the US, which are far behind those in of the EU.
The things that I believe in: minimum wage, overtime pay for anyone below a director-level salary, healthcare benefits if working more than X hours per week, are all accomplishable legislatively, as have been done in Europe. Doing so has the added benefit helping every industry at once, not just the ones organized enough to unionize.
There are also things I DON'T want: Unions fighting for job security of the lowest performers, making it nearly impossible to fire for incompetence or conduct layoff when the business struggling. I believe employment should compensate fairly...but fundamentally at-will. I'm also not a fan of the element of coercion in American unions--that if sufficient people unionize in your company, your employer will become union exclusive and you MUST join the union or leave your job.
the basic function of a union is to equalise the power imbalance between employer and employee.
... which is why good developers are so against unions.
The power balance is so skewed in the direction of the employee in the software industry that it would be insane to throw that away and form unions. The industry would be happy to pay us all 70k a year with 3% raises based on seniority, and sure, maybe the bottom third of the talent pool would benefit from that.
But the rest of us would see tens of millions of dollars chopped off of our expected lifetime income.
> The industry would be happy to pay us all 70k a year with 3% raises based on seniority, and sure, maybe the bottom third of the talent pool would benefit from that.
Talk about an inflated sense of ego there. Do you not consider the fact that people make less may have nothing to do with where they stand in the talent pool? You're suggesting there's some sort of logical relationship between income and talent. Does it? Are you sure it's not your own cognitive bias at work?
Scared that your own workers will unionize? I hate to break it to you, but your workers deserve the right to collectively bargain with you for what they consider to be fair. They are people and they deserve to be treated like humans, not your own expendable labor force.
> But the rest of us would see tens of millions of dollars chopped off of our expected lifetime income.
Who's the "rest of us"? You're arguing that we should all not organize because a handful of people might get rich. I hate to break it to you, but that dog-eat-dog mentality isn't helpful for workers or humanity. We're all in this together, it's not just jasonkester's world you live in. We're all humans living together, not just a salary attached to hands with programming ability.
> You're suggesting there's some sort of logical relationship between income and talent.
Yes, there is. If you have the talent then in the current landscape you can work for about anyone you want and demand about anything you want. Talent is in _extreme_ demand in the software world right now.
>Talk about an inflated sense of ego there. Do you not consider the fact that people make less may have nothing to do with where they stand in the talent pool? You're suggesting there's some sort of logical relationship between income and talent. Does it? Are you sure it's not your own cognitive bias at work?
In the US, we live in a mostly capitalistic society and have a mostly free market. If talent was not tied to salary then companies would hire cheaper engineers rather than paying the current high rates. They don't because, in general, better engineers cost more money. Better here means they provide more value to the company which may involve them having better people skills. Doesn't apply to everyone but there is a decent correlation or else someone would be exploiting the opportunity shamelessly.
edit: In fact, if you believe what you say then you should be able to create a great employee owned consulting business by taking advantage of the disparity between talent and salary.
> The power balance is so skewed in the direction of the employee in the software industry
I really don't think this is nearly as true today as it was say, 20 years ago. Anecdotal evidence, sure - but my experience is that developers are crying out for unionisation, but have a bunch of rock-star crap in their heads which tells them that they're somehow going to release a groundbreaking new game or app that changes their lives completely, rather than acknowledging the more likely reality that they'll be constantly getting screwed by an industry that will automate their job away as soon as it becomes even vaguely possible.
In a way, software engineers are constantly automating their own jobs each time they improve code-reusability. The reason they haven't driven themselves out of work is because in software and especially in games, as soon as you automate something, your ambitions immediately expand to fill the void. I think the uniquely creative + technical nature of games means the industry will be more resistant to automation...however, it is also the source of crunch.
Yeah no, I don't buy that sorry. If a company tries to automate a good SWE's job to save $100k they are just digging their graves. What easily definable parts are there in SWE? From my point of view, the only reason USA tech industry is so much better than EU tech industry is because US companies realized the success of a company is strongly linked to its product's quality which can only be made by hiring better, more educated and more experienced engineers. Going back and trying to reduce engineering cost is backwards and no one will be able to survive like that in this competitive industry.
> If a company tries to automate a good SWE's job to save $100k they are just digging their graves.
Everybody says that about highly skilled work. Humans excel at making skilled jobs obsolete. You don't need a perfect replacement for human skill / creativity. You just need an acceptable basic replacement to which you can attach bells, whistles, and marketing. Nobody is going to hire a rock-star when a session musician will still fill your bar - and you don't hire a session musician if a jukebox satisfies your customers enough to keep buying pints.
> What easily definable parts are there in SWE?
Most software developers are not software engineers. Most software is not a feat of engineering.
> From my point of view, the only reason USA tech industry is so much better than EU tech industry is because US companies realized the success of a company is strongly linked to its product's quality which can only be made by hiring better, more educated and more experienced engineers.
If your argument is that EU developers are dumber and less experienced than their US counterparts, then it's not much of an argument.
> Going back and trying to reduce engineering cost is backwards and no one will be able to survive like that in this competitive industry.
The problem is you're viewing 'software development' as the industry. But that's not how the rest of the world sees or interacts with it. Developers are not interchangeable. Software products are not interchangeable. Within each industry, jobs and processes which can be automated, will be. Most software developers do not work in the games industry. They are not creating new products. They aren't being creative (or at least, not particularly creative). The skills required to implement most software are generally already a few years behind where the technology actually is.
> If your argument is that EU developers are dumber and less experienced than their US counterparts, then it's not much of an argument.
No the point is that EU engineers are paid peanuts compared to what they could be paid in the US, and this is not an accident, this is a product of European way of organizing companies that favors paying management and not engineers. In Germany et al employing a worker is seen as a favor to this worker whereas in US it's the other way around. In US good companies realize if you employ a good engineer things will just work out, so they make sure they don't underpay their senior engineer, they make sure they're happy and they can be productive, and they see it a great opportunity to be able to work with this great engineer. There is no argument whether American software/hardware industry is doing better than EU software/hardware industry. I mean look at the numbers, EU is not even in the race. I worked in both EU and US as both software and hardware engineer, and in EU companies cannot give 2 shit about their key engineers when in US, some companies are even smart enough to spend a lot of resources keeping their junior engineers happy (benefits, bonus, more fun problems etc) and the difference is day and night.
> The problem is you're viewing 'software development' as the industry. But that's not how the rest of the world sees or interacts with it. Developers are not interchangeable. Software products are not interchangeable. Within each industry, jobs and processes which can be automated, will be. Most software developers do not work in the games industry. They are not creating new products. They aren't being creative (or at least, not particularly creative). The skills required to implement most software are generally already a few years behind where the technology actually is.
This really doesn't mean anything. Technology doesn't have to be cutting-edge and not being cutting-edge does not imply that it can be automated. You can automate a given task two ways: hire bunch of very cheap people from 3rd world countries to do a similar task, or build a machine that can do a similar task. My point is none of these will ever solve the problems American SWEs are trying to solve. You cannot build an Uber this way. You cannot make rockets go to sky this way. You cannot write Airbus's OS this way. You cannot do these and retain the same, competitive quality required in this industry. You cannot do that unless you spend a lot of resources for R&D how to automate programming.
No C programmer ever got fired because GCC suddenly became too good at optimizing C and "their job was automated". If your argument is that a novice coder who just learned how to write javascript frontend might get automated away, then that's just looking at the bottom minority and arguing for the entire multi-trillion dollar industry.
> In Germany et al employing a worker is seen as a favor to this worker whereas in US it's the other way around.
But again, this is only true because of the delusional rock-star fantasy which grips the tech industry. The vast, vast majority of software developers are not rock-stars. They are seen as disposable - precisely because they are - which is why mass layoffs can continue to happen as a predictable part of a development lifecycle.
You are approaching this discussion as though the key factor is the pay of a company's top employees - but those people are a tiny, tiny fraction of the people employed in the software development industry.
> There is no argument whether American software/hardware industry is doing better than EU software/hardware industry
Yes, but what people are (rightly, and increasingly) concerned about is how well the employees of those industries are doing. The fact that US tech makes more money than EU tech is largely irrelevant to the discussion of whether and how those employees should unionise (they should).
> My point is none of these will ever solve the problems American SWEs are trying to solve. You cannot build an Uber this way. You cannot make rockets go to sky this way. You cannot write Airbus's OS this way. You cannot do these and retain the same, competitive quality required in this industry. You cannot do that unless you spend a lot of resources for R&D how to automate programming.
Yes, but again - most developers do not work on these problems. Most developers aren't building an Uber. They're not building rockets. They're not writing Airbus OS'. And in each of those areas - what can be automated will be.
> No C programmer ever got fired because GCC suddenly became too good at optimizing C and "their job was automated".
Plenty of developers have been fired because management decided that throwing faster hardware at slow software was more cost effective than paying slow humans to make slow software work on slow hardware. Optimisation of code wasn't really what I was thinking of in terms of 'automation'. Rather, what I was arguing is that machines, given a (relatively) well defined problem, will be able to implement a solution that is cost effective enough to be cheaper than hiring developers.
> But again, this is only true because of the delusional rock-star fantasy which grips the tech industry. The vast, vast majority of software developers are not rock-stars. They are seen as disposable - precisely because they are - which is why mass layoffs can continue to happen as a predictable part of a development lifecycle.
This is still irrelevant because even juniors in US are paid more than seniors in EU. You don't have to be a rock start to have 6 figure salary in US. My college grad class had median $105k salary straight outta college. Sure seniors will be paid $300k and will have orders of magnitude more job security, but junior engineers are still doing pretty well.
> Yes, but what people are (rightly, and increasingly) concerned about is how well the employees of those industries are doing. The fact that US tech makes more money than EU tech is largely irrelevant to the discussion of whether and how those employees should unionise (they should).
No it is not irrelevant, my entire point is the better you pay your engineers, the better product you'll have so the more money you'll make. If Blizzard fires their engineers cause they felt like it, this is their problem. I don't think I would say employees should unionize -- I don't believe in moral arguments -- but I have nothing against unions. My point is that the framework around this discussion is way off; it's irrelevant whether your engineers are unionized or not, if you want to make tons of money in US tech industry you simply cannot do anything other than paying your engineers well and making them happy.
I don't know why you keep talking about pay. That's not what the conversation is about - and is irrelevant to the discussion at hand - which is about the security of employment for those who write software for a living.
Many sectors & industries will undergo some degree of automation, either total or partial. Included in that is the work done by software developers.
Your initial suggestion was that you couldn't automate software engineering jobs (a straw-man). Now you're arguing that the US tech industry is better because it makes more and pays more than its EU counterpart. This is irrelevant to the discussion about whether software developers should unionise. Joining a union is about more than securing good pay.
Why is that true? Games can potentially be hard problems and might need very aggressive optimization; as well as your creative staff might need to be creative enough to attract a lot of people to your art. Even if you use a game engine for everything, employing a rock star engineer in something like Blizzard certainly will not make WoW development any worse.
As mentioned previously here on HN - the coder pool is binomially distributed. Theres the extremely high end coders who will get job offers falling out of the sky, and then there is everyone else. Further, this is only in America - in the EU and the rest of the world, coders don't get rock star salaries.
I'd say unions are definitely for everyone else - and especially for people in the Video Games industry.
It seems likely that the dominance of American tech could be due to how they pay their engineers. It is not as clear that America dominates game development, nor that it is due to paying devs rockstar level compensation.
According to Glassdoor (which I realize is not the most accurate source), Blizzard Software Engineer median pay is $88,500 which is definitely peanuts in Irvine, CA. That's the rough equivalent of less than $60k here in Charlotte, which is below market rate for entry level.
It still applies to the gaming industry, but to your point, the bargaining power of high talent programmers is suppressed by eager programmers (not mutually exclusive groups).
Apple makes 400k per employee in profit, as an example.
I imagine you will see similar numbers for Amazon, when you look at their reinvestment numbers. Sounds good, but still when someone uses your production to expand their business, it's still your work, and that number is a tax on your work.
I don't doubt we'll see similar very large numbers at Google.
Our unwillingness to unionize allows them to run away with so much of our valuable work it's insane. There isn't a single engineer at Apple that should be making less than $350-400k. They might, if they had a union.
Would it be fair for engineers in Apple to get 400k, while the same engineer in, say, Microsoft would only get half as much? While engineers are important, they are not the key to huge Apple's success.
Engineers working for Apple are not much smarter than those at Microsoft. But Windows Phone is dead, while IOS is alive.
Traders in Bear Sterns were much worse than traders in JPMorgan, but the former collapsed, while the latter stayed.
Sun engineers are probably much more bright than those in Oracle, but it's Oracle who bought the Sun, not the other way round.
As much as I hate to admit that, the management makes a lot of difference and a good manager is worth his weight in gold literally.
> Would it be fair for engineers in Apple to get 400k, while the same engineer in, say, Microsoft would only get half as much? While engineers are important, they are not the key to huge Apple's success.
They are an essential component of Apple's success. All of their workers are. Sure, some are worth more than others, but my point is that $400k in profit per employee is a tax against their work, and that it should be more equitable for the workers that make the things happen that the oh so valuable managers request.
We need to bring productive work back to the forefront. It is just as valuable as management/adminstrative work, probably more so. I think that the best way to bring market forces back to normalcy in regards to productive activity is by unionization or aggressive tax policy.
So... When Apple contracts a cleaner for their office, should they pay them more than, say, IBM? Surely clean office plays some role in company success?
What's about electricity? Should Apple be charged more per kWh using the same logic?
The thing is, the union won't end up negotiating a baseline rate of $400k for everybody. It'll be a lot closer to what all those salary surveys come back with as their "market average" rate. So, $70k.
You, on the other hand, absolutely can negotiate directly with Apple to receive a $400k total comp package. They hire thousands of engineers a year in that range.
The profit a company makes does not equate to the value of each individual employee or what their salary should be. I'm not worth $400K / year, even if I was able to get through their hiring process.
I did not get the feeling that the Bloomberg piece was about devs. Did I miss something? They specifically called out Apple Maps, which requires a lot of data cleaning.
I think the point of the parent comment is that we're discussing software engineers, who certainly have a different negotiating power than the (presumably nonengineering) contractors mentioned in the article.
You seem to suggest that unionized industries all have lower pay. How does movie industry, professional sports industry etc have unions and still have their principals paid at the high end of the wage spectrum?
Please see batty_alex's reply in this same thread which neatly showcases that version of pro-unionization people. Clearly some people see unionization as a means to make everyone "equal" and to remove any individual differences in pay except seniority. For the greater good, of course.
I don't appreciate the incendiary remarks and you putting words in my mouth. I said none of those things. I pointed out fallacies in an argument and asked what was wrong with leveling the playing field.
You neatly showcased a knee-jerk anti-worker response. I hope your coworkers know how you'd gladly sell them out so that you can increase your salary.
Look, bud, you're fighting against your own interest and you don't even know it. I really hope you find some empathy for people who are less "equal" than you.
There is an alternative to unionisation, in the form of professionalisation and certification much like doctors, accountants, legal professionals, surveyors, etc. Its not the same thing, but ends up having similar effects through professional associations. Basically posh unions. The British Computer Society could become something like that over here, I suppose.
One route towards that might be people int he games industry here joining say the BCS en-masse and pushing it in that direction. I'm not even sure the BCS, on the whole anyway, would resist such a move.
No, sorry, you're completely wrong. Doctors and other professionals have the option to be independent businesses whereas a coal miner or firefighter doesn't. Unions compel working conditions and fair pay where individual or government effort to accomplish the same would/did fail. The better alternative to unionization or professionalization are employee-owned co-ops where the workers also have a vested interest in helping the company and tend to earn base pay and bonuses according to their work and the overall success of the venture. And besides, anyone can code, the only situation where Professional/Chartered Engineers are needed is when public safety or large-scale cost are involved. There's no reason to put up BS barriers to exclusify an industry that is growing like mad and will likely be put almost out of existence by self-programming systems that use AI/ML/DL to make what users want thousands of times faster than any human team ever could. And then, at some point, compilers, packages and hardware will be developed by algorithms and gradually replace humans... because there's very little special that a deep learning algorithm couldn't do better than the best human ever in a few weeks.
It seems like employee-owned co-ops are an alternative to traditional company organisation. There's nothing to stop anyone from founding such things right now, in fact some do exist though not sure about in the software space, but I suspect there are so few for good reasons.
Meanwhile a lot of startups do compensate employees with stock and options though, under conventional company structures. That's overall a small segment of the industry, but it is an option. A lot of programmers work for conventional businesses in traditional domains though, where radical corporate structures are just pie in the sky.
And possibly the most unpopular union in the UK, too. I've parted ways with them, as have most of my friends. It's not because I disagree with their decisions, as much as they are completely impotent.
I do empathise; the BMA are stuck between a rock and a hard place, in that their members want better work conditions, pay rises that actually match inflation (shock horror), but the government just say no.
The difference between the other unions and the BMA, though, is the BMA go back to their members and say "the government said no, sorry", whilst the others say "so be it", and the strikes commence.
I'm not quite sure how I'd improve the situation if I was a BMA representative; it's complex. However, there is literally no reason currently to pay the membership fee.
Yep but the strikes (supported by a poll of members) fizzled out and then a second round if industrial action was decided against by the BMA (without a further vote).
And the Royal College of Nurses for Nurses, my wife is a member. Both organisations are publicly perceived more as 'professional associations' though and have more cachet than trades unions usually do. Both have the Queen as their royal patron. they also both have a very active role in promoting best practice and professional development.
That's the sort of angle I'd go for. Organise coding camps and conferences, provide guidance on professional development, establish an online library, promote certifications. Make it a useful resource, not just a campaigning outfit. To get traction it needs to have a credible claim to provide value to employers as well as employees.
If an employer does respect their employees, values them and wants to attract valuable talent, they should see this organisation's activities as complementing their own goals more than they clash with them. That's the sweet spot to aim for. It is a tricky thing to pull off though.
+1 - at the moment the BCS doesn't have a purpose, other than pushing its superfluous certifications. Its focus has usually been on IT management rather than ordinary developers/testers/etc.
Look at the credits for many major AAA titles and you'll see that a huge amount of work is done overseas in asset factories. Talent is a commodity.
Automation is here and has been for quite some time. The skill required to produce assets and code for games has fallen through the floor thanks to good tools that do much of the heavy lifting.
Games was never lucrative for the lowely employees, and it's certainly not going to be in the future.
Most people that work in trades can't be automated yet either (at least at a reasonable price). Commoditization is kind of difficult to imagine for what is essentially general problem solving (which is what software development essentially is). Some are just better at it than others.
> Not sure why people are opposed to unions in software dev - the basic function of a union is to equalise the power imbalance between employer and employee.
That's a good question. It may have something to do with the solitary nature of the work encouraging an individualistic attitude and a predilection for mechanistic ideologies (like those focused market economics, any of which have strong anti-union streak). Startup success stories may also prime developers to think of themselves as future business owners rather than as life-long workers.
okay, regardless of my views on unions, contracts between unions and employers do not prevent lay offs. they would determine the order of who gets laid off in most cases but they don't prevent them. lower wage earners covered by unions generally don't see the level of service the true blue collar sees.
plus there are many positions in this layoff that may never have qualified for participation in any union. unionization won't fix the game industry
Labor is increasingly commoditized in software development. Compensation has not kept up with increases in CoL expenses, productivity and profits over the last decade.
It's quite simple. The people with most influence and income feel like they have nothing to gain from unionizations and feel that regulations would only stifle their livelihoods.
I know plenty of people that are making 6 figure salaries and simply can not relate to the plight of the average employee.
Now, people who question the need for unions in dev, I understand where they're coming from.
Software development is rather unusual in its lack of unionization, and IMO, that's because no-one has properly figured out how to commoditise our labour yet. We're the modern equivalent of medieval guilds of craftsmen - we get paid far above the median precisely because we can't yet be commoditized or automated.
Yet.
IOW The lack of a need for unionization in developers shows how lucky we are.