38

In light of the acrid responses to the intellectual property clause discussed in my previous question, I have to ask: why don't we have a programmers' union? There are many issues we face as employees, and we have very little ability to organize and negotiate. Could we band together with the writers', directors', or musicians' guilds, or are our needs unique?

Has anyone ever tried to start one? If so, why did it fail? (Or, alternatively, why have I never heard of it, despite its success?)

later:

Keith has my idea basically right. I would also imagine the union being involved in many other topics, including:

  • legal liability for others' use/misuse of our work, especially unintended uses
  • evaluating the quality of computer science and software engineering higher education programs -- unlike many other engineering disciplines, we are not required to be certified on receiving our Bachelor's degrees
  • evangelism and outreach -- especially to elementary school students
  • certification -- not doing it, but working with the companies like ISC(2) and others to make certifications meaningful and useful
  • continuing education -- similar to previous
  • conferences -- maintain a go-to list of organizers and other resources our members can use

I would see it less so as a traditional trade union, with little emphasis on:

  • pay -- we tend to command fairly good salaries
  • outsourcing and free trade -- most of use tend to be pretty free-market oriented
  • working conditions -- we're the only industry with Aeron chairs being considered anything like "standard"
65

Unions tends to protect industries where it is easy for the employer to exploit their resources and provide very bad working conditions. This usually mean the employee has no negotiating power to go see elsewhere (poor, low education, very few employer) so they need a greater structure, the union, to defend them and give them some negotiation power.

In computer engineering, there has been so much demand for resources (and that has been true even after the bubble burst) that if an employer pisses you off and you are good, you just move out and start elsewhere, with usually a better salary anyway.

Also, we are in a domain where a lot of incompetent people can easily survive. I know this is true for pretty much all industries but our is particularly plagued with that problem since it's so young and vast, and the union would only protect those incompetent people and our industry would suffer as a whole.

28

The goal of a union is to ensure an absolute minimum for everyone at the expense of limiting the maximum for anyone. That alone is enough to make me oppose them for the sake of my own future. I believe that once you have taken the mindset that you want to guarantee yourself a minimum you've effectively surrendered. You are no longer seeking to raise your own bar and attain higher heights.

Also, I don't think that unionization translates well to the software development field. Every product is different. The technology is constantly changing. The skill set drives the product as opposed to an industrial setting where the process drives the skill set. By unionizing, software developers would in effect be limiting themselves to the current technology. Code would be reduced to a commodity where the cost of construction is pre-calculated. And as has been shown many times before, once you apply a metric to software development (lines of code, number of condition statements, etc.) the system is quickly gamed to increase the metric at the expense of the product itself.

In a field where the sky is the limit I wouldn't spend so much time worrying about the floor.

14

I think we need a 21st century union. The old style unions fought for better working conditions (important) and overprotected the bad workers as well as the good workers. They also in a lot of cases limited salaries. The reality is that some developers are way better than others and as a result deserve more pay. So a union trying to negotiate every little thing would be a disaster. Hence why we need a new kind of union (especially since in the government money talks, and right now no one is advocating for the programmer, but the big companies are certainly advocating for themselves).

Below is a list of issues I think need fixing. I'm not looking to completely outlaw anything, but just for fairness.

Working Hours

The video game industry sure could have used a union when EA was abusing its employees. There are many other areas where developers have 60, 70 or more hour work weeks because some idiot in business over promises things. And the law seems to say in most places that programmers are exempted, or even if it doesn't the company will still not pay you and it is a big expense to bring a lawsuit. So working hours is a serious problem. I'm not saying that 40 hours per week is the maximum and anything over that should be illegal. But I'm saying if you are working 60 or 70 hours you should be compensated. I'm even willing to be fair and say that the extra hours can be at a rate of Salary / 52 / 40 * overtime. So basically each overtime hour is the same as a normal hour. For companies releasing a product I would say give the option to defer payment, but if that programmer is fired, all unpaid overtime is immediately due. The reality is that all the free work often expected is totally ridiculous. In many other industries overtime is paid at time and a half or more. The workaround is that many programmers get jobs that are flagged as manager type jobs even though they are a normal programmer. In other areas there are no laws saying anything about overtime.

