Thursday, April 18, 2013

I Knew a Programmer that Went Completely Insane

Not long ago one of our programmers just lost it and he lost it good. He walked into the manager’s office and began screaming strange things. If I didn't know him as well as I did I would have thought that he was on some kind of drug. But what had really happened was nothing short of a complete mental breakdown.

He was one of the hardest workers I had seen in the industry. He would frequently stay after hours to work on projects; He was always available when management needed someone to rush a job out over the weekend. During this time the Company was not making money and they needed the work done as quickly as possible, so any software that had to be rushed to a customer was automatically assigned to him. His willingness to push himself to get a job done is what they liked about him.

However, his productivity was not so great when he landed in a mental institution. I was the one that the company sent to visit him in the hospital to check on him after his breakdown. He asked me for a pen and a piece of paper so he could write a program down. "I think I still got it" he said, as he sat there in his hospital robe. He wrote two lines of code on the piece of paper and then began to weep uncontrollably. The company let him go after about three months in a hospital and a few threatening phone calls. He ranted about how he should be the CEO and that he was going to be the new face of the company.

 Later he spoke about how the effort he put into the company should have given him more respect and a better position. Despite being well treated and paid, for his hard work, he was still looked at as just a worker that produced well. He was never considered to be a key player in the company.

It may be hard to swallow but the extra effort and hours that you put into your job as a software developer does not usually amount to someone higher up thinking you should run the company. It has been my experience that good producers are more likely to be asked to continue to produce. If they moved you to a higher position and better pay then who would produce the software?

All too often we lose site of the human factors in software. It doesn't matter if management pushes people to overwork or if it was their own bright idea to get ahead. The result is always the same. People are just people. They are not machines that can produce day after day without some kind of human interaction. In the end everyone needs a life. 

Source

LIFE

Good Reading


Peopleware: Productive Projects and Teams (Second Edition)
This was required reading when I was going to school. It is an excellent book for both programmers and managers alike.


Death March (2nd Edition)
This is another great book on the human factor of software development. After reading this, I realized that I had been on several "death marches" myself.


