Ask HN: I'm a programmer. I am always angry at job. Is this normal?

Something always pissed me off at work -- whether it is bad code, unknown crashes, demanding boss, demanding clients, unreasonable colleagues, insensitive colleagues, damn deadlines that I didn't agree to, or emergency calls on weekends away.

I think I need help unless this is very normal for those in software development.

  • Congratulations. You have admitted being at Level 3 of Pissedoffedness, the last level before the solution.

    Levels of Pissedoffedness:

    Level 0: You don't know that anything is wrong. You just think that's just the way it is.

    Level 1: You know something is wrong, but you don't know what to do about it, so you just go along with the program.

    Level 2: You know what to do about it, but aren't yet able to do it. So you stick it out, learning as much as you can.

    Level 3: You know what to do about it and you are capable of doing it. Now you're really pissed off (mainly at yourself) because you're a fish out of water, in a place where you don't belong.

    Level 4: You do something about it. You challenge the people at work to fix things. You start fixing them yourself. Or, best yet, you just go out and do it right on your own. Either way, sweet relief.

    Get to Level 4. The days of pissedoffedness will soon seem like a distant memory.

    (I have been through this cycle many times, but now I'm at Level 4 and have no intention of ever going back.)

  • This is not normal, although it might be common in the technology industry.

    some important points to consider:

    1. Stress takes years off your life. You will die early, probably of a heart attack, if you don't correct things.

    2. It is possible for two different individuals to look at the same exact situation as insurmountable/overwhelming or, on the other hand, challenging and fun. It really is a perspective thing.

    3. Without knowing the exact details of your situation it is impossible for the untrained folks (i'm assuming here) to know how much of your stress comes from you and how much comes from your current situation. Certainly it's a little of both--but the % is critical to understand.

    4. You need to talk about these issues with a life coach, career coach or even therapist. They will give you objective feedback on the state of affairs.

    5. If this helps, when I was younger in my career (Silicon Alley Reproter days) I would sometimes internalize the bad situations my business was facing (i.e. "What did I do to cause this?" or "Why didn't I see this problem coming?"). This made me anxious. As I got older, and hopefully a little wiser, I wouldn't internalize these things. In the Weblogs, Inc. days I would look at problems as challenges. My internal dialogue morphed to "Oh, this is an interesting challenge... I wonder what ideas my team can come up with to overcome these roadblocks?" and "If we resolve this issue we're going to soar!" This is called attribution theory in psychology and it's a very important concept to understand IMO.

    6. Life is short and you get one shot at it. Don't be proud or stupid: get help and get out of bad situations as quickly as possible. Do not stay in a bad situation, like many smart people do, out of some "tough it out" philosophy.

    Good luck with it and if you wanted to talk about it with someone ping me at jason at calacanis.com. I'm not a professional, but I been there.

  • You know something's not right when people say stuff like how it's normal to not be completely satisfied at work, to hate monday mornings and so on. Feels like we're being told this just so we can shut up and keep working like zombies. And it amazes me that so many people feel this way and yet nothing changes at companies.

    Anyway, yes, getting help is one option (bad code, like bad driving, is a part of a dev's life. You try to keep a safe distance away from it ;) but you don't get angry). Create an intuitive plan of what you'd really like to be doing and at what company, and then get to work at solving the problem. Don't let it hurt you until it boils over.

  • Here's what worked for me (YMMV): Increase your rate until you either feel comfortable again - or until they let you go.

    Call me greedy but the question I usually end up at with annoying clients is: "Is this worth it?". Pay me enough and I'll put up with whatever you throw at me.

    Obviously your pain/compensation ratio may be unrealistic (i.e. nobody is gonna pay what you need to feel comfortable). In that case you'd have to go freelance or dip a toe into different professions.

  • I would say you're burning out. It's definitely not normal. I'd change jobs if it's possible.

    Same stuff happens to me. Alas, I'm not in a position to change my job easily (think immigration issues).

  • Yeah, not normal. I think most of us can say that a job will have its ebbs and flows, but if you are constantly ready to blow your stack, then you should be looking for a new environment.

    Also, I'd split your list out. Things like bad code and unknown crashes come with the territory. That particular patch of grass is never greener on the other side. Demanding clients are also likely to be a problem just about anywhere, even if your clients are other people in the office. Your colleagues and bosses, however, well, there will also be problematic people everywhere, but you can get on with the people around you, then yes, you should should consider a change.

    In ten years in the industry, I've only once been "on call" and that was to test our systems after a co-lo move. Sometimes deadlines will be silly, too, but if there's a pattern to that silliness, then something is wrong.

  • How are you away from work? If you're rarely angry there, then it's job-related. Anger is a symptom: the cause can be genetic or environmental.

    One excellent programmer friend is "naturally angry". He takes medication to control it. When his pills run short, his voice level and agitation increases noticeably. He has shared his difficulties, which makes it easier for everyone else to work with him. Angry or not, his judgement is always sound and exacting and you'd best listen to him, whether he is raising his voice or whispering.

    So if you're like my friend, see a psychiatrist. They understand the organic causes of emotions better and can prescribe appropriate drugs. Otherwise try a kickboxing class or a good run or ask a girlfriend for a little sustenance.

  • I think it's your subconsciousness's way of telling you that it's time to search for a new job.

  • Who cares?

    I don't care if this is normal or not, and honestly, I don't know you. How am I supposed to help you?

    You could be: A bad programmer. A good programmer. A non social person, and hate socializing with colleagues. A social person and hate writing code alone. A good leader that wants to decide by himself. A bad leader that just want another relationship with his boss.

    You want to be happy in your live, don't you?. So go to a good psychologist or read books and fix that by yourself. You are a grown up human. Take responsibility.

  • Did you ever pick up a (personality) trait or habit from a co-worker, although you didnt want to ? Did you ever have trouble understanding how a policeman ignores obvious insults and stays cool ? Feelings are catchy like the flu, but remember you are a part of the equation too. If you treat a desperate customer with calm and being realistic, or colleagues with humor and a relaxed mood, they might catch it too. So there is a starter strategy, although it might take patience.

  • There is a concept in systems theory (http://en.wikipedia.org/wiki/Systems_theory) that all systems must move toward equilibrium. There is also a concept that you are a component in any system that affects you. So, the course of action based on this is to change yourself, and the rest of the system must change around you toward equilibrium. This works much better than trying to directly change other people or external situations.

    I think a lot of your anger may be frustration at lack of control in your situation. I know others are giving you advice to leave your job, but based on your report, there's no evidence yet that the job itself is the problem.

    You have an opportunity to use this as a learning experience and practice different responses to situations. Observe the results. You may find that this is in fact a toxic work environment, but you can't see that clearly until you've mastered the situation. Finally, your anger is something that comes from within you. It isn't part of the situation, and other people didn't put it there. The Power of Now by Eckhart Tolle provided really useful tools for me in learning to understand and manage my emotions. I highly recommend it in your situation.

  • Being angry at work is very common, but that doesn't make it healthy. Take it as a sign to look for another job, doing something you can take joy in.

  • I'm in academia and enjoy what I do now. However, I went through years of the same frustration. My solution was "save the interesting and creative stuff for home". I feel this talk hits the nail on the head (its not just about ACLs): http://blog.cusec.net/2009/01/05/zed-shaw-the-acl-is-dead-cu...

  • It sounds like most of the stuff that sets you off is people-related. If you are an introvert, certain types of social intrusions are going to generally be harder to deal with than others. The right boss (one who respects your space better), the right type of working environment with the right type of policies and/or the right job where you have less of that might help.

  • I don't think it is specific to software development, it sounds like you just aren't getting respect from your colleagues. The same could happen to folks in chemical engineering, public relations, or any professional setting.

    Set boundaries. If an unreasonable deadline is set onto you, insist on the reasonable date you previously agreed to. Tell insensitive colleagues to straighten up, or you'll leave or go to HR. If you are on a romantic get-away for the weekend, make it clear that the problem will be your top priority Monday morning (or Sunday night). If things are on fire and you are the point man on the situation, you should stand up, but you should not bend over.

    Be willing and prepared to leave. Keep enough money in savings to be able to walk away from the job and take a few months to find a better fit.

    Good luck!

  • It's ok to be slightly ticked off but not always angry. Maybe it is the work conditions. If so switch jobs.

    However, if you've been switching jobs for a while now and still feel the same way at every job, then either you've got bad luck with picking your jobs, or you're just a bit too sensitive.

    At the end of the day though, no job is going to be perfect, and you're not going to be at any job forever anyhow -- so my advice is to just let things slide, brush your shoulders off (channeling Jay-Z), and say to yourself this crap isn't going to matter in a year or two anyhow so why am I getting worked up about this. (Works for me most of the time)

  • I believe that the word "normal" does not help here. It bundles "common" with a solid dose of "acceptable". While I think your situation is common in IT, you should definitely separate this fact from its acceptability.

  • i find that i am happier once i have a project "rolling along" - the start and end are more frustrating, but the work in the middle is pretty peaceful.

    maybe you are in a transition period between projects, or need to shift to a position where you get to work longer term on a single project?

    [edit: this applies on more than one scale - it's best if a project lasts for a couple of months or more, but even within a single week i prefer to not switch around too much, so try to do avoid anything smaller than day-sized chunks when possible]

  • Sometimes anger can make you stronger (give in to your anger, Luke...) But some things you can't change, you can only change how you deal with them. Unless it's caused by an immediate physical threat to you or your loved ones, anger is a choice or a learned response and you can learn to respond differently. Have you tried chi gong or other forms of meditation? Something to help you see the big picture and realize that these annoying things don't really mean anything to you.

  • Being always angry and frustrated at work is more common than many might think, but it's certainly not healthy.

    Ideally, you should do what you love in order to be able to love what you do.

  • I hope it's normal because I'm pretty much the same.

  • Be professional (Read clean code chapter 1), do your best, don't take it personal.. it is just a job.

    If you are good at what you do, and behave professionally you should not have to be angry at your job.

    Now, If you are being asked to behave in a matter YOU consider unprofessional, it is up to YOU to say "I can't do that" and... be prepared to find some other job.

    Having options is the best medicine for frustration.

  • Thanks everyone for the replies. Helped me more than you know.

    I'm not going to quit my job -- this is the best job of all the jobs so far. Oh well, not yet anyway.

    I could be frustrated because it supposed to be a quiet weekends away from work or it could be that I just burn out lately.

  • I had a love/hate relationship with software programming for a couple of years until I discovered test driven development for me and committed myself to do development cycles with the client.

    Maybe that would work for you as well.

  • It is not normal. Bad project mgmt if you asked me. PM did not manage the change request, did not manage users expectations, did not recruit the best talent, etc.

    But then have I done yet to help him? Hm... I think I have.

  • I conjuncture being angry is directly proportional to how smart you are

  • Not normal, not by a longshot.

  • Speak your mind. Even if your voice trembles.

  • I don't know but I've heard "Love what you do than do what you love"

  • maybe it's normal for you?

  • If you're "always angry", you need to get out now. If you're occasionally angry or stressed (e.g. 5 to 10% of the time) that's normal.

    Every job has annoyances, but if you're constantly pissed off, you need to do something. My advice would to be to start speaking out when people take advantage of you. If a client is being unreasonable and making your life hell, he's probably making your boss's life even worse. Figure out who you can talk to, and what you might be able to say, in order to improve your situation. You may have to find another job. If you're this angry, my advice would be to start the search process now.

    A lot of Americans think it's a reasonable strategy to bottle in anger at the workplace, rather than speaking their minds. This made sense when people stayed at the same company for 30 years, and when getting fired or laid off was a disaster, because you'd be around the same people for most of your working life. Now that the average job lasts 2 to 5 years, it doesn't make sense. You're better off raising the issues (in a respectful, reasonable way) than repressing the anger and damaging your health.

  • do you live in California / Arizona / West ? I noticed many angry people there. Almost always there are a few always angry developers/admins/whatever. Somehow never happens in the North-East...

  • I think you're frustrated. Take a small vacation.