Ask HN: Is it time for software developers/engineers to unionize?
42 comments
Hell no.
Unions serve a big need when employers exploit employees in a detrimental way. They did great things to expectations about safety on the job, number of work hours, ageism.
In tech, we get paid better than most of the population, perks are expected and provided, and equity sharing makes some people rich. Yes, you could maybe get paid more if there was a union restricting labor supply, which is how they work, but it would really suck to have union seniority rules or have union say in who works where. It limits freedom for both employers and employees once the important items like job safety have been addressed. Union negotiations go both ways; the employer agrees to something, the union makes you agree to something by proxy in return. You may not like what the union forces you to do.
Unions serve a big need when employers exploit employees in a detrimental way. They did great things to expectations about safety on the job, number of work hours, ageism.
In tech, we get paid better than most of the population, perks are expected and provided, and equity sharing makes some people rich. Yes, you could maybe get paid more if there was a union restricting labor supply, which is how they work, but it would really suck to have union seniority rules or have union say in who works where. It limits freedom for both employers and employees once the important items like job safety have been addressed. Union negotiations go both ways; the employer agrees to something, the union makes you agree to something by proxy in return. You may not like what the union forces you to do.
> Unions serve a big need when employers exploit employees in a detrimental way
Like for example when the biggest companies, Google Facebook Apple and all others in California agreed to not give wage increases to employees who would be looking to switch employers?
Was it in the ten thousands per year difference in average salary?
Like for example when the biggest companies, Google Facebook Apple and all others in California agreed to not give wage increases to employees who would be looking to switch employers?
Was it in the ten thousands per year difference in average salary?
I'd hate to be stuck in a Union where what I'm paid is based on my seniority or on some test they come up with to measure my ability. I like being able to negotiate my salary. Unions may initially bring us higher wages but the combination of union dues, corruption, and bureaucratization of our field by unions will ruin it. Soon you wont be able to develop unless you're part of a union and have done your mandatory 3 years apprenticeship if we go that path.
I don't want to be the next automotive industry.
I don't want to be the next automotive industry.
As food for thought, could the coding schools be creating exactly that? (While from another perspective, they create an avenue of home-grown employment for displaced workers in an economy where entire sectors have disappeared.)
Also consider consulting shops that adhere rigidly to specific development tools and practices, including hiring only compliant developers for customers, post-engagement.
Also consider consulting shops that adhere rigidly to specific development tools and practices, including hiring only compliant developers for customers, post-engagement.
My wife is a registered nurse, so she's a union employee. While it is nice to have someone negotiate on your behalf and represent you when you have a dispute, it certainly doesn't help with salary negotiations. You can't switch hospitals to get a higher salary because it is a formula based on education plus years experience. As an engineer, I have tripled my salary over the last 5 years by switching companies and being a good negotiator. A union would have just gotten in the way. Developers need to learn their true value and negotiate accordingly.
My understanding of unions has been that they work through the restriction of the supply of their labor. I haven't thought about it for very long, but it seems to me that the union's success is contingent on its being able to prevent other companies from hiring developers unless they hire only union-certified employees. I am doubtful this can happen.
I think that a semi-successful union would hamper the success of smaller companies by demanding that they hire only certified, highly-paid engineers. These engineers can only work a certain number of hours, use certain languages, etc. (Assuming such conditions can be enforced in the first place, with so many available employers in the market).
These conditions seem to me difficult for many organizations to accommodate. Thus, my thinking is that a semi-successful union would trigger software boot camps like App Academy to attempt to "break" the union by increasing available supply. The union would then fail. Collusion between Apple, Google, and other companies to hold down salaries only succeeds if there is no "spoiler". Facebook turned out to be a spoiler, and they benefitted greatly from it.
I think that a semi-successful union would hamper the success of smaller companies by demanding that they hire only certified, highly-paid engineers. These engineers can only work a certain number of hours, use certain languages, etc. (Assuming such conditions can be enforced in the first place, with so many available employers in the market).
These conditions seem to me difficult for many organizations to accommodate. Thus, my thinking is that a semi-successful union would trigger software boot camps like App Academy to attempt to "break" the union by increasing available supply. The union would then fail. Collusion between Apple, Google, and other companies to hold down salaries only succeeds if there is no "spoiler". Facebook turned out to be a spoiler, and they benefitted greatly from it.
Yes - despite the bleating about unions from people who I can only assume have never had to fight exploitation and unfair practices, unions are one of the only ways that you as an employee can adequately defend yourself from bad employers AND bad employees.
Yes, software developers are generally paid well and if you can earn the respect of your peers, you're usually treated pretty well too. However, the industry is rife with horror stories about sexism, over-working, burnout, family disruption, harassment and abuse - not to mention the ridiculous burdens placed on developers who are also expected to be on call 24/7, manage the company's IT infrastructure, and generally do whatever the hell their superior demands at a moment's notice.
For a privileged segment of the industry, there is no problem - but that is by no means representative of the whole. Software mills churn out shitty software and treat their employees with the same respect they give to quality and professionalism.
Being part of a union gives you the numbers required to do meaningful damage to a company which doesn't treat you right. As always, a balance must be struck between the strength of the employer and the strength of the union(s), but for many in this industry, it's currently a losing battle. More and more demands every year, but fuck you if you want to be treated better.
Don't delude yourselves into thinking that being part of a union is only about money. If you ever have to work ridiculous hours, not see your kids or your partner, suffer from lack of sleep, do things outside of your job spec, and generally just feel like you're being taken advantage of, then the reason for this is that YOU ARE INTERCHANGEABLE. You're not a special little snowflake just because you're pretty darn up to date with the latest technical shizzle-wizzle you read about on HN. You may be technically very proficient, but then so are a lot of your peers, and there's no shortage of developers out there.
This may be a highly skilled industry, but it's also one with a very low barrier to entry and a shit-load of people producing OK work at a fraction of the cost of your salary. You're not immune to abuse just because you're good at what you do.
Yes, software developers are generally paid well and if you can earn the respect of your peers, you're usually treated pretty well too. However, the industry is rife with horror stories about sexism, over-working, burnout, family disruption, harassment and abuse - not to mention the ridiculous burdens placed on developers who are also expected to be on call 24/7, manage the company's IT infrastructure, and generally do whatever the hell their superior demands at a moment's notice.
For a privileged segment of the industry, there is no problem - but that is by no means representative of the whole. Software mills churn out shitty software and treat their employees with the same respect they give to quality and professionalism.
Being part of a union gives you the numbers required to do meaningful damage to a company which doesn't treat you right. As always, a balance must be struck between the strength of the employer and the strength of the union(s), but for many in this industry, it's currently a losing battle. More and more demands every year, but fuck you if you want to be treated better.
Don't delude yourselves into thinking that being part of a union is only about money. If you ever have to work ridiculous hours, not see your kids or your partner, suffer from lack of sleep, do things outside of your job spec, and generally just feel like you're being taken advantage of, then the reason for this is that YOU ARE INTERCHANGEABLE. You're not a special little snowflake just because you're pretty darn up to date with the latest technical shizzle-wizzle you read about on HN. You may be technically very proficient, but then so are a lot of your peers, and there's no shortage of developers out there.
This may be a highly skilled industry, but it's also one with a very low barrier to entry and a shit-load of people producing OK work at a fraction of the cost of your salary. You're not immune to abuse just because you're good at what you do.
You'll find it easier to persuade people in life if you can resist making the first thing to come out of your mouth an insult comparing them to bleating sheep.
Perhaps it was a little too strong, apologies. I've just had this conversation far too many times and much of the opposition to unionisation is of the ridiculously simplistic 'why don't you just leave and find a different job?' kind.
There is a shortage of good developers almost everywhere. If you don't like your job get another one. If you're a good developer you won't have a problem finding one, and your employer will probably learn that you are not easily interchangeable.
> There is a shortage of good developers almost everywhere.
Most organisations don't required 'good' developers. They require 'good enough' developers. If a business can save some money by paying people less, they will.
> If you don't like your job get another one.
Actually, I love my job - but this is a ridiculous argument to make. If it was that easy, why would anybody stay in a job they didn't like? Life's not that simple.
> If you're a good developer you won't have a problem finding one, and your employer will probably learn that you are not easily interchangeable.
So your solution to poor working conditions is to teach your employer a lesson by giving up and leaving, so they can hire somebody less qualified for less money but who still manages to muddle through and deliver?
The problem with saying that 'there is a shortage of good developers almost everywhere' is that it's completely subjective. What are you classifying as 'good'? Does your employer's definition of 'good' match up with the share-holders definition of 'good value'? This is precisely why developers can be so self-destructive. You may be the best in your domain, but it doesn't necessarily mean that you're the best and most profitable option for an employer.
Most organisations don't required 'good' developers. They require 'good enough' developers. If a business can save some money by paying people less, they will.
> If you don't like your job get another one.
Actually, I love my job - but this is a ridiculous argument to make. If it was that easy, why would anybody stay in a job they didn't like? Life's not that simple.
> If you're a good developer you won't have a problem finding one, and your employer will probably learn that you are not easily interchangeable.
So your solution to poor working conditions is to teach your employer a lesson by giving up and leaving, so they can hire somebody less qualified for less money but who still manages to muddle through and deliver?
The problem with saying that 'there is a shortage of good developers almost everywhere' is that it's completely subjective. What are you classifying as 'good'? Does your employer's definition of 'good' match up with the share-holders definition of 'good value'? This is precisely why developers can be so self-destructive. You may be the best in your domain, but it doesn't necessarily mean that you're the best and most profitable option for an employer.
Unions seem to offer the most benefits to industries where workers' skills are commodity -- a factory worker can fairly quickly be replaced by someone else who can assemble equipment. A bus driver can be replaced by someone who else with the proper license.
Using this constant threat of replacement -- "there's someone waiting to take your job and happy to do it for less if you complain" -- management can hold back wages and take advantage of employees. Hence, the union fights for things like standardized salaries and tenure and so on.
Good developers/engineers aren't easily replaceable. As much as outsourcers and body shops want managers to believe you can just tell any developer what to do build and you will always get the same result, we all know that one bad developer can ruin a project and a great developer is often worth way more than 10 mediocre ones.
So as long as developers are being valued individually for the skills they bring to an organization, it's better for them to negotiate individually rather than bargain collectively.
Using this constant threat of replacement -- "there's someone waiting to take your job and happy to do it for less if you complain" -- management can hold back wages and take advantage of employees. Hence, the union fights for things like standardized salaries and tenure and so on.
Good developers/engineers aren't easily replaceable. As much as outsourcers and body shops want managers to believe you can just tell any developer what to do build and you will always get the same result, we all know that one bad developer can ruin a project and a great developer is often worth way more than 10 mediocre ones.
So as long as developers are being valued individually for the skills they bring to an organization, it's better for them to negotiate individually rather than bargain collectively.
Right, there is currently no upside for individual developers to unionize because there is massive demand and low barriers to entry.
What unionizing would do is create a quality floor for development, which would be good for businesses but less immediately beneficial for individual developers.
Until barriers rise or the market is completely flooded with good developers, thus causing wages to plummet, unionization won't happen.
What unionizing would do is create a quality floor for development, which would be good for businesses but less immediately beneficial for individual developers.
Until barriers rise or the market is completely flooded with good developers, thus causing wages to plummet, unionization won't happen.
You've struck upon an excellent point--and yet, consider how difficult it makes all of our lives that our trade isn't standardized yet. It's both good and bad, right?
There already is one [1], it just has no power because no one joins it. People forget the requirement of unions where it's member/non-member ratio is at an equilibrium where employers are compelled to negotiate with the union.
Every time I have ever seen this issue come up, the loudest voices in the community are vehemently against it.
The argument goes that software engineers are too creative and valuable to simply be replaced like so many union workers. See thread here: http://programmers.stackexchange.com/questions/9481/are-ther...
I think the real answer is that the ethos/personality/philosophy of a large swath of software engineers does not jive with collective organization. Also the market is such that developers are on the top of the pile and thus do not need to organize.
[1] http://www.iww.org/unions/dept500/iu560
Every time I have ever seen this issue come up, the loudest voices in the community are vehemently against it.
The argument goes that software engineers are too creative and valuable to simply be replaced like so many union workers. See thread here: http://programmers.stackexchange.com/questions/9481/are-ther...
I think the real answer is that the ethos/personality/philosophy of a large swath of software engineers does not jive with collective organization. Also the market is such that developers are on the top of the pile and thus do not need to organize.
[1] http://www.iww.org/unions/dept500/iu560
Wouldn't athletes unions or actors unions be a counter-example to the too creative/valuable argument?
If software was mostly contract work then yes. Unions for athletes and actors provide an underlying stability (health care, retirement benefits etc...) since the average career length and stability in these professions is low.
Clearly, however I don't think you even need to go that far.
Most trades and especially those that fall into the IWW 400 category require quite a bit of skill and creativity to produce quality work.
Most trades and especially those that fall into the IWW 400 category require quite a bit of skill and creativity to produce quality work.
So, I'm all for unionizing, but let's be particularly careful about why we might want to do such a thing.
Is it because of job security? No. There's nothing worse in the world then being "secure" at a job working on a codebase you hate--every day, seeing the madness and pointless mud piling up and piling up. In many cases, the company and culture is worse off if you can't readjust teams to retain the people who fit and let go the people who want (or need) gone.
Is it because of wages? Somewhat. As programmers, we shoulder a disproportionate part of the responsibility for delivering value to customers and if we do it properly we end up with a product that scales with little intervention. Accordingly, we should reap a better share of the long-term profits. At the same time, even if you aren't in vastly over-inflated talent markets as on the coasts, we generally aren't paid too badly--unless you are in a town were the profession isn't respected, in which case you are getting shafted repeatedly.
Is it because of work conditions? Yes. We work a very sedentary job. Many shops expect/require bullshit-long hours and at weird times, and few promote life/balance with anything more than a wink and a nod. There is a large amount of stress involved with our work, especially as deadlines draw near or as code rot becomes apparent. Cognitive dissonance is great, because we aren't allowed to lie to ourselves about reality: we can't, because computers don't deal in lies. Bad code is bad, sales features promised don't exist unless there's code backing them up.
Is it because of professionalism? Yes. I can pick a "programmer" out of a set of 100, even from a good school or respected company, and still fin glaring omissions in what they know and how they practice. There's no quality control in what people describing themselves as software engineers or programmers know, and so hiring becomes annoying. This in turn makes the market screwy.
~
A full-blown union would be of questionable utility--I sure as fuck don't want to give any of my paycheck to yet another bureaucracy claiming to represent me well. That said, there may be a good argument for a professional body similar to the ASME or IEEE.
Is it because of job security? No. There's nothing worse in the world then being "secure" at a job working on a codebase you hate--every day, seeing the madness and pointless mud piling up and piling up. In many cases, the company and culture is worse off if you can't readjust teams to retain the people who fit and let go the people who want (or need) gone.
Is it because of wages? Somewhat. As programmers, we shoulder a disproportionate part of the responsibility for delivering value to customers and if we do it properly we end up with a product that scales with little intervention. Accordingly, we should reap a better share of the long-term profits. At the same time, even if you aren't in vastly over-inflated talent markets as on the coasts, we generally aren't paid too badly--unless you are in a town were the profession isn't respected, in which case you are getting shafted repeatedly.
Is it because of work conditions? Yes. We work a very sedentary job. Many shops expect/require bullshit-long hours and at weird times, and few promote life/balance with anything more than a wink and a nod. There is a large amount of stress involved with our work, especially as deadlines draw near or as code rot becomes apparent. Cognitive dissonance is great, because we aren't allowed to lie to ourselves about reality: we can't, because computers don't deal in lies. Bad code is bad, sales features promised don't exist unless there's code backing them up.
Is it because of professionalism? Yes. I can pick a "programmer" out of a set of 100, even from a good school or respected company, and still fin glaring omissions in what they know and how they practice. There's no quality control in what people describing themselves as software engineers or programmers know, and so hiring becomes annoying. This in turn makes the market screwy.
~
A full-blown union would be of questionable utility--I sure as fuck don't want to give any of my paycheck to yet another bureaucracy claiming to represent me well. That said, there may be a good argument for a professional body similar to the ASME or IEEE.
Unions may not be practical because of globalization and virtual workforce. What would be interesting though is agents.
Kind of like recruiters, but overall a more serious and professional bunch, for instance, you need to become certified/accredited in some way to be a "programmer agent".
They get paid, not like recruiters today. They negotiate on your behalf, they are your advocate in negotiations with the employer, and they get a standard 10% of your yearly salary.
You don't talk money at all, they negotiate your deal. Also they could act as your career adviser. Their interest would be a long-term relationship, and in your advancement, which may work better than in say sports or entertainment where the career lifespan is shorter.
Kind of like recruiters, but overall a more serious and professional bunch, for instance, you need to become certified/accredited in some way to be a "programmer agent".
They get paid, not like recruiters today. They negotiate on your behalf, they are your advocate in negotiations with the employer, and they get a standard 10% of your yearly salary.
You don't talk money at all, they negotiate your deal. Also they could act as your career adviser. Their interest would be a long-term relationship, and in your advancement, which may work better than in say sports or entertainment where the career lifespan is shorter.
Here are some thoughts on what unions might be useful to fix:
Agesism in tech
Non payment for employees or contractors
Protect programmers refusing tasks on ethical grounds
Establish ethical standards
What other problems have we not been able to solve so far?
Agesism in tech
Non payment for employees or contractors
Protect programmers refusing tasks on ethical grounds
Establish ethical standards
What other problems have we not been able to solve so far?
No vacation time, no overtime pay, unreasonable working hours, and so on.
> I've seen an increasing number of HN posts on the subject of how software developers/engineers are almost universally underpaid relative to the value they bring.
Examples?
Examples?
Working for the Public Health Sector, I am yet to see any advantages to being unionized (beyond a few additional health benefits), so far I've pretty much only seen drawbacks. My salary is far lower than most people on here (mind you, I was aware of this going in), getting an actual pay-rise is near-impossible, but by far the worst is how everybody is put in the same basket, and I can't emphasize this enough.
The work conditions (and associated politics) reach ridiculous levels, particularly since the union (which I was forced to join...) seems to only be concerned with the clinical side of things, of which I take absolutely no direct part in. So for instance, I won't be allowed to work remotely, because "it may affect patient care"... > I'm a programmer.
So as far as developers/engineers are concerned, I would say no to unions.
PS: I'm aware the public sector is a bit of a different beast (I worked in the private sector for a long time before that), but I think the point remains.
The work conditions (and associated politics) reach ridiculous levels, particularly since the union (which I was forced to join...) seems to only be concerned with the clinical side of things, of which I take absolutely no direct part in. So for instance, I won't be allowed to work remotely, because "it may affect patient care"... > I'm a programmer.
So as far as developers/engineers are concerned, I would say no to unions.
PS: I'm aware the public sector is a bit of a different beast (I worked in the private sector for a long time before that), but I think the point remains.
Man, this just smacks of entitlement. Software engineers are one of the highest paid professions in the world - FAR more than the average job, and the job is consistently ranked among the best jobs in the world in nearly every list made. Not only do we typically get higher base pay, we often get much nicer perks like catered lunches, remote (telecommute) working, shares of companies to share in the upside etc.
If you are feeling underpaid, there are probably many other companies you could work at who are actively hiring that will probably pay you more. The collusion cases you cited are rare, and have only been discovered at the largest tech firms like Apple and Google - who by the way most certainly have more software engineers on the north side of six figures than not.
If you are a software developer, now is not the time to unionize. Now is the time to enjoy this while it lasts, as make as much money as possible. It won't last forever.
If you are feeling underpaid, there are probably many other companies you could work at who are actively hiring that will probably pay you more. The collusion cases you cited are rare, and have only been discovered at the largest tech firms like Apple and Google - who by the way most certainly have more software engineers on the north side of six figures than not.
If you are a software developer, now is not the time to unionize. Now is the time to enjoy this while it lasts, as make as much money as possible. It won't last forever.
The problem is: We programmers choose to stick to the companies run by money crazy people who don't care about us. It's a choice we make. We want to feel safe, love to see payment coming to our bank accounts every week. Problem is in us, not in the people who run the business - most of them have no respect for developers.
We all need to be brave, make better choices, refuse to be slaves, search for better options - isn't it what we Engineers are supposed to do?
If we start leaving companies who don't treat programmers well, eventually they'll realize the fact. It's already happening..... more developers are doing start-ups, more people are doing freelancing.....
Finally, NO UNIONS please..... we enjoy solving problems, we enjoy programming, Money comes second.....
I wonder if a union could prevent white-board interviews. Perhaps a working professional organization could pre-qualify programmers.
I don't think CPA's or lawyers have to do whiteboard interviews.
I don't think CPA's or lawyers have to do whiteboard interviews.
No it is not. The IT sector is one of the highest paid in the world, and there are so much possibilities to choose from, that no agreement between Google, Apple, Microsoft or any other can keep the salaries low, which they are not.
When going the union way your give some of your freedom. You don't have freedom to negotiate everything yourself on your own terms based on your own needs, knowledge and value. No one knows better than you what your needs are.
When going the union way your give some of your freedom. You don't have freedom to negotiate everything yourself on your own terms based on your own needs, knowledge and value. No one knows better than you what your needs are.
I think it would be easier for developers to just form small companies. All the advantages of a union with none of the disadvantages.
I feel that programmers are compensated pretty well for what they do, especially in the US. I certainly don't feel underpaid personally, and it's hard for me to imagine unions improving my wages when they're already quite good. I also think unions would cause my workplace to become 'stiffer' and less pleasant to work for.
It's a good discussion to have, and while I think there is need for added transparency, I think the 'Union' solution is old-fashioned, maybe even inapplicable. As you already mention, Glassdoor is part of that step
Underpaid? Here's an important economics lesson you should have learned yesterday: The price is what someone is willing to pay.
You are paid exactly what you were able to negotiate.
You are paid exactly what you were able to negotiate.
The IEEE and ACM already exist. While they don't do collective bargaining type things, the IEEE certainly looks after member interests via their lobbying efforts.
In a world where any programmer is free to quit and start their own company, and many successfully do, what's the benefit of unionizing?
The fact that they aren't, for one thing. This is a delusional worldview - most people in employment, regardless of their industry, do not have the time or necessary capital to fund their own business venture.
You don't need everyone to do this; just enough to ensure that if a worker feels exploited, they always have someplace else to go.
The nature of exploitation is that the exploited often do not recognise that they are being exploited. Being exploited introduces so many other problems into your life that it becomes incredibly difficult to identify the root cause and do something about it.
Are there any modern examples of unions that actually work well and avoid the problems of airlines/autoworker type unions?
Professional sports.
Professional sportspeople usually have agents to look after their salary negotiations, transfer prospects and endorsements though...
Having lived most of my life in a state that is hostile towards unionization, I don't think this would make life much easier for me. Nonetheless, it's a good question.
(I don't have the answer.)
(I don't have the answer.)
It will NEVER happen.
So my question for HN is this: Would software developers/engineers benefit from a union? From a collective bargaining standpoint, would a union give software developers/engineers a leg to stand on? What would the backlash be from the tech industry if developers/engineers unionized in large numbers?.