Researchers Determine What Makes Software Developers Unhappy (vice.com)
Researchers recently surveyed 2,200 software developers to calculate the distribution of unhappiness throughout the profession, and to identify its top causes, "incorporating a psychometrically validated instrument for measuring (un)happiness." An anonymous reader quotes Motherboard:
Daniel Graziotin and his team found their survey subjects via GitHub. Contact information was found by mining archived data for past public GitHub events, where email addresses are apparently more plentiful. They wound up with 33,200 records containing developer locations, contact information, and employers. They took a random sampling from this dataset and wound up with about 1,300 valid survey responses... According to survey results released earlier this month, software developers are on average a "slightly happy" group of workers...
Survey responses were scored according to the SPANE-B metric, a standard tool used in psychology to assess "affect," defined as total negative feelings subtracted from total positive feelings. It ranges from -24 to 24. The mean score found in the developer happiness survey was 9.05. Slightly happy. The minimum was -16, while the maximum was 24. So, even in the worst cases, employees weren't totally miserable, whereas in the best cases employees weren't miserable at all.
The paper -- titled "On the Unhappiness of Software Developers" -- found that the top cause of unhappiness was being stuck while solving a problem, followed by "time pressure," bad code quality/coding practices, and "under-performing colleague."
And since happiness has been linked to productivity, the researchers write that "Our results, which are available as open data, can act as guidelines for practitioners in management positions and developers in general for fostering happiness on the job...unhappiness is present, caused by various factors and some of them could easily be prevented."
Survey responses were scored according to the SPANE-B metric, a standard tool used in psychology to assess "affect," defined as total negative feelings subtracted from total positive feelings. It ranges from -24 to 24. The mean score found in the developer happiness survey was 9.05. Slightly happy. The minimum was -16, while the maximum was 24. So, even in the worst cases, employees weren't totally miserable, whereas in the best cases employees weren't miserable at all.
The paper -- titled "On the Unhappiness of Software Developers" -- found that the top cause of unhappiness was being stuck while solving a problem, followed by "time pressure," bad code quality/coding practices, and "under-performing colleague."
And since happiness has been linked to productivity, the researchers write that "Our results, which are available as open data, can act as guidelines for practitioners in management positions and developers in general for fostering happiness on the job...unhappiness is present, caused by various factors and some of them could easily be prevented."
Being blocked from doing small fixes by Sarbanes-Oxley and management. But really Sarbanes Oxley.
Prior to SOX, I could see a problem- fix it, refactor the code.. etc. or see a minor improvement- implement it, refactor the code, etc.
After SOX, I had to run everything thru the team lead who had to justify it to the manager who had to justify to the director who had to justify it to the senior director who had to justify it to the Department head, who had to justify it (in a group of other changes) to the CIO.
Just the overhead meant that something which would make the code 2% better was blocked many times per year. Not worth the ROI.
And the overhead meant that improvements to the code which would make future maintenance easier were never approved any more. So the code just got harder to maintain over time.
The time constraints would also be important. I didn't really care about co-workers performance. That was between them and management.
She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
Don't let people who don't know fuck all about coding think they're qualified to manage software projects.
> software developers are on average a "slightly happy" group of workers...
As the old saying goes... A statistician with his head in an oven and his feet in a freezer says, “On average, I feel fine.”
Overly complicated, bloated frameworks, lack of documentation, buggy tools and incompatibilities make life miserable. Learning something new, finishing a project your proud of or raising your skill to a new level feels great. It would be nice to eliminate the lows though.
Programming languages whose names start with P
To many of them
Famous Czech child psychologist Zdenek Matejcek defined 5 basic human needs to live happy life:
1. Need of adequate stimulation, i.e. supply of impulses from the outside world.
2. Need of meaningful world, i.e. need of a certain order in things and relationships.
3. Need of security in life.
4. Need of positive identity or one’s own self.
5. Need of open future.
Every developer I met during interviews was changing job due to lacking one or more points in his prev company.
Being treated like a child by idiots with "Business" degrees from Florida State University.
Is lack of generics.
Users
Software developers today are well groomed millennial hipsters who are all millionaires (at least) and swimming in pussy.
Neckbeards are completely marginalized has-beens, are either dead or dying, and those still alive are living in poverty. No neckbeard is working in software development anywhere.
Neckbeard stereotype is two decades out of date. Troll harder next time.
Getting spammed with inane surveys makes me unhappy.
These researchers who keep asking me if I'm happy are making it hard for me to focus on getting my work done...
#DeleteChrome
Running out of Mountain Dew wasn't top on the list? I call bullshit.
Fascism: An authoritarian and nationalistic right-wing system of government and social organization. See also: NAZI's
Gratuitous changes in project requirements and out-and-out "mission creep" in the middle of development, which have to be duct-taped onto the rest of the code because of course the deadline didn't change.
1) meetings, 2) micromanagement, especially via so-called "agile" procedures that aren't, 3) meetings, 4) pep talks, especially those that use sports metaphors and cute catch phrases, 5) meetings...
Mainly the low paying precarious unstable and sometimes dangerous jobs.
... the top cause of unhappiness was being stuck while solving a problem, followed by "time pressure," bad code quality/coding practices, and "under-performing colleague.
In my experience what makes developers unhappy is having to write documentation, perform testing and fixing bugs.
Of course, that might simply define the habits of the "under-performing colleague" that then drags down the happiness of other, more diligent and professional, developers.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
I bet having head shaved by researchers and electrodes embedded in brain, came pretty high on the list?
I've seen my share of managers who seem to think people can't be serious about their work if they are having a good time. I suspect this is linked to a strong protestant christian influence on the culture of my country. It's frustrating, it makes them actively fight something that (to me) obviously boosts productivity.
The single biggest gripe would be "forced to use the same super-locked down image from IT that is given to management, secretaries and marketing, but expected to 'build great stuff'." Seriously, while I've worked with some very smart IT people, I'd say that the majority of IT is no more knowledgeable about infosec than the average developer and even frequently less knowledgeable.
What makes developers unhappy is bloody researchers coming to the door with their surveys.
systemd is Roko's Basilisk.
Figuring out how to get unstuck is part of the fun.
Making a great gadget and having it come to nothing due to marketing.
Also having the project direction jerked around for no good reason.
Schedules are pretty high on the bad list.
Silly lack of resources where the cost of not having them is higher than having them.
Captain Obvious required training to satisfy a legal (often SOX or EEOC) checkoff box is only annoying.
Dilbert-like clueless bosses are not always a problem, sometimes they are another problem to figure out how to fix.
I have heard some complain about having to deal with 'pesky humans'?
I've always said beer in the coke machine with an after 5 lockout and a recliner in my office would be nice.
Come to think of it, I've seen that done. It worked, but there might have been a few more bugs.
Only solution for the under-performing colleague problem is acceptance of different skill and engagement levels. It's very hard to deal with it, but people knowing how to accept and live with it is the only solution.
The alternative is giving you better colleagues, but then you might start upsetting them. In any group there will be under-performers.
Not being given the tools I need to do my job.
Being blown off when I try to get them to do more basic stuff like source control and release management.(Oh we don't need to do that, we're fine.)
Working under a manager where you seriously begin to wonder if they're literally a psychopath.(Hasn't happened much to me but there's been one or two where I started to wonder.)
Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
People smugly nouning verbs makes me unhappy.
-Dave
"Competitive salary" is what they love to say, not understanding that it's transparent english for "as little as possible."
I wonder if the happiest developers were the under-performing coworkers? (The Wallies.)
The Daddy casts sleep on the Baby. The Baby resists!
While the results are interesting, they are likely biased due to the source of the survey respondents being GitHub users. I would assume that GitHub users lean toward the open source world. While I like the open source world, it does not represent the whole of software developers. There are lots of developers that work on proprietary software and or projects that are not allowed to use cloud based (like GitHub) repositories and tools.
Got boned on a nice sized bonus even though I received a positive performance rating. Promised 25%, received 2%.
No worries though I just accepted a new offer and now my base salary includes that 25% and I'll never be fooled again.
Bonus points knowing I was brought in to build something by myself with zero bus-factor and they will now enjoy maintaining that all on their own. Buh-bye!
IT forgets all the developers who do it by the book and cause no trouble. But that developer who used to the root of some CFD lab in grad school 20 years ago wants to be root now and install random packages from unknown websites in his machine, or opens TCP-IP ports, reassigns UDP ports for the daemons... He will be remembered and talked about, "Do you know what that idiot did today ?..."
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
A statistician with his head in an oven and his feet in a freezer says, âoeOn average, I feel fine.â
I think that is the perfect analogy for software. Sometimes you are facing what seems like an utterly insoluble problem, with people breathing down your neck for a solution... so much stress.
But then more often than not, you work past the problem, and all is well. It's a huge feeling of accomplishment.
Honestly it's what I like about working with software. A profession that offered more minimal highs and lows would just be too boring I think.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
when management messes with them. For instance the monthly why we fired Sammy emails aren't helpful. It doesn't improve discipline. It only terrorizes us and remind us that our job hangs by a thread. And sending in the goons to escorted a fired workers out does not help either.
n/t
Have gnu, will travel.
80% of the problems of unhappiness are caused by other people:
* Lack of communication from upper management
* Excessive communication from upper management
* Over (Micro) management
* Under management
* Unrealistic schedules
* Unrealistic features usually promised by Marketing / Sales
* Lack of Design
* Over-engineered design
* Constant interruptions
* Meetings that drag on
* Excessive meetings
* Hardware bugs
* No authority to make changes
* Lack of Quality Assurance
* Excessive Quality Assurance
* Lack of ergonomic hardware
* User Experience designers that don't know what the fuck they are doing
The remaining 20% problems ARE things we can actually directly deal with:
* Complexity
* syntax/compile bugs
* run-time bugs -- such as logic bugs, not handling exceptions such as Out of Memory, Out of Disk Space
In the 40 years I've been programming Programming Languages, like fads, come and go.
The one thing that is constant is that this list hasn't changed.
--
JavaShit, noun, a brain-dead programming language hacked together in 10 days by a moron where you are forced to use magic numbers like:
What makes me unhappy at work:
Hearing phones ring and other people breathe loudly, chatter, grunt, cough, blow their noses, type, listen to music, make loud footfall, etc. And thus I listen to white noise on big headphones all day, every day. Open office concepts are a big mistake in my not-so-humble opinion.
Most of the time I dislike being interrupted to fix a bug, especially if it's someone elses' bug. I say most of the time because occasionally I'm working on a project so dreary and boring that I welcome interruptions.
Trying to convince the rest of the employees, including the boss, of the importance of security. I think a good way to convince someone of the importance of security is to actually exploit a known weak point in the system.
What makes me happy:
Interesting, challenging problems. Freedom to be creative. Somewhat flexible work hours.
If you are a software developer working for a company that is not a software shop, your life is pretty much compromise. You have to build applications and systems that often seem repetitive, within timeframes where you are pretty much forced to cut corners. Usuall the cut corners are in in testing/documentation if you are lucky, but sometimes you miss in functionality and stability. Yes, you can refuse to cut corners and quit (or be fired), but this may not be a near-term option for people supporting families, medical challenges, etc.
Which got me wondering, what if you are an artist and find yourself painting repetitive lake and seafront landscapes, Venitian canal scenes, and the other sort of stuff you see in the Home Goods art aisle? I'm sure these artists are having to pump out sub-par work, stuff that they aren't thrilled with, are they inherently miserable creatures? Or do they say "I get to do something I like to do for a living, my work may not end up in the Metropolitan Museum of Art, but that's ok"? Same kind of thing with musicians who write soundtracks for straight-to-video movies or reality shows, are they in abject misery beause they are not the next Mozart, John Williams or even a pop star?
Maybe closer to home for us Slashdotters, what about auto engineers? Not everybody gets to work on the next BMW concept car. For those having to work on generic sedans priced under $20k, are there corners to be cut analogous to what software developers are asked to do (safety, emissions, performance)? Does this result in similar misery/angst being described in TFA?
So wait, they took email addresses listed on github events from years ago and then sent unsolicited email asking them to take a survey? What serious engineer would bother to reply to an email like that? What a waste of everyone's time. Why does Slashdot continue to post articles that are obviously nothing but trolling for clicks and ad money? or ... why do I bother to post about that? it's been this way for years
What makes me unhappy is not to test, is to ask me to mix 3 jobs : being a thorough tester, a full time job, and a thorough programmer, and a thorough business analyst again both full time job. Sorry guys, I can do 1 very good, 2 passable,and 3 badly. Or I will give you estimate which will shock you.
C. Sagan : A demon haunted world:
http://www.amazon.com/gp/product/0345409469/
visit randi.org
The paper -- titled "On the Unhappiness of Software Developers" -- found that the top cause of unhappiness was being stuck while solving a problem, followed by "time pressure," bad code quality/coding practices, and "under-performing colleague."
Isn't that the whole nature of software. Any challenging work worth doing is going to get you blocked at some point or another, and it is one of the reasons we get paid well (compared to other professions.) If shit were easy, we would never get blocked. And then it would be the type of work anyone could do it.
Honestly, me no get it.
The paper ... found that the top cause of unhappiness was being stuck while solving a problem, followed by "time pressure," bad code quality/coding practices, and "under-performing colleague."
How is this news? But I have discovered the new cause of software developer unhappiness: Researches claiming their soft-science sociological studies reveal anything at all about software developer happiness.
One of the annoyances I have are seasoned developers who don't want to learn. There isn't a lot of benefit from experience if you don't take advantage of language constructs if they didn't exist in FORTRAN.
From the paper:
“ I feel negative when I get really stuck on something and cannot get around it ”. Another respondent elaborated: “ I also thought of situations where I’m debugging some issue with the code and I can’t figure out why it isn’t working – when it seems like ev- erything should work, but it just doesn’t. This is definitely one of the biggest gumption traps I encounter ”.
While I've definitely encountered these situations, these are some of the best learning experiences. In fact, the whole task of problem solving is why you should be in this field. If you wanted an easy job with simple step by step procedures that will always work, find a different field. If you want to just write an algorithm and not deal with implementation quirks, go in to a more theoretical area.
In fact, the whole list is a whine fest about anything that anyone in any job has to deal with: "If you remove my idiot coworkers, remove deadlines, and everything I do just works perfectly, I'd be happy."
Software developers know when they are productive, and being productive means being happy. If they are unproductive because they have to wrestle with stubborn tools, hardware, management, processes, etc, then of course they are unhappy.
I have one at work and am forced to work with him. He spends all day giving sidelong glances at my screen and I've caught him announcing things to people in a way that it makes it look like he's the originator of the thought.
---- The above post was generated by the Turing Institute. Maybe.
Too much whine and not enough cheese.
Upper management changing specs on you, with no change in schedules. And, of course, they created the schedules, while having no idea that programming doesn't mean moving a mouse around for a few minutes and voila, there it is.
Then there's the environment... like the infamy of "open plan offices", so that managers can walk around and see if you're working (which they can tell by seeing you typing).