Also overtime should be disclosed up front. It's not fair to hire someone under the assumption they will work 40 hours per week and then suddenly 80 hour work weeks. Programmers deserve the right to say no before they are locked into the company and trapped. There will always be some industries that need a crunch time, and people who want to work there. But there will be many who do not want to work in those conditions and they deserve the right to work 40 hours a week at the job of their choice. I'm not saying that they have to be allowed to work 40 hours per week at EA. The reality is most people know that at EA you will work over 40 hours a week. People will always want to join and the union shouldn't stop that. But they definitely should get paid. It should be illegal for companies to offer comp time or a bonus and then take it back. The reality is that in some form overtime should be guaranteed compensated, maybe time and a half or whatever the norm is, but I'm willing to say at just normal hourly pay.

The other thing that having to pay overtime would do would be to make management set more realistic schedules. They will no longer be able to cover up their incompetence by saying they delivered on time and under budget even though they set an unrealistic schedule and ran their dev team into the ground to do it. The money would show up and they would have to explain it. Then when it is realized that they don't know how to schedule maybe a new manager would come in who could schedule better. But I don't think management is stupid. I think once overtime starts to hit their bottom line they will learn. Because in many companies releasing a software product now or in two weeks doesn't matter. It is basically just some manager trying to make a name for themselves getting stuff done quickly. And those guys will probably be in trouble once overtime is paid and it all starts to show up for the bean counters. Most likely if overtime is time and a half they would be better encouraged to stick to 40 hour work weeks with only the occasional crunch time if things run over.

For industries (start ups, video games, etc.) where getting the product out matters, this just insures the developers are compensated for their efforts. Now you can't promise comp time, bonuses, etc. and then back out. Well I mean you can...But you'll always be responsible for compensating those overtime hours by the minimum payment of hourly salary (or time and a half). Anything on top of that would be great....

Employment Contracts

Many of the employment contracts are completely overbearing. In some states they are unenforceable but in other states they are enforceable. Contracts that say you cannot work and do programming for one year after you leave the company are particularly troubling. But reality is that most work you do for a typical employer is nothing revolutionary. Another invoicing system, another database driven web app, something that crunches their data a certain way, etec... Nothing is revolutionary or cutting edge. I admit you shouldn't be able to just yank out the product and sell it to someone else because it is work you did for your last employer (well I sort of agree). If you just create a web app with some fields for your employer that links to a database. Well while I'm sure the data of the app is intellectual property nothing you did would be super revolutionary. At your next employer you may do the same thing. And occasionally you may use a technique you invented or used at a previous employers. This is just professional growth and growth in experience and it should be taken employer to employer. This is part of what experience means and trying to stop that by an employment contract is unethical.

Another sticky point on employment contracts is saying that they own everything under the sun you think of and do or everything relating to an industry. Because even if the contract only says that they own everything relating to an industry the reality is that many software projects can find application almost everywhere. I mean if you work for a company that makes point of sale systems then you should be able to take their technology or the work you did for them and go create your own point of sale system to compete with them. But if you contribute to the linux kernel, the employer should not own that. If you write games on your own and sell them, then they are yours. Even by claiming an industry is a problem. If at home you invent some type of generic middleware, even though you work say in the auto industry, there is probably an argument that the middleware could be used by the auto industry. If your job is to develop middleware for he company then it is tricky. But if you are just a maintenance programmer for their web front end, then clearly it is just a project you did on your own time that has nothing to do with your jobs. Also if you come up with an idea that has to do with your job, your manager says it is not good, but you think it is and you create software to do that idea and sell it should the company own that? I think this is how the economy works. Someone comes up with an idea and identifies a market, then goes and develops the product and starts a company, etc... Especially if the employer rejects the idea. I'm fine with saying if it is directly related to your job then you should present it to your employer first. But if they reject the idea it should be yours. Because they may reject it, then you create the product, and they decide oh its a good idea we own it, even though you made it on your own and took all the risk. That's not right. Some companies even have contracts that say any idea is theirs. If you and your kid work on a science project, the company owns it, whether software related or not. Those contracts are ridiculous.

Some employers do some novel stuff and an employment contract should protect that. But saying you cannot work for a year is overkill. If you invented some statistical algorithm to keep predict inventory percentages for a retail store then by all means that is the employer's intellectual property and it should be protected, you can't disclose that to anyone. All of the employers data should remain confidential too. you shouldn't be able to steal customer lists, address lists, etc... These uses of an employment contract I support. Even something that says you can't poach employees for a small period of a few months to a year is not totally unreasonable. But much beyond this is unreasonable. And a lot of times even if the contract is unenforceable you have to have the funds to keep fighting in court through appeals until you get to a high enough court to decide the issue.

