Is There a Case for Programmers to Unionize?
qvault.io
qvault.io
My experience with the union didn't leave me thinking "this is an organizational structure I want to be part of". Sure they get paid relatively well, but it breeds a bizarre territorial environment. I also look at teacher unions as holding back vital innovations such as longer school days and shorter breaks, which disproportionately hurt the most vulnerable in society.
If you're being paid $40/hour to move monitors and your alternative is serving coffee, you definitely 'want to be part of that org'.
Those are the #1 orgs that 'regular people' want to be a part of.
I'm not saying anything for or against unions, rather, highlighting the perspective of many of those on the other side.
Ideally I'd like my kid to have school time similar to my working hours with before/after-school activities to fill time. Simply creating block time for students to work on homework/essays would likely improve education outcomes for many students.
But I'm thinking in terms of what children can take. I'm not sure a seven-year-old needs to work an eight-hour day. (I like the idea of leaving time for kids to do their "homework" while at school, though.)
If these "after schools" or "buxibans" (as I grew up around) became integrated into the school system itself that seems the most ideal. It would certainly kill off a secondary market of cram classes, for better or for worse.
Homework might not even be a thing at that point since they could just do it at school, as you mentioned.
Requiring employees to work longer hours is a bad look. The 40-hour-max work week was won with blood. (edit: by unions, funny enough).
How about union workers call you next time they want to install a new app on their phones?
Requiring permission to move the computer doesn't seem nonsensical. Computer placements may have been coordinated with IT for maintenance and access reasons of the employee using the computer and all employees that may need to service the device or access the area in which the computer is located. For example, in a quad-style arrangement (common in many open-office arrangements with cubicles), the PCs are usually located in the center of the quad to minimize cabling so that maintenance can vacuum under the desks without accidentally snagging power/data cables.
One guy even said that we were not allowed to plug in cell phone chargers in without approval.
At my last job, people used to plug in a bunch of crap into the electrical outlets all the time. The building, which was an older building converted into an open-space office, did not have the electrical wiring to support everything that was plugged in, and consequently many fuses were blown. One cell phone charger might not seem like a lot, but it might be the one straw to many for that particular part of the building's electrical grid.
I also look at teacher unions as holding back vital innovations such as longer school days and shorter breaks, which disproportionately hurt the most vulnerable in society.
Teachers unions are fine with longer school days and shorter breaks. As long as they get paid for them. K12 teachers (in CA) start their workdays at 7a, so the "standard" 8 hour day for them ends at 3pm (4pm if including an hour break for lunch, which is common for hourly workers but not salaried workers). Requiring them to work until 5pm, i.e., when parents get out, would effectively be adding 10 hours a week of overtime to their schedule.
Oh yeah, I taught IT at a community college for a few years (and paid union dues for not even a newsletter). Teaching, even to adults, is hard work and you're only good for a few hours a day. Full time and sessional faculty had 12 contact hours a day. Then there's prep, marking, student counseling, committees...
I have no idea how elementary teachers get through a day.
"But I just talk. I don't need stagehands."
"Either you hire them, or your event gets canceled."
Fuller went back to his hotel, called up a piano rental company, and had two grand pianos delivered to the venue.
Then, while giving his multi-hour-long lecture, he would pause every five minutes or so and say "Now, I need that piano moved over there, and that piano moved over there."
How does that count as "yelling at the cashier"? He wasn't yelling at them at all. He just made sure they did the job for which they were getting paid.
It's just not a good look.
Sorry it didn't work out for them that time.
1 The overhead cost of employing the union administrators (union dues)
You have the skills and knowledge to goto court? and some times you need to have an external person to be tough with the employer.
2 Gatekeeping and time-wasting via official tests and grooming processes
What is this tests @ grooming M&P unions are not medieval guilds or the IEEE
3 Could make it harder for workers to break off and start their own competing companies, leading to the biggest companies monopolizing the workforce"
Why ? and the number that do that is miniscule
And pensions sorry you absolutely need pensions and you need pensions taken away from employers direct control and run by trustees
https://www.cnbc.com/2021/03/08/covid-relief-bill-gives-86-b...
https://www.pbgc.gov/sites/default/files/fy-2019-projections...
No scenario shows the Multiemployer Program remaining solvent beyond FY 2027 under current law.
Union run pensions mean someone at the union get's paid for managing it. Union run negotiations mean that someone at the union gets paid for the negotiation. Union run pay debates means the union flattens compensation to keep workers unified.
I'd be curious for union models which effectively empower a check on union power by the workers.
More professional unions do tend to have more lay activists who are more open to exercising control over the full-timers I feel.
By pensions I meant you have a separation as in the UK where the trustees from both sides at at arms length and Hermes (a huge pension fund) trustees sacked the managers and is now self managed at a reduced TER.
And remember not all developers live in the US.
For bigger locals than mine there are certainly paid negotiators. That makes sense, because you're bargaining with management, who is paid to negotiate with you. You generally don't want amateurs (like me!) with no experience going up against professionals who are trained and coached in contract negotiation.
> an uncheckable form of power for the individuals who run the union
> I'd be curious for union models which effectively empower a check on union power by the workers.
I'm not sure you understand what a union is. Most positions of power (the "individuals" I understand you to be referring to above) are elected. Sure there are bureaucrats who are appointed rather than elected. But what's the alternative? The workplace has its own power structure and, to be effective, a union generally needs its own. Don't like it? Run for a position in the union and change it!
I think it would be better, to develop a profession, a code of ethics, rules which we collectively agree to profess. (Like the Hippocratic Oath for Doctors, or the Order of the Engineer) https://en.wikipedia.org/wiki/Order_of_the_Engineer
Uncle Bob gives a good starting point for an oath, explaining each point in this video from GOTO 2017 https://www.youtube.com/watch?v=Tng6Fox8EfI
These are promises we make that are more important that the wishes of those who employ us.
Programmers Oath
1. I will not produce harmful code - I will not release a defect - I will not make code for others harder to understand or change (soft-ware, easy to change)
2. The code that I produce will always be my best work - I will not willingly release code that is defective either in behavior or structure
3. I will provide with each release a quick, sure and repeatable proof that every element of the code works as it is supposed to - Write tests
4. I will make frequent and small releases
5. I will fearlessly and relentlessly improve at any opportunity, will not make the code worse
6. I will keep productivity my own and my team high, I will do nothing that decreases that productivity - I will not damage the code, I will not make things worse
7. I will continuously ensure, that others can cover for me and that I can cover for them
8. I will produce estimates that are hones both in magnitude and precision, I will not make promises without certainty
9. I will never stop learning and improving my craft
Also, lots of these are not very well defined. What is "harmful code"? How do you measure if "code for others [is] harder to understand or change"? What does "making the code worse" means? I can easily create example for each, but finding an universal definition is, I think, really hard. How then are you supposed to enforce these?
Software devs are not a commodity and the best one's are some of the highest paid people in the country.
'What could go wrong' is that innovation is quashed and it gets worse for everyone.
There are 1000x available actors for every role cast.
Almost every actor you can name is 'worried about their next project' to the point that basically only A-listers have real job security.
The vast majority of actors are paid very little and work in odd conditions.
It's an artifact of the fact that there's so much aspiration in the industry. Most projects are works of aspiration, everyone wants in, there are tons of unpaid internships, stuff like that. The closest analogy in software would be gaming, where you can see, the aspirational motivation of many developers is essentially abused into generally longer working hours.
Otherwise, wages and conditions for Software developers is quite high, a better question would be 'what is the point?' of a union.
Software developers are not commodity workers.
Profs, Nurses and Doctors have what are essentially guilds, where they set very special standards of accreditation and control who can enter and not their industry. The later two literally limit access to their field by law, partly to control wages.
All 3 of those professions are socialized in most countries, meaning they arrive at salaries by non-market terms. The later 2 are in healthcare where there is a humanist component making non-market factors essential.
Marketers, Accountants, various kinds of Engineers, Lawyers, Financial Analysts etc. - why don't they have unions?
Because it makes no sense.
They have industry associations for varying reasons, where it makes sense.
Amazon, Walmart - those are places where unions would make sense, for the floor and factory workers and possibly some admin staff, but not for the professional class.
Major League Sports have unions so that players can leverage their power vis-a-vis owners. It's a straight up power play vis-a-vis another group. While it's probably a net-zero outcome for society, it's rational for them to gang up.
For both of those groups, it makes sense.
It makes no sense at all for software developers - try to articulate a situation wherein that structure could be established and beneficial in the long run.
If a 'Software Union' establishes accreditation for 'who can be a software developer' - then are 100% of scientists and lab techs doing research going to be forbidden from writing Python scripts? Forced to hire 'accredited' developers? That wouldn't work.
Will the 'Software Union' establish minimum wages of say, $80/year and simply push all those jobs overseas?
Will they limit the entry into the profession in order to create a supply/demand asymmetry? Everyone but a select few lose in that scenario.
Software Developers are probably the least rational of all groups to start a union.
There's literally zero point.
None of the points articulated in the article will be materially improved with a union in place.
The market for devs. works as well as it does for almost everything else.
If their was more mentoring between senior and junior devs, and the junior devs we're enlightened to the all the employer bs, I think that would help solve alot of bad contracts; at least it would prevent juniors from accepting horrible deals.
Also, it seems to me that their could be something here beyond a standard union. Block chain / decentrailized union?... maybe. Let's not forget that we, the labor pool are selling our labor to the employees. And, tbh, devs are a hot commodity and with consensus among them, would have significant leverage as a group.
This could potentially cross borders too. Pulling up all devs from all nations.
Programmers definitely aren’t in that position yet.
I think selling CB as a value-add for a company by offering efficiency in negotiation kind of turns this on its head. In a labor surplus, a company just sets the wage range and offers the job - there is no negotiation overhead. It’s only in a labor shortage that companies have to get creative with incentives to compete for talent. How would a union attract that rare talent by offering fixed pay and benefit schedules any more than direct employment could? Company 1 would restrict themselves to a C-team of fixed rate programmers, while Company 2 finds A and B team talent by direct negotiation. Whether you’re the employer or the employee, Company 2 seems like a way better place to be.
A few takeaways that may be relevant for thinking about how programmers would cope:
* collective bargaining brings the average compensation up, but also prohibits the high-performers from negotiating their own terms, so effectively performs as a ceiling to wages as well. This is not an asset in the IT world, as most IT jobs that were routine (data center operators, job-minders, tape rotators) have literally been replaced by robots. It’s all about individual contributors/stars now.
* During one contentious CBA anniversary, we (management) were worried enough that we got into some deep strike mitigation planning. It was probably healthy because it made us think long and hard about how the org could survive/operate without these positions, information that was still highly relevant even after the CBA was inked. The nature of every IT discipline gave us far more flexibility to turn strike mitigation into a strategic roadmap for staff reduction and automation.
* the protected tasks - only the monitor mover can move monitors thing - is often exaggerated but a flavor of it is very real. Once had a worker grieved because he had some cable crimpers in his pocket indicting he must have been doing protected work. Routinely had simple/quick jobs delayed because of a need to schedule with “the guy(s)” who could do the work, even if the work was something anyone else could reasonably do. Division of labor boundaries often seem absurd in the IT world.
* labor union disciplinary process and broader CBA objectives can drive retention of some pretty crap employees. The abuses I’ve seen are jaw-dropping and challenge the conscience.
* seniority wins in a union, meaning they “eat their young” when reductions are required. This employment preference for longevity over merit isn’t ideal in IT.
* on the plus side, there were union employees outside of the IT world (in the traditional trades) that really took pride in their work and the union as a driver of quality, professionalism, positive work ethic and craft. I had a lot of respect for those guys and their shop stewards exposed some of our workers to that in a positive way. But I don’t recall anybody but the worst employees in the IT space ever feeling like the union was a benefit to them.
* The lower-skilled jobs were unionized, and it made it more difficult for people in those positions to casually start doing more complex work and get experience that could help move them up (help desk to server admin, e.g.). For as much as the union wanted to protect their work, mgmt was equally incentivized to keep them penned in to their identified tasks, lest the union’s scope start to creep by virtue of “past practice”. I’ve seen that attempted.
So it’s very hard for me to imagine a programmer (who by nature is an individual creative star, not a wrench turner if they can help it) fitting into that world. The division of labor rules would be pretty stifling - what is your protected unit of work? By language? By platform? By module? Not saying it can’t work, but I think companies lose agility and workers are cut off from their potential.