For $deity's sake, smile! It's Friday! Sad coders write bad code – official
Boffins urge bosses to keep their developers cheerful
Miserable software developers produce miserable software, to the further detriment of organizational productivity and personal health.
Researchers from the University of Stuttgart, University of Helsinki, Free University of Bozen-Bolzano, and the Norwegian University of Science and Technology have completed a study [PDF] of unhappy programmers, to enumerate the consequences of their sad state.
"Recent literature has suggested that a cost-effective way to foster happiness and productivity among workers could be to limit unhappiness of developers due to its negative impact," the researchers state in their paper. "However, possible negative effects of unhappiness are still largely unknown in the software development context."
Ignoring for a moment the bewildering need for "literature" to establish that promoting happiness limits unhappiness, there's some value in assessing the consequences of demoralized, downtrodden, or otherwise depressed developers.
Tech companies have been known to spend extravagantly on employee perks, largely to keep difficult-to-replace technical talent from leaving for greener pastures. Google has climbing walls. Facebook has on-site barbers. And in what might equally be called a workplace benefit or a war on families, Apple will pay for female employees who elect to freeze their eggs to delay childbearing.
So are such niceties necessary? Twilio CEO Jeff Lawson recently told The Register that companies risk alienating their developers if they fail to treat them as creative professionals.
Our intrepid researchers describe the form that alienation might take, linking causes and effects in an effort to help developers and managers create a happier workplace. They surveyed 181 developers with GitHub repositories to plumb the sources of their dark moods and the fallout.
Developers, as they report about themselves, have a lot to complain about. They don't like poor quality code, bad codebases, or refactoring. They resent code complexity, code reviews, and difficult problems. They resent technical infrastructure that constrains them and poor documentation. They can't stand vague requirements, unrealistic requirements, or the chore of code maintenance.
The list is lengthy – supplementary data for the study includes more than 200 pet peeves – but chances are any knowledge worker would confess to similar sources of frustration.
The result of these irritations for developers, as they describe them, are things that most organizations would prefer to avoid. They include internal consequences like diminished mental performance, anxiety, low self-esteem, depression, and lack of motivation. They also include external consequences like low productivity, low code quality, and even code deletion as an expression of frustration.
So while it may seem absurd to pamper developers with on-site meals, massages, and other lavish workplace benefits, software companies aren't all that different from big budget Hollywood film sets where a star's tantrum can cost a production millions through delays.
You'd like your sparkling water de-carbonated? We'll get right on that. ®