Also a lot of times you don't get to see the contract until after you accept the job and give notice on your old one. Now if you don't sign the contract they will fire you or not hire you and you already left your old job. That's not right either. All contracts should be given at the beginning as part of the hiring process. Some employers even add contracts later. You work for company x for 5 years, suddenly one day an employment contract sign it or lose your job....that's not right.

So we need to band together to universally reject these bad contracts. Basically an employer should have first rights to any ideas that have to do directly with your job at most. But mostly I don't even believe in that. I think that the employee is paying for a developer to fill a role. And as long as you do the job that you are paid to do then they are getting what they pay for. If you come up with a billion dollar idea (unless you are an executive whose job it is to steer the company) then the idea is yours. If the company is paying you 80,000 per year and your idea is worth 1,000,000 then it isn't right for them to get ownership. Plus most of the time a developer has to work on whatever management tells him/her. The priorities are set by the executives who are paid much more to come up with billion dollar ideas. I'm not saying that you can't give the idea to the company if you want. But the choice should be yours. In reality most developers will come up with tons of ideas but never implement them because there are costs and risks that they are not willing to take. But the company may have the resources to take these risks. But for the rare developer who comes up with an idea and has the vision and follow through to bring it to fruition they should be able to do that. If a contract is presented after the hiring process then that is not fair and we should universally reject that (I would say this should be accomplished through lobbying congresscritters and if that doesn't work appealing to the voters in this country to try to make anyone who opposes this get voted out). Also not work for a year, that's not fair. If you create a magical statistical inventory algorithm, saying no magical statistical inventory algorithms for a year may be okay (because no matter how hard you try, you will probably use some intellectual property from your last employer even in small ways). But saying no development at all for a year is ridiculous. For non novel things like file processors and database based web apps, there is no restriction, banning that for a year is ridiculous.

Also what the heck this signing away your right to sue your employer is not right either. If your employer fires you because you are Indian, Black, Overweight, Too Old or sexually harrases you or violates some other law then you have a right to sue the employer. I would hope first you try to work it out. But a lot of times companies don't care unless it hits their pocketbook. If you are fired for poor performance should you be able to sue? Probably but you should lose and have to pay the fees. It's a slippery slope. But the laws and courts are often the only defense that we as workers have. And signing away your right to sue is pretty standard on most employment contracts I have seen. Most of the more reasonable ones consist of "keep our stuff confidential" and "sign away your right to sue". The "keep our stuff confidential" is reasonable. You shouldn't be giving out customer lists. For some companies their list of clients is highly confidential and is their life blood and you should shut up about it. And the company database belongs to the company. Any special algorithms, techniques, business processes invented by the company (that aren't common knowledge or a common (or obvious twist) on common knowledge) should be protected but everything else is free to disclose/use.

CONCLUSION

I think there are other universal issues affecting us all (like abuse of immigration, etc.). Much of it striking is not the answer, but basically paying off congressmen (just like the corporations do) and just generally stirring up outrage over the voters to force the government to act. Most of it could also probably be dealt with by a strike at the offending companies coupled with a boycott. I'm not saying guarantee anything aside from working conditions. If companies want to pay $5 an hour then they are free to do that. If all of them decide to pay $5 an hour then there is a problem and the union should act..... If some companies want to run their employees into the ground with 100 hour weeks then fine, if every company wants to do that then the union has to act. And also the employees who are run into the ground should be guaranteed a minimum compensation. Employment contracts are often unreasonable. Some states declare them unenforceable. And most of the big companies are still in business so I guess it didn't add any value to the business. Just ruin people's lives. Probably employment contracts should be totally eliminated (except for reasonable confidentiality agreements saying keep our data and our trade secrets a secret unless required by law enforcement, etc...).

9

Unions are more popular in careers where there is either limited opportunity due to small numbers of employers (virtual monopoly on job market in consolidated industries) or limited power due to the value placed on the skill.

