Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Why does Software Engineering not have union representation like other professional occupations, such as teaching? Are there any unions for software developers that exist and are successful?

share|improve this question

closed as too broad by gnat, GlenH7, MichaelT, Bart van Ingen Schenau, Kilian Foth Apr 10 at 15:19

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

40  
DO NOT WANT. :b –  fennec Oct 5 '10 at 5:00
28  
I like this question, because often developers are treated like factory workers, not professionals. –  ProfK Oct 5 '10 at 12:15
20  
What does it say about me that I had to read the question twice, trying to figure out how c-style unions fit into it? –  Caleb Huitt - cjhuitt Oct 5 '10 at 16:46
15  
This is very localised. There are unions that represent programmers in the UK and very useful they are too. Most people seem to think that unions are there purely for group negotiation and gratuitous militancy. In reality in this sort of union those things are pretty rare and their main function is to provide legal advice and support for their members that they simply couldn't afford otherwise. Given how many programmers talk about being shafted by management, doesn't that sound like a good idea? –  Jon Hopkins Dec 23 '10 at 15:17
5  
@Jon Hopkins: Very good point, the primary function of the unions in the UK, contrary to the negative portrayal by the media (who only ever report strikes), is to provide legal backup to their members when they get screwed. –  Orbling Dec 23 '10 at 15:50
show 4 more comments

10 Answers

up vote 33 down vote accepted