58 comments:

  1. yeah, my boss also told me the same thing, that programmer got stroke and soon died. sad.

    ReplyDelete
  2. I kind of stopped putting extra hours to complete my programming tasks ahead of schedule. It's kind of useless. If you have the extra hours, then develop your own products, sleep well, watch some movies or read books or what ever. In the end you are just an employee working for an employer. I don't think there is much more to it than that.
    The thing is once you start working over time, people will expect the same the next time. You can once in a while, but doing it daily kind of sucks, unless you are paid well, which generally is not the case. The burn out is just immense. Sometimes, I hate this life. But there is no point in complaining, because everything just sucks. If you think too much about life and try to find the meaning of life in the works you do daily, then you'll go crazy, because there is no meaning to life. Whatever..
    "Carly don't be sad. Life is crazy, Life is mad.."
    Btw if you work extra time because you wanted to, then you cannot complain.

    ReplyDelete
  3. The cause of his breakdown might not be entirely the result of his interaction with the company. It's quite possible he was suffering from mental illness beforehand, and that the excessive stress and burnout caused the psychological meltdown.

    So, speaking of human factors and not using this poor soul as an example to make a moot point, I have a few questions:

    If he was institutionalised he would have been diagnosed and treated. How old was he? Are you still in touch? What was the result of his hospitalisation?

    ReplyDelete
    Replies
    1. You seem to be implying that this policy would have been fine if he had been in a better place mentally.

      I don't know if you've noticed, but most programmers are a little off in some way. Computers are predictable in their behavior and when they are unpredictable, it's nothing personal. This draws in a LOT of people who don't quite get other humans.

      The ones that are well-balanced usually also have the self esteem and assertiveness to just say 'no' when they are pressured/cheered into an 80 hour work-week. They also have the patience and generosity to delegate things they know they could do well to other people.

      Back around '03-04 when a lot of us were working any job we could get, you could only say 'no' for so long. I saw some of these sane, sober people go a little kooky, just like I did.

      Delete
    2. Most programmers are a little off in some way? As compared to how well-balanced lawyers are? Or who? What profession is the gold standard for normality? I've met far more managers who don't quite get other humans than I have programmers. Let's not explain away the problem using generalizations and amateur psychology. Programmers are just as diverse as people from other professions and their response to pressure from management is no different than in any other salaried profession.

      Delete
  4. I'm sorry to hear that. Your life should come first. Always.

    ReplyDelete
  5. Work for food, work 7 days a week 14 hours a day. And I will whip you if you don't beach.

    ReplyDelete
  6. It is a competitive economy. You either have a job, or you do not.
    If you do not, you starve [1]. If you do have a job, you work at the very limit of your physical endurance. If you do not, you either lose your job, or your employer loses it's business. This is the way that the world works: we are meat, nothing more.

    [1] http://www.nytimes.com/2013/04/18/world/europe/more-children-in-greece-start-to-go-hungry.html?hp&_r=2&

    ReplyDelete
    Replies
    1. This is not about keeping your job though, this is about putting insane, unhealthy amounts of energy into a job with delusions on what the results will be. I can turn this widget 14 hours a days, they still won't put me in charge of the company. The mental disconnect you develop when things are not like your self image says they should be is what causes people the greatest stress.

      Delete
    2. Thats really not the case. Right now, employers are competing for developers. There is no reason for developers to compete w eachother. Supply/demand is in our favor.

      Delete
    3. This is a very old and very American moral judgement. "If I work hard I will reap rewards." People have been telling you that your whole life because they were told that, and their parents were told that back to John Calvin.

      The thing is, if that's as far as your philosophy extends, an entrepreneur is going to take advantage of your work ethic and keep all the money for himself. It's not enough to be a hard worker. You have to be able to take care of yourself and your friends too.

      Only a couple of the athletes I have met in my many years programming have shared your philosophy. A bicyclist or a runner knows about Overtraining. You can TRAIN TOO MUCH and lose your edge. If they're bored or have free time they read a book, hang out with loved ones, or participate in a completely unrelated sport. Once you have your 10,000 hours, I would much rather hear devs tell me about how they're learning Chess or juggling or doing pub trivia in their spare time.

      Delete
    4. Paul - Programmers who wig out are, in most cases, following what they are directed to do by the people above them. The pressure and demand to perform or lose your job is very real. Coding like crazy and working insane hours is endorsed and supported by leads, and it encourages and even tends to demand the self-destruction once it has begun. If you think the mangers are free from guilt here you are delusional.

      I agree it is delusional to think you will get rewarded for working hard. The world is a horrible unfriendly place. Being a conniving asshole tends to get rewarded more. Is that a good thing? I think not.

      You are responsible for encouraging bad behavior in others. No one is guilt free here.

      Delete
    5. Jason, it is interesting that you chose the words you did, as I happen to know that Mr. Payne is NOT an American. (Hi William!)

      Also, regarding your statement "an entrepreneur is going to take advantage of your work ethic". I couldn't disagree more. Entrepreneurs are much more understanding and much more aware of the input of developers than traditional hierarchical middle managers.

      I'm more of the belief that just because someone is a good programmer doesn't mean he'd be a good manager or CEO, nor that promotion up a chain is the proper reward for good performance (see http://en.wikipedia.org/wiki/Peter_Principle).

      I would hire Mr. Payne in a heartbeat. Not because I could "take advantage of his work ethic", but because I know I can simply explain the goals of a project and trust that not only will he fulfill the job in an efficient and timely manner, and that he has the creativity to solve the problems in ways I may not have thought of, but that he would attack the tasks with all of his heart and not just treat it as "a job".

      Delete
  7. wow, that's me. I better knock it off. americuns work too hard anyway.

    ReplyDelete
  8. I totally agree with the facts to work only in the working hours.

    Good peoples are not who are good only in the professional life but also be good in the other parts of life. e.g. House, Relatives, Hobbies & Interest.

    That's why I go on time at work and leave on time from work. Initially it was really hard to face the peoples who really hindered me to put extra hours but now they are used to of it.

    One suggestion whatever you think and realize the think you are thinking is good for you then make it implement.
    regards,
    Sohail.

    ReplyDelete
  9. The statement that workers who code like crazy should not be allowed to move up and into management because "who will do the coding?" is one of the most moronic conclusions you could come to. Coding is all about working smarter, not harder. Eventually, after you code for enough years, while continuing to actually learn, you will discover that to truly create great software you need to migrate into managing the team and directing things from a higher level.

    Coding is still needed at the management level, it just progresses to system configuration and meta-languages. It is pitiful that most coders and companies fail to recognize this and then wonder why people break down if they are not allowed to make the jump.

    ReplyDelete
    Replies
    1. "Coding is still needed at the management level"

      I think there should simply be management level programmer positions rather than wasting a great programmer's time and effort doing management nonsense they generally will suck at. This is not true for everyone but I'm comfortable saying it's true generally. Tech skills do not equate to any management ability. Perhaps what companies should do is take a greater interest in developing those skills in that class of workers when they show promise. I'm sure the smart companies are doing this already, while the dumb companies.... well... they don't like to spend any money on anything.

      Delete
    2. You seem to be implying that management level programmers don't need to know as much programming, since they will not do as much. That I don't agree with.

      I do agree that the sort of programming being done is different at a higher level, but I think that it is important for any manager doing coding of this sort to also be able to understand the nitty gritty code. They don't need to be writing it, but they need to be aware of what it is doing.

      Also, I am not implying that every programmer, or even most, are capable of making the jump to programming at a higher level. Most of the programmers I have met are not nearly skilled enough to make the mental leap.

      What I am communicating here is not that managers should also code a bit; it is that programmers should be allowed to be higher level leads. I don't think "management" as a skill is very important. Sure, humans tend to suck and need to be managed in general, but I would prefer self motivated individuals that can follow a team lead who doesn't even have any "management skill".

      Who cares if a team lead has no management skill, if they don't need it?

      Delete
  10. Bad programmers become managers so they don't have feeling what and how thing are done, good developers ends in mental hospital or lonely without life or change too many companies.

    ReplyDelete
  11. As Mentifex, I feel that I am the center of AI
    development for Germany, Russia and America.
    It is sheer madness for me to think so,
    but it gets me through the day.
    Other guys get to chat with Laotian beauties,
    while I reproduce my Mind but not my body.
    I have spent more time at the bottom of Green Lake
    than in the arms of a woman. One time, she held
    her arms around me while I swam to the bottom.
    Years later, she said it was the most exciting
    thing she had ever done.
    Fellow inmates of the Asylum without Walls,
    post each message as if it were your last.

    http://www.scn.org/~mentifex/weblog.html

    ReplyDelete
  12. This comment has been removed by a blog administrator.

    ReplyDelete
  13. :s/lose site/lose sight/ ?

    ReplyDelete
  14. I consider a management team to be good if they understand the needs of their employee, and the most creative and efficient people I know are either working for themselves or have enough time to do a bunch of external things (sports, cultural, whatever.)

    If a company wants to squeeze their employee to the max, the productivity per hour will fall down very fast, employees will start hating you and finishing in mental hospitals. Not cool.

    ReplyDelete
  15. Have seen this once before.

    Programmer thought he was near finished his tasks, took on more tasks before completing those.

    He was on site 18 hours a day for months.

    He began hallucinating and hearing things, the day before he checked himself into a mental institution he made threats against me and my family.

    I think this was all caused by overwork and stressing himself out to the extreme.

    Because of the physical threats he made he was not allowed to return.

    When I took over his code later nothing worked and it needed to be completely re-written.

    ReplyDelete
  16. If the company did not let (encourage?) this programmer to work overly long hours, the company would still have a productive programmer.

    ReplyDelete
  17. Sad story, i have a mental problem too, and because of that i became a programmer. There is dough one thing i note as difference between other programmers, i know my mental limits, i face them everyday even when doing normal non coding tasks.. I wont stress out to far, because before that happens i pass out. On the negative my production is lower on the positive it gives me a good sense of pressure.

    Having such a sensor, makes me aware also how other people ignore pressure.
    Often a programmer thinks ...Yes its logic so i can do that if i push myself enough.

    They forget i think that although its logic, their brain is not a computer.
    With my limits i became leader of a team but it worries me most of all, if one of the programmers isn't taking care of his health, if they use medicines to threat regular headaches, those are bad signs, they often ignore.

    In the end people need to realize, that deadlines are just constructed most often people pass deadlines and the world still turns around. However in a worse case you loose a team member and that would cause much more stress on a team.

    Well this is how i look at this

    ReplyDelete
  18. That's tragic. But I think they should give him a laptop and let him write away, if he wants to. I'd like to see what he comes up with. Could be crazy... I mean, awesome... Or maybe crazy awesome?

    ReplyDelete
  19. Unless there are extenuating circumstances, ie you have equity in the company, if you are required to work a lot of overtime it is a sign of poorly run company and management.

    ReplyDelete
  20. I'm very new to this game and have had very little experience with clients, but I've stated my boundaries early on and they seem to be ok with it.
    I guess it might loose me some money, but at least I'm happy (and broke).

    ReplyDelete
  21. Maybe growing up in a family where my mother had a mental illness made me realize, no matter what you do for a living, you have to watch your state of mind.

    Personally, I learned to say "no" early on. Yep, this burned some bridges later on, but really, who cares? No one controls you and you have the right to look out for yourself first. No one else will.

    I almost got into a brawl with a programmer co-worker who went WACKO one day from being overworked. I was asked by the boss to ask him to do something, and unfortunately for me this was the straw that broke the camel's back.

    He flew into a rage, screaming, stomping, shouting. Then he got right into my face asking him if I was going to fire him.

    I was bracing myself to get punched (and I know I would have socked him right back out of defense) but luckily it didn't end up that way and he eventually sulked back to his desk.

    I later learned his excuse was he had "too much to do". That's his fault though. He let his work spit him up mentally and chew him out. He made himself into a loser.

    I have zero sympathy for those who let work mentally break them. If you're overworked, it's YOUR responsibility to fix it. Bad boss? Quit if you have to.

    But if you're going to lose it as a result of being overworked (and you WILL eventually), be prepared for the consequences.

    ReplyDelete
  22. A year and a half ago something like this actually happened to me. Honestly I felt like I kept doing work that did not amount to anything and I got on time to not crash fully but had to quit and spend about 3-4 weeks nursing myself before I was good to start doing small tasks.

    I wrote about it here
    http://alfredoalvarez.com/blog/?p=359

    ReplyDelete
  23. I'm always thinking about this particular issue and my conclusion is that programmers must work only 6 hours per day, There exists a lot of pressure when you have impossible deadlines, but again, I think that another issue is that the most of the software companies are still based in the industrial model, where if you don´t produce something you lost money. I think that software companies must change the current model to another model that takse in count that programmers need a real life and that programmers are persons with feelings and fears.

    ReplyDelete
  24. This makes me think about pursuing Computers post College.

    I like programming. It's a part of me, but I guess I might get a mental breakdown too if I don't get the recognition I deserve.

    Programming requires hardwork: 1000's of lines of codes, error solving, making sure people don't copy your work.

    ReplyDelete
  25. This comment has been removed by a blog administrator.

    ReplyDelete
  26. How did he do in the end? Did he recover?

    ReplyDelete
  27. I got so much to learn here.I am also trying to make my name in the IT field and therefore i am searching,reading and learning.I do have my blog but i saw that i still have to learn a lot.thanks to everyone.

    ReplyDelete
  28. This comment has been removed by a blog administrator.

    ReplyDelete
  29. This is a good article & good site.Thank you for sharing this article. It is help us following categorize:
    it consulting, retail, manufacturing, CRM, digital supply chain management, Delivering high-quality service for your business applications,
    Solutions for all Industries,
    Getting your applications talking is the key to better business processes,
    Rapid web services solutions for real business problems,
    Understanding Your Data is the Key to Good Decision-Making,
    Web-based Corporate Document Management System,
    Outsourcing Solution,
    Financial and Operations Business Intelligence Solution,

    prologic-corp

    ReplyDelete
  30. Good Article
    https://www.geeksprogrammings.blogspot.in

    ReplyDelete
  31. This comment has been removed by a blog administrator.

    ReplyDelete
  32. I loved the line, "During this time the company was not making money so they needed the work done quickly." I think a sign of good management is that you don't put your best people and lots of extra effort into initiatives for which you are not compensated.
    Maybe asking their best software developer for his input on what projects to pursue or ideas for new products and then giving him a share of profit (incentive pay) would have been better for both the employee's morale AND for the struggling firm.

    ReplyDelete
    Replies
    1. Seems like the company compensated him for his effort so this isn't a case of an evil company taking advantage of a hardworking guy . I guess it's important to step back every now and then to take breaks and prevent burn outs.

      Delete
  33. Agree. You have to compensate them. I am also a girl programmer. there were a times when I have a mental breakdown. I suddenly cried when I code. It feels like, why I did this? for what? and why I still did this?

    ReplyDelete
  34. As a manager it is my JOB to make sure that my programmers aren't burning themselves out or pushing too hard.
    That means I have to know my people and not be afraid of pushing back on my manager or the company as a whole. Just because I've got a person who never says no and will take on any task doesn't mean I just keep dumping on them.
    To be brutally honest, finding, training and getting a new programmer productive is an expensive option vs. just keeping the current productive programmers you have healthy and producing. Any manager who thinks otherwise hasn't been a manger in this business long enough.

    ReplyDelete
  35. In LA where coding jobs are much harder to come by its not optional the abuse of unpaid overtime is so bad down here it takes away the incentive to work why work when everyone goes home after 7 but you are expected to stay till 1am and be back at 9am for free otherwise you are fired. That's the norm down here 20 hours work for 8 hours pay that's industry standard in socal.

    ReplyDelete
  36. It is not voluntary though if you refuse you get fired I've seen them fire coders when they get sick or injured in Los Angeles they treat talent as a disposable comoddity having a weekend or evening off that is unacceptable here

    ReplyDelete
  37. Not to keep ranting but in LA the norm is aweful they fire you for rufusing unpaid overtime and they blacklist you from continuing once you hit 40. You are more likely to go insane or even starve working conditions here are beyond abusive they don't treat people in jail as bad as coders are treated in southern California.

    ReplyDelete
  38. This is a cautionary tale about spending too much time working. As a programmer, you have the magic skill to build products that people will pay money for. Don't spend your time blindly working for other people and going stir crazy and sacrificing your social life. You have the ability to create businesses on your own. WIth new frameworks allowing fairly easy web development, not to mention the number of companies listed at BuyFacebookLikesReviews to handle things like social media that you might not be good at, there's no excuse for not working on your own projects as a programmer. Yes, the example given in this story is particularly sad and most people won't sink to this level, but you have the ability to improve your life just by ditching the normal 9-5.

    ReplyDelete
  39. well wait, but how does this article (and parallel conversations on depression & startup founders) even begin to tease apart correlation and causality? does programming drive programmers crazy or do you have to be a little "intense" to be the kind of extremely intense programmer cited in this anecdote? does the stress of starting a company cause depression, or are depressive tendencies frequently correlated with the willingness to dive into extreme risk in order to launch a startup?

    ReplyDelete
  40. This comment has been removed by the author.

    ReplyDelete
  41. That's why I'm only willing to work as a programmer for myself. It's most commonly a very ungrateful profession if you're working for someone other than yourself. Plus I'm already as crazy as one can get without actually landing oneself into a mental institution, I don't think that kind of stress would do me good.

    ReplyDelete
    Replies
    1. People value what they like or for which they feel affinity. Software development is not usually one of these, sand consequently doesn't get valued or rewarded. Unless they absolutely have no choice.

      Delete
  42. I know couple of Java developers who got insane, its not a new thing, it just happens couple of times in a while.

    ReplyDelete
  43. For Best programming and software development services please visit us at:-
    http://www.usatinc.com

    ReplyDelete