Programmers do not fall in either category. Most programmers are happy with their job in most of the important satisfaction criteria areas: salary, perks, hours. If they are not happy, there are plenty of other jobs available. Most that are extremely unhappy either refuse to leave their job, live in an area that does not have much IT industry, or do not have enough skills to be marketable.

7

Boy, people think spaces vs. tabs is flame bait? Union-vs-non will get your knees broken in some places. I'm interested how this thread gets treated by a multicultural audience though.

That said, I've always felt that if you thought you were in the top 50% of your chosen career in terms of performance, why would you want a union? It's not like you need to work at the only factory in town and the factory is using that leverage unfairly. If you didn't like your contract, don't sign it(*), go work somewhere else. If you're kick-ass at your job, someone will take you on terms more suitable to you. If you're not kick-ass, why should I join a group with you and allow your performance to reflect on my compensation?

(*) and yes, this has happened to me. I refused to sign a "we own everything you ever do or think of, ever" employment contract. I pointed out my issue with it and they modified it to cover work output only, and gave me written permission to open source several tools that I developed on the job but that the company would never monetize.

6

I think there are a couple of business and cultural trends that have coincided to mean that it hasn't seen to be as important as it might have done to have a union.

Programming is a relatively young career. It's also well paid and for the most part highly mobile. Developers tend to be able to easily (relatively) take their skills elsewhere. There's less motivation to stay and form a union to try and increase employees' negotiating power.

A programmers' union would have to be a professional body - like for teachers or doctors, rather than a traditional workers' union.

That I think we really do need. Back when I was a high school teacher my union was there to provided professional legal backup and support, but while the need is obviously less in software it's still there.

6 accepted

@Keith

I really don't think that's what @Gaius is asking for here - his problem is that there is no professional body available to advise or support his contract issue with IP, and there should be.

There should be this sort of professional body for Software developers, and that body should legally be a union as then they can help with legal representation and the like.

Sounds a whole lot like a bar association to me.

4

(looks at the topic) There's a SQL joke in here somewhere...

3

Aside from Vivid Video production assistant, we have the best jobs in the world. If you're a good programmer than you can completely dictate the terms of your employment which is an astounding benefit these days. Forming a union would absolutely destroy that kind of leverage. More importantly, programming is a fairly well run meritocracy, and having a union would put a quick end to that.

3

i would speculate that bad programmers would benefit from a union, mediocre developers might tolerate a union, and the rest of us would hate being dragged down to the common denominator.

and then, when organized crime has a chance to infiltrate the union...they can use their influence to take control of the IT infrastructure of the nation, and hold it for random

brilliant!

2

In many countries, programmers falls under certain categories of office clerks and similar jobs, and thus easily have unions they can join.

They usually don't though, for whatever reasons they might have.

2

I have never heard of one, and I've been pretty involved in the community (ACM ,IEEE and the likes)... and while the idea is a good one I have a feeling it wouldn't stick. Unions are generally brought up around labor work and start because of poor conditions and/or poor pay. With the exception of the usual cubicle, programmers don't really have those issues...definitely not poor pay (most of the time). Unions are just pretty much non-existent with knowledge work.

Though I completely agree that, while not necessarily a union, some sort of movement towards the Intellectual Property of knowledge workers. Far too many have been ripped off by their employers or larger corporations... One good example is soon to be released as the movie "Stroke of Genius" where a college professor comes up with the first working design of the intermittent windshield wiper and tried to sell it to Ford...who steals it and gives him no credit.

2

@Tom Welch - I really don't see how limiting that maximum is a problem when that maximum is Bill Gates, does anyone really need a hundred billion in the bank? :-)

@lassevk - it makes no sense to lump programmers in the general office workers' unions. Developers generally earn many times more than office clerks, how can their needs possibly be aligned?

Specifically we don't need a traditional trade union that mass negotiates pay.

I really don't think that's what @Gaius is asking for here - his problem is that there is no professional body available to advise or support his contract issue with IP, and there should be.

There should be this sort of professional body for Software developers, and that body should legally be a union as then they can help with legal representation and the like.

2

@Ryan Fox - that's exactly what I mean. Lawyers have this, Doctors have something similar.

Why not programmers?

2

@Tom Welch - Best quote I've seen on Stack Overflow so far:

In a field where the sky is the limit I wouldn't spend so much time worrying about the floor.

Thanks for that tidbit of insight.