Unions are useful when one person can pretty much do the same job as anybody else with little or no training. By allowing employees to negotiate as a whole, you don't run the risk of employers simply finding the person who'll work the cheapest and driving wages down. (At least, that's the theory.)

For professional fields, when employees require particular skills and you simply can't replace one engineer with someone else with no "penalty". As an engineer, you have much more power to negotiate wages and working conditions on your own, based on your own skills and knowledge.

share|improve this answer
26  
Just because you're in a better position to bargain with management over wages doesn't mean you're better able to negotiate working conditions, practices or prevent unfair exploitation from management. What engineer isn't routinely working overtime? So much for the power to negotiate wages. Is his working environment professional? Does the workplace encourage software piracy? Is management routinely changing priorities and goals? Is productivity measured by keyboard activity? Are equipment and tools sufficient or obsolete? –  Huperniketes Oct 12 '10 at 8:29
16  
Also, there are plenty of white-collar professionals who are unionized. There are songwriters, actors, directors, cartoonists, television writers, etc. who bargain with employers through their trade unions to help prevent their work from being unreasonably exploited. –  Huperniketes Oct 12 '10 at 8:50
5  
I bet that your boss has not the same analysis. Except for rare programming gurus, a software engineer CAN be replaced by another one. Replacing a senior with high salary and old ways of thinking by a junior fresh from school, with new ideas and low pay is not uncommon. –  mouviciel Oct 12 '10 at 9:03
6  
@mouviciel, except that is bad practice. Yeah, he can code, but developers become part of the system they write. Nobody can fix/modify a system faster than the person who wrote it. And that saves more money than hiring a junior –  CaffGeek Dec 23 '10 at 15:28
9  
In the US, at least, professional sports players tend to be in unions. In baseball, a second baseman and an outfielder need distinctly different skills, not to mention pitchers and catchers, but they're all represented by the MBLPA. "Drafts", in other sports, are only possible because there is a union. –  David Thornley Dec 23 '10 at 17:59
show 5 more comments

Software Engineers don't like the restrictions on their freedom that unions bring about, and they tend to be more individualistic. They would like to get paid on their ability, not the same rate as every other developer. If they were Union they'd be stuck where they were if they had the usual defined benefits plan, unlike a 401K that they can move around without penalty; and Software Engineers probably tend to have job changes more due to the nature of project work, with each project having the potential to be quite different that the others.

Once Software Engineering gets more ho-hum and standardized, then you'll probably see more Unions involved.

share|improve this answer
    
Given the current rate of change, will it become more ho-hum and standardized, or less so? –  pate Oct 5 '10 at 9:24
1  
@FreshCode, having been in programming for almost 30 years, it seems like things are getting more standardized, and change is coming slower. –  user1842 Oct 5 '10 at 18:24
add comment

Depends where you live - in Australia there is the Australian Computer Society. When I was at Uni they talked to us about joining, but I don't really see the value in joining - from memory it was pretty pricey to be a part of.

What do you want to get out of the union?

share|improve this answer
8  
They're not a union like the Teacher's Union are. They don't have any power to negotiate wages and working conditions, for example. They're kind of like the Chartered Accounts associations for accountants and stuff like that. –  Dean Harding Oct 5 '10 at 0:43
1  
I think any organisation has the power to negotiate. In europe, we have lot of different unions based on religion or politics! Even healthcare insurances are religion or politics based. They are very important. –  user2567 Oct 5 '10 at 7:54
add comment

About the only "professional" job that's unionized, at least in the U.S., is teaching - and that's because they're public employees. Unions damage the companies they infest and make them uncompetitive - which harms the employees too. Unless your employer is a monopoly (e.g. the government) or part of an oligopoly (e.g., the auto companies), the union can't actually improve wages or working conditions. Programmers tend to be smart people, and see this.

share|improve this answer
12  
Saying that unions are damaging productivity and harming the workers is a personnal opinion. I would argue quite the opposite ... –  Guillaume Oct 5 '10 at 8:52
3  
It can be more than a personal opinion, but you'd need some proper research and a citation: scholar.google.com/scholar?q=union+productivity –  fennec Oct 5 '10 at 14:48
10  
-1 For anti-union rhetoric and implying that union members are stupid. –  Orbling Dec 23 '10 at 15:45
add comment

Somewhat akin to the other answers, but the classic "professional" roles in society (doctor, lawyer, engineer, etc.) have not been unionized. The working class banded together into unions to oppose heavy-handed treatment by management and owners. By collectively demanding a change in their working conditions they were effective where a single person could not be. After the basics were covered (and indeed became the law of the land) the union leadership had to be seen to be doing something of value, other than drawing salaries out of the union dues. This led them to continue to demand more and more concessions from the management and owners, backing up the demands with strike actions when they were not met. Professionals never really dealt with the same issues and there was little or no benefit to joining a union. For creative professionals like software developers the rigid rules of a union where your time in the union counts for more than your skill is anathema to how they want to work. The strongest performers are the most likely to avoid a union; the weaker performers are usually for it because they can hide in the crowd and are guaranteed a minimum employment. Software developers are generally better educated than the average working class person and will ask hard questions like "What do I get in return for my union dues and the restrictions on what I can do?" and if the answers are not compelling they will not sign on.

share|improve this answer
3  
Heh, reminds me of that episode of the Simpsons... "If only we'd listened to that boy, instead of walling him up in the abandoned coke oven." –  Dean Harding Oct 5 '10 at 3:43
1  
I have used the Simpsons many times over the years as an illustration for some point I was trying to make. I have trouble remembering something I read last week, but I have perfect recall of the first few seasons of the Simpsons. –  Todd Williamson Oct 5 '10 at 13:30
1  
Excellent explanation. I couldn't agree more. –  Zippit Dec 23 '10 at 15:19
2  
Well in the UK there are unions for engineers and software engineers, my father was a regional secretary for the AEU (Amalgamated Engineering Union) in the UK long ago and the union was quite active then. These days it is fully merged in to Unite, which I am a member of as software engineer. –  Orbling Dec 23 '10 at 15:48
8  
The classic professional roles you name are licensed, which is actually rather similar to being unionized. A clinic can't lock out its doctors and bring in unlicensed replacement workers, and a license can involve enforcing a professional code of ethics which can be used in bargaining. –  David Thornley Dec 23 '10 at 18:03
show 4 more comments

Interesting question.

We produce a product - code - but we're not like typical unionized laborers. We're also not professionals like doctors and lawyers and accountants. (Can you imagine some hospital administrator demanding that a surgeon work overtime on Saturday - with no extra pay - to push a few more patients through?)

Really, we're highly skilled craftspeople, very similar to medieval stonemasons. The folks who built the great cathedrals of Europe varied tremendously in their abilities and qualifications, and job-hopped quite a bit - and still managed to have a Europe-wide guild. And woe betide the nobleman or bishop who screwed over a master mason... they could just kiss their project good-bye.

I often think we, too, should have a guild - especially when I read so many questions on Stack* relating to software developers being underpaid, having no life due demands to work huge amounts of unpaid overtime, and having to put up with crappy working conditions.

share|improve this answer
9  
I agree with the guild idea. Also apprenticeship as a way of teaching a new programmer seems logical to me. –  glenatron Oct 5 '10 at 10:11
1  
I think we need a guild too, and a patron programmers.stackexchange.com/questions/29326/… –  Peter Turner Dec 23 '10 at 15:08
3  
We do have guilds in the UK, I am a member of the British Computing Society (BCS) and a member of the City & Guilds Institute. Also a union member of Unite. -- All as a software engineer. –  Orbling Dec 23 '10 at 15:44
    
Unions give power to workers through legal actions and strikes, and professionalism gives power to workers through respect for expertise. Guilds went out the door because unions and professionalism are more powerful (how would a guild protect us from overtime on Saturdays with no pay)? Both unions and professional organizations have apprenticeship, you don't need a guild for that. –  omouse Aug 18 '13 at 15:20
add comment

Software Engineers do have a union...

The "Communications and Computer Workers Industrial Union 560" is a department of the Industrial Workers of the World (IWW or "Wobblies") who work in the electronic communications industry. Their organization is open to workers engaged in computer operation, including programming and networking. See http://www.iww.org/unions/dept500/iu560/

Noam Chomsky is an IWW member.

share|improve this answer
1  
Anyone know if there is one in the UK ? –  NimChimpsky Oct 5 '10 at 12:26
1  
@NimChimpsky - Yes. One of the guys who works for me is a member of Connect (connectuk.org), a specialist communication workers union that grew out of BT. –  Jon Hopkins Dec 23 '10 at 15:26
1  
@NimChimpsky @Jon Hopkins: The primary engineering union in the UK was AEU, which merged with the electricians to form AEEU, then merged again to form Amicus and is now called Unite. It covers software engineers. Though most programmers would choose to go with a professional membership body like the BCS instead. –  Orbling Dec 23 '10 at 15:47
    
@Orbling - Does the BCS do the whole legal backup thing? –  Jon Hopkins Dec 23 '10 at 15:53
    
@Jon Hopkins: Depends on your membership grade. They give free access to lawyers via phone for Professional Members, Chartered Members and Fellows. Fellows get free legal representation for employment disputes. For legal protection, the unions serve a much better purpose, though the BCS legal services can advise on a wider gamut of issues. bcs.org/server.php?show=nav.9234 –  Orbling Dec 24 '10 at 10:20
add comment

The software industry lacks unions simply because neither the workers nor management see the need for collective representation. There are obvious reasons why management would rather not see software professionals collectively bargain on work issues such as compensation, working conditions, etc. But software professionals haven't felt enough discomfort in the industry as a whole to take action collectively.

But the larger issue is that software professionals also haven't looked at the collective representation model the same way professionals in other industries have. The American Bar Association could be considered a union for lawyers, as the AMA is for medical doctors, and AIA for architects. Those organizations define the level of professionalism for practices and skillsets that we should model ourselves on to improve the quality of software and working environments.

We must because it's clear the management at your company isn't likely to do it.

share|improve this answer
1  
The AMA and ABA are not unions. They are lobbyists. The members discovered that they can pool their money, buy off politicians and prevent competition thereby allowing them to gouge the public. Those associations are protecting the members from the public and have little to do with making the members a union of people singing kumbaya with eachother, like a union would be more inclined to be. –  Dunk Nov 10 '11 at 19:52
1  
@Dunk That's not necessarily a bad thing. The AMA and ABA create a stranglehold on their professions that bar entry from the "unwashed masses". Perhaps that is what we need to avoid what we run into now where any idiot who picks up a "Teach Yourself PHP In 24 Hours" book can pass themselves off as a "programmer" to some clueless manager who then thinks that programmers can be paid $10/hour like some retail worker. –  Wayne M Dec 9 '11 at 13:18
    
@Wayne - I suppose your point of view is valid and it would certainly keep the pay of software developers very high, which I would like very much. However, I am also a strong believer in the government staying out of people's lives to the greatest extent possible and the AMA, ABA and a Software Union would certainly go against those beliefs. There really is no net benefit to society that any of those organizations exist. The only net benefits belong to the members. –  Dunk Dec 13 '11 at 21:50
    
Of course the AMA and ABA are unions. Examine the functions of any union near you and you'll see how similar the AMA and ABA are in function to them. The fact those organizations also lobby doesn't diminish the rest of their functions; after all, unions also lobby the lawmakers. And though unions might bargain for members at a particular company, the AMA & ABA bargain for their members before lawmakers. Even employers lobby lawmakers. The only ones who don't lobby are software professionals because they don't want to have a union. How naive! –  Huperniketes May 26 '13 at 4:24
add comment

I've said this a few times in comments, but I think it merits an answer.

In the UK we do have unions for software engineers/programmers. The primary one is Unite, which has the primary engineering union as a constituent. The sector for computing workers is Graphical, Paper, Media & Information Technology.

The union situation in the UK is complex and now relatively few people are union members because of a lot of power being cut from the unions in the 80s, due to anti-union political policies and a few unions setting a bad example, which allowed the mood for changes.

To stay strong, most of the old unions merged together and have continued to do so for some time. When I was born, most engineers were part of the AEU, the Amalgamated Engineering Union, this merged with the electricians to become the AEEU in 1992. The AEEU merged with the MSF (Management, Science and Finance) union in 2001 to become Amicus. UNIFI (Union for the Finance Industry) and the GPMU (Graphics, Paper and Media Union) merged in to Amicus in 2004, and in 2007 the T & G (Transport and General Workers) merged in and the name was changed to Unite.

There is still strong anti-union feeling in the country, particularly from the professional classes, who mistakenly believe that the primary purpose of the union is to bleed companies dry by forcing up wages and striking. This is not the case. The primary responsibility of a modern union is to protect their workers from malpractice by their employers. This is usually in the form of free legal protection for defending members against illegal working practices, unfair/wrongful dismissal cases, health & safety issues, etc.

For the cost of being a member, the ability to get expert lawyers involved for free on your behalf when the ** hits the fan is a life saver. One of my ex-colleagues is presently taking an old employer to court over unfair dismissal claims. He was always highly anti-union and is now having to pay out an immense amount of money to take highly disreputable people to court who have huge wallets. Bet he wishes he had paid the £10.96 a month.


Most professionals, instead of joining "unions", join pseudo-unions in the form of professional membership bodies. The primary organisation in the UK for programmers is the BCS (The British Computing Society). Becoming a professional member of this body gives a degree of recognition, requires accreditation via exams, and gives post-nominal letters. The body also provides many networking opportunities via a wide variety of groups that meet frequently for talks and discussions. The organisation is also has Royal Charter, so can issue Chartered status to IT professionals, or indeed engineers as they can award the Chartered Engineer status. I believe there are equivalent organisations in the US and other domains.

Many professions also have regulatory bodies, which are usually compulsory membership and function like unions in part. Doctors in the UK have to be registered with the General Medical Council (GMC), and are usually members of the medical union, the British Medical Association (BMA). So it is not only teachers that are professionals and unionised.


To summarise, joining a union is possible for programmers and is highly advisable unless you have total blind faith that your working career will always be free from any potential legal situation. It is not all about the masses against the classes, it is just common sense to protect yourself and the family that depend upon your job.

share|improve this answer
1  
Who downvoted this? No downvoting without comment, it's only polite. –  Orbling Dec 24 '10 at 9:29
1  
I think you'll find the reason that unions have a bad reputation has nothing to do with misunderstanding. It has everything to do with first hand experience of working in locations that have unions. Rather than doing what it takes to get the job done, as good and valued employees would do, union rules encourage laziness and not my job type of attitudes. In fact, they prevent the can-do attitude person from getting their work done because if they do a 30 second task that has been decreed a union job because it will take 3 days for a union member to do it then they get written up. –  Dunk Nov 10 '11 at 19:57
2  
@Dunk: That does not apply everywhere, or with all unions - just a prejudiced attitude towards them. I've not noticed that sort of thing in the last few decades in the UK, perhaps a little in the seventies, but it was a short-lived phase. –  Orbling Nov 10 '11 at 21:29
add comment

TL;DR No unions because its not in the interests of everyone else.

There are some organisations for software developers globally, and in each country. They all share one characteristic. What do Professional bodies for software development like, IEEE CS,ACM, BCS, and ACS have in common: no regulatory powers. Not a coincidence. Don't want another Bar Association starting up. Programming is essential to the world but arrived as a job after the other professionals had already carved out their regulatory powers.

As Software Development is not regulated anywhere in the world, it is not a Licensed profession. Most developers have university educations and are culturally disinclined to join unions.

(I'm going to use the term software development instead of software engineering from a desire to avoid the whole what is software engineering issue)

There is an interesting piece of game theory going on too:

Young developers out of school take low paying positions to get work. Employers use the threat of getting in cheaper replacements to hold down salaries.

There is also a supply of discipline-crossers like Physicists, Electronic engineers and the like who will work in software development if they can get paid. Over production of EE's, Physicists and Mathematicians supply more cheap labour. ('Regular' engineering doesn't pay particularly well, and even being a PE isn't cost effective [check Job vacancies for PE positions and see the differential in pay against non-PE].)

Now this is not true in many other professions, as they are generally Licensed like regular engineering, Law and Medicine, for example: Lawyers don't have to worry about firms getting in Philosophers. (Junior law is a snake-pit though....)

Most western countries also have a special class of Visa for non permanent residents with Software skills. This is generally pushed by large firms in the country who want cheaper overseas developers. (Large corporates claim persistently there is a shortage, but this doesn't seem to be backed up by, for example by the US census data.)

Now, the Bar Association might have an issue if a special Visa was created for importing cheaper lawyers. This is not as absurd as it sounds, as Medical Doctors from most countries have to re-qualify to practice in many countries they might migrate to. So it seems like our professional friends manage that a bit better than us independent minded software developers.

So there are many downwards pressures on salaries.

Lets do a thought experiment. Suppose there was a global Professional body for software development. We're going to try to consider a situation where no software developer loses out. Not out of niceness, just because the jobs would all move to wherever the organisation wasn't. It might perhaps have a de-facto membership: if you develop software , you're a member. Lets suppose that instead of trying to get any country to stop importing labour, they just set rates that were global. The set rates would have to be ample for people in expensive, wester nations.

Obviously our brethren in the developing world would be very very happy. Happier than a Bangalore senior programmer. (and that used to be pretty happy IIRC.)

Now all software developers are happy. Who would be unhappy?

The Physicists and EE's and Mathematicians would be happy. ( They'd be software developers)

But individuals and business globally would pay a lot more for software. They'd be unhappy. Where is software used ? Everywhere in the world economy, there is software.

If such an organisation existed, it'd be banned immediately. ( in most "right thinking" countries. ;))

It is, I think an isomorphic issue to "too big to fail." : Too useful to allow collective bargaining.

Software developers are victims of 1) their own success 2) their penchant for undercutting each other. "The old rooster cage" argument.

share|improve this answer
add comment

protected by Yannis Rizos Mar 3 '12 at 8:21

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.