Occupational burnout is a well-known problem within the computer programming industry. While many programmers have experienced it themselves, or at least witnessed it happen to others, few have experienced it as intensely as reddit user Max-P has.
In a comment at reddit, Max-P wrote:
A little over a month ago, only 3 years into the project, I blew up. One day I woke up, sat in front of my computer and broke up in tears. Called the boss to tell him I couldn't work for a few days. To this day I still can't code. I'm not even sure I will ever be able to code again either. For now I'm looking at applying for Walmart for an undetermined amount of time.
Let his tale be one of caution; let it be a lesson to learn from!
NC added: /r/technology at reddit briefly went private. I'm copying the original post here as as an extended message in case it goes down again.
Another part of the problem is that people frequently deliver on unrealistic expectations at the expense of their own health, sanity, and social lives. This reinforces the mindset that sets these expectations in the first place, and sends the message that anyone who objected to the deadlines was just whining.
So. Much. That. I'm currently in a state where I litterally just can't write code. At all. I get dizzy, headaches, I've even cried a few times just at the sight of my text editor. And it's all my fault, because I've set myself the requirements way too high. Producing quality code at a very high speed was my pride. I started working on a project I had a lot of motivation in, and it was a rewrite of an old software. So I knew the requirements, what didn't work and what did. It worked very well, we had a whole webapp ready for beta in 3-4 months, and my boss already had started to sell it. Clients were happy. Even if it wasn't the best code at all, it was pretty solid compared to the old spaguetti we had. I was happy, because the other developers said it was impossible to rewrite the whole thing in any reasonable time to be worth the money. I totally won my bet, delivering new features almost weekly. There was only one problem. I had set absolutely insane expectations, at a ridiculous price while at it because I was 18 and was barely out of school, so it was a great opportunity for me. Developement speed slowed down considerably. Projects piled up, but it was fine, I didn't have much pressure anyway, just a pile of work for the next 5 years. Eventually I requested to have a second developer to help me: but of course, at both that price tag and the requirements, they all got fired right away because management felt it was ripped off. Which at the time didn't realize and agreed with: they indeed seemed slow to me, and the code quality was terrible. I ended up being the sysadmin of two servers and several VMs, the network between them, manage all the monitoring/configuration/backups, work on two webapps (both desktop and mobile) + their backend + the matching mobile apps. I also had to QA the whole thing myself because the boss would only test once it was pushed to production to ensure there were no bugs at this point (despite me setting up several staging areas specifically for that, with a fresh copy of the live data). All in all, that's over a dozen programming languages and 3 different databases. I also did tech support once in a while (and add specific workarounds to bypass work proxies for some of our clients, because our app had to work everywhere according to management). And I was the only one that could understand and manage all of that. We didn't have any backup resources in case I wasn't reachable. A little over a month ago, only 3 years into the project, I blew up. One day I woke up, sat in front of my computer and broke up in tears. Called the boss to tell him I couldn't work for a few days. To this day I still can't code. I'm not even sure I will ever be able to code again either. For now I'm looking at applying for Walmart for an undetermined amount of time. Burnout is serious matter.
(Score: 3, Funny) by ThG on Friday July 03 2015, @05:00AM
Coding has begun on a new operating system code named 'Kitchen Sink'. The new
OS will be based entirely on GNU Emacs. One programmer explained, "Since many
hackers spend a vast amount of their time in Emacs, why not just make it the
operating system?" When asked about the name, he responded, "Well, it has been
often said that Emacs has everything except a kitchen sink. Now it will."
One vi advocate said, "What the hell?!?! Those Emacs people are nuts. It seems
that even with a programming language, a web browser, and God only knows what
else built into their text editor, they're still not satisfied. Now they want
it to be an operating system. Hell, even Windows ain't that bloated!"
(Score: 2) by stormwyrm on Friday July 03 2015, @05:46AM
Numquam ponenda est pluralitas sine necessitate.
(Score: 2) by NCommander on Friday July 03 2015, @06:50AM
Most of the core emacs functionality is written in lisp though, most of the C code either deals with bindings, or the lisp interperator itself.
Still always moving
(Score: 0) by Anonymous Coward on Friday July 03 2015, @07:15AM
As a vi user, I consider vim a pointless bloatware project. It uses vi keys for editing, but does not behave like vi, so what's the point? Either make a vi clone, or behave like every other editor on the planet (ignoring Emacs for a moment, that thing lives in its very own ecosystem).
I've tried using vim several times, every distro seems to come with it as the default, but it only takes minutes before I'm so fed up with its non-standard behavior, that I go to https://sites.google.com/a/bostic.com/keithbostic/vi/ [google.com] and download an editor that behaves like vi is supposed to.
Sure, it has no syntax highlighting, but for code I use Geany or Visual Studio anyway.
(Score: 2) by TheRaven on Friday July 03 2015, @11:09AM
sudo mod me up
(Score: 1) by Pino P on Saturday July 04 2015, @02:22AM
Ever considered Viper mode in Emacs?
(Score: 2) by TheRaven on Sunday July 05 2015, @11:41AM
sudo mod me up
(Score: 1, Informative) by Anonymous Coward on Friday July 03 2015, @04:51PM
For what it is worth, Slackware has Elvis [wikipedia.org] symlinked to "vi" by default (it does ship with vim as well) and the various BSDs tended to use nvi [wikipedia.org] last I checked.
(Score: 2) by darkfeline on Monday July 06 2015, @10:24AM
Here's a section from the UNIX programming book by ESR that talks about this exact issue:
http://www.catb.org/esr/writings/taoup/html/index.html [catb.org]
Basically, vi has traditionally shoehorned editor functionality as native C code when it should have adopted the added complexity of a proper scripting language. When you want a single new feature, it makes sense to write a little C code into the program and not add a whole scripting language, but as you add more and more such features, that scripting language starts looking mighty attractive. But then you have the sunk cost fallacy (it's less effort to write this feature in C code too instead of refactor out ALL of the previous features and add a proper scripting language). Vim falls somewhere in the middle, where it has accumulated many hard coded features like syntax highlighting yet also provides a half-assed scripting language (and now provides multiple half-assed bindings to other scripting languages like Lua and Python). It just becomes an unmanageable mess, hence the Neovim project attempt to fix it by reinventing Emacs.
Join the SDF Public Access UNIX System today!
(Score: 2) by darkfeline on Monday July 06 2015, @10:37AM
This link, sorry: http://www.catb.org/esr/writings/taoup/html/ch13s03.html [catb.org]
Join the SDF Public Access UNIX System today!