As for the topic, when I was a student I worked as a labourer at a manufacturing plant. The purpose of the union there seemed to be to allow the dog fck3rs to fck the dog more with increased job security.

Most of the programmers I know are pretty driven individuals and wouldn't need this sort of protection so I'm not sure it would be in our best interests.

2

I wouldn't be interested in collective bargaining so much, but having legal back up available is invaluable when you need it. Having access to specialist knowledge of employment law is great if

  • your employer is trying to fire you for reasons you think are unfair
  • you are signing a new contract and want expert advice on parts of it
  • your employer is trying to rewrite your contract, reduce your pay ...
  • you are experiencing harassment
  • etc.

You never think you need it until it happens. Think of it as insurance if you like.

During the dot com bust a company I was working for was starting to go under, and they tried to pressure people into taking compulsory redundancy for much less than the contract stated. One employee was a member of a union, got on the phone to them and the rest of us were waiting for his answers. It helped a lot in our talks with the (desperate) management to know exactly where we stood under employment law.

Examples of questions from stackoverflow that could be directed to a union/professional body:

As others have mentioned a union/professional body would also be good for representing the views of the workers in this industry when legislation is being drafted, policies are being decided etc.

2

First of all, I feel the question should have really been "Do IT developers need a union"? That is the only group with concerns similar enough to have the question make sense.

However, the fundamental problem with a programmers union is that all unions are fundamentially political entities, and programmers at heart are generally not political beings. Look around you, who among your pweers would you have speak for you and trust to never fall to temptation? I'd far rather speak for myself thanks.

1

@Power-coder, what a charming way to put it ;-)

That's really not what we're taking about here.

1

It looks like somebody else also think about this idea.

1

In many countries we already have something similar, at least something that touches on a number of the suggested tasks: continuing education, higher education validation, conferences, outreach and so on.

In the UK we have the BCS, the US has the ACM, the IEEE fulfils a similar role in many areas.

The BCS isn't, strictly, a union, legally unions have particular standings and requirements. As a professional association it has certain requirements of entry, too. It offers professional and legal advice and local meetings.

There are strong reasons for this kind of 'guild' (in the old, City of London livery company sort of definition).

1

I think that it is interesting that there are some consistent issues that programmers complain about that no organisation addresses:

  1. Lack of proper standards in colleagues, despite there being broad consensus on certain topics; and
  2. The chilling impact of intellectual property laws.

An organisation that can make a significant impact in both areas, by coming up with a decent regime might have a lot of appeal.

And to add areas that get complaints from non-programmers:

  1. The high cost of procuring IT, and IT projects.

On that topic, it has occurred to me that we should adopt structures similar to the construction industry, where the architect acts as an impartial arbiter of standards in the contractor, as with the obligations between contractor and customer, and quantity surveyors report to third parties having an interest.

An organisation that helped facilitate the adoption of such structures might also have some pull.

1

I think this question is one for which voting answers is inappropriate.

0

This is always a bit of a discussion topic - over a beer, even :) - since I left university in 1996.

Personally, I don't think developers need a union, and I think I would change fields if I was forced to join a union - I find the whole concept of a union for non-menial work to be pointless. But others, of course, disagree.

Anyway, plenty of discussion above about it, but as dev's are well paid and in short enough supply, I dont think a union is needed - if the terms are not to your liking, just go somewhere else where they are. The days of working in one company for all of your life are long gone, as are the "us and them" politics of workers vrs managers.

Thats my "whats 2p in $US these days?" anyway.

Of course, if you are asking about a professional body for programmers, like the Bar Assn, which is more about advice, lobbying government, education and advocacy, then I'd agree, it's a good idea. Of course, getting developers to DO anything about it would be the hard part.

0

Unions care about nothing but maximizing due collections*. If you want to feel good about unions, don't ever witness two folks from rival unions fight over the rules as to who gets to organize a group of people. To the union bosses, employees are naught but chattel to feed their sinecures.

(* I give exception to the coal mining and farming unions, which actually still have a reason to exist besides enriching union bosses.)

0

I think these things are about balancing bargaining power so as to maximize freedom of choice.

So, for example, in dealing with employers, it doesn't seem to me to be a big issue.

However, in the U.S., dealing with health insurance is a big deal, especially for independent contractors. There are associations you can join to try to get group rates, but they don't help much. Supposedly Obama will get this fixed, but I have my doubts.