example.com/path/to/article
000 points · username · 0 hours ago
example.com0 points · 0 comments · 12 years ago · jblow
I am 42-year-old very successful programmer who has been through a lot of situations in my career so far, many of them highly demotivating. And the best advice I have for you is to get out of what you are doing. Really. Even though you state that you are not in a position to do that, you really are. It is okay. You are free. Okay, you are helping your boyfriend's startup but what is the appropriate cost for this? Would he have you do it if he knew it was crushing your soul?
I don't use the phrase "crushing your soul" lightly. When it happens slowly, as it does in these cases, it is hard to see the scale of what is happening. But this is a very serious situation and if left unchecked it may damage the potential for you to do good work for the rest of your life. Reasons:
* The commenters who are warning about burnout are right. Burnout is a very serious situation. If you burn yourself out hard, it will be difficult to be effective at any future job you go to, even if it is ostensibly a wonderful job. Treat burnout like a physical injury. I burned myself out once and it took at least 12 years to regain full productivity. Don't do it.
* More broadly, the best and most creative work comes from a root of joy and excitement. If you lose your ability to feel joy and excitement about programming-related things, you'll be unable to do the best work. That this issue is separate from and parallel to burnout! If you are burned out, you might still be able to feel the joy and excitement briefly at the start of a project/idea, but they will fade quickly as the reality of day-to-day work sets in. Alternatively, if you are not burned out but also do not have a sense of wonder, it is likely you will never get yourself started on the good work.
* The earlier in your career it is now, the more important this time is for your development. Programmers learn by doing. If you put yourself into an environment where you are constantly challenged and are working at the top threshold of your ability, then after a few years have gone by, your skills will have increased tremendously. It is like going to intensively learn kung fu for a few years, or going into Navy SEAL training or something. But this isn't just a one-time constant increase. The faster you get things done, and the more thorough and error-free they are, the more ideas you can execute on, which means you will learn faster in the future too. Over the long term, programming skill is like compound interest. More now means a LOT more later. Less now means a LOT less later.
So if you are putting yourself into a position that is not really challenging, that is a bummer day in and day out, and you get things done slowly, you aren't just having a slow time now. You are bringing down that compound interest curve for the rest of your career. It is a serious problem.
If I could go back to my early career I would mercilessly cut out all the shitty jobs I did (and there were many of them).
One more thing, about personal identity. Early on as a programmer, I was often in situations like you describe. I didn't like what I was doing, I thought the management was dumb, I just didn't think my work was very important. I would be very depressed on projects, make slow progress, at times get into a mode where I was much of the time pretending progress simply because I could not bring myself to do the work. I just didn't have the spirit to do it. (I know many people here know what I am talking about.) Over time I got depressed about this: Do I have a terrible work ethic? Am I really just a bad programmer? A bad person? But these questions were not so verbalized or intellectualized, they were just more like an ambient malaise and a disappointment in where life was going.
What I learned, later on, is that I do not at all have a bad work ethic and I am not a bad person. In fact I am quite fierce and get huge amounts of good work done, when I believe that what I am doing is important. It turns out that, for me, to capture this feeling of importance, I had to work on my own projects (and even then it took a long time to find the ideas that really moved me). But once I found this, it basically turned me into a different person. If this is how it works for you, the difference between these two modes of life is HUGE.
Okay, this has been long and rambling. I'll cut it off here. Good luck.
zeteo
radicalbyte
Since then I've met some amazing developers who (unbeknown to them) helped me get past the mental block that the OP has described; people who could actually challenge me on a technical level, and who weren't jerks.
Take JBlow's advice, and I strongly advise you to take a month off of work if you can. You need that time to recover, recharge, and take a break.
atom-morgan
I've been in jobs similar to OP. Sometimes I didn't agree with what I was asked to do and other times I knew I was being asked to do something simply to keep me busy. Fortunately for me, I had one good job to compare against my shitty jobs so I had a little more perspective. However, it was very easy to see everyone else slowly becoming content with their situation. As jblow said, they're letting their jobs slowly crush their soul and they probably don’t realize it.
I left an industry and a comfortable job to get into tech. I was excited. I moved to a new state. Then I ended up at the worst job I’ve ever had in my life followed by three months of unemployment. I never knew I could experience emotions like the ones I felt during that period.
I would talk with people who were the same age as me and it almost always came down to money. The money is nice here so I'll just do one more year and then go somewhere else. Guess what? They're still there. Another promotion, another bump in salary, and before you know it one year has turned into five. By then, leaving and starting something new has to feel very scary. I realized this could happen to me so I GOT OUT.
It is worth mentioning that you might feel some critical opinions about you. With today’s social networks, people can stay up to date with what you’re doing. Maybe it’s because I’ve only been out of college for two years but if you are the type of person who is actively trying to get yourself out of a bad situation, they’ll perceive you as unstable. You’ll spend your time looking for an opportunity that provides you with happiness and exciting work and they’ll think they’re better than you because of a title they hold at their job with promotions as predictable as holidays.
People have told me I wouldn’t be able to get a job if I kept switching jobs but I haven’t felt that. As long as you’re able to explain why you left certain jobs with valid reasons, it won’t matter - especially to the people who matter. Good employers will respect your decisions if you’re able to articulate why you left and what you’re looking for. Who knows? They may have done the same as you years ago.
Patrick_Devine
There are times in your career though when sticking through a difficult challenge is absolutely worth doing. Flitting from task to task because something is "hard" or because a particular feature is not obviously useful is just as bad. I've seen a lot of programmers who aren't "closers". They can get a project to about 85%-90% completion, but can't manage to finish those last few things to get something out the door.
So the answer, I think, is balance. You need to have a good picture of what you're working on and why. If you don't really believe in the project, or if it's being slowly killed with thousands of absurd changes, it makes those difficult periods really, really hard to endure. In those cases, get out, and get out fast.
oddevan
OP: If it is at all possible, and I mean AT ALL POSSIBLE, try and find a job that you will be motivated at. There comes a point where you have to take care of yourself in order to take care of others, and it sounds like that point is coming soon for you. If you can't get out (or even just in the meantime), try and do something in your spare time that is fulfilling. It can be programming your own (unrelated to work) project, it could be getting out and enjoying nature, it could be something completely different (writing music and stories are some of mine). If you can't get that enjoyment during your work, try and get some of it on your own time.
mnw21cam
I burned myself out once and it took at least 12 years to regain full productivity.
Ouch. Took me two years. Six months completely out of work and then the rest slowly building up to full time. My workplace bent over backwards to take care of me, which was fantastic. I don't know where you are based, but you may not be in a country where the employee has this level of protection.
I would agree 100% - don't let it go that far.
Codhisattva
I just quit a job because the work was dull, unimportant and consisted largely in cleaning up other people's messes.
I'm replacing it with a job at a company with high values and strong ethics, a profitable and secure business model and it's a company I enjoy. I'll be working on a project from start to finish and code quality will be my driving force.
Quit your junk job and find a situation that matches your principles and values. Do it today.
ebbv
The problem is young programmers tend to be hot headed and emotional about their work. This is anti-professional.
While being motivated is great, and important for big projects, every job is going to involve tasks you disagree with or think are a "waste of time." Part of being a professional is doing them anyway, and doing them without getting bent out of shape about it. That's not a sign that your soul has been crushed or that you've lost your love of programming (or whatever), it's a sign that you're mature and realize that work is work sometimes.
If your job is an unrewarding nightmare and you're miserable, then by all means you should find a new one. I'd go so far as to say if you're unhappy with your job overall, find a new one.
But if you have to sometimes do tasks you don't agree with? That's just normal. If you go running for the hills every time you have to do something you don't agree with you'll never be anywhere for long.
neilellis
Anyone in the same situation - please listen to the previous comment, this is such spot on advice. You have to love what you do or don't do it, the damage can really be huge. Don't think of 12 years as an exaggeration, I'm 10 years down the line and still recovering. And there have been breakdowns pills and therapy, just because I kept forcing myself.
Pace yourself, do what you love, and try where possible to smell the roses along the way.
If this seems impossible it's just because you're heading away from this goal right now, try to make it your goal. Not money, prestige or cool companies. And as it informs your decisions you'll start heading in the right direction.
I'm not completely there yet myself, but I'm along way away from the soul crushing that got me into a mess and many steps closer to a sane life!
Good that you could ask and share, a lot of these experiences are so common and it's so easy to think we are the problem. It seems to be something that comes with the territory or our general personality type who knows, but it really is common.
And finally, don't forget what happened to Boxer in Animal Farm - he believed any problem could be solved if he works harder ;-)
airfoil
I've stayed in jobs where I became complacent and stayed too long. When I had finally had enough it was incredibly difficult for me to find something new because my skills were so specific that people couldn't see where I would fit. I will never do that again. If I have to switch jobs several times over the course of a few years, I'll take that over droning away and having my skills atrophy.
One thing that's kept me relatively sane are my side projects. My side projects have also made me realize I won't really be happy until I'm doing my own thing (or at least taking a shot at it). With a family though, I need the predictable income and benefits that a "regular" job provides. I'd love to take a few years off to pursue some of my own ideas, but it's just not feasible for me right now. Or I'm too scared/stupid to figure out how to put myself in the position to pursue my ideas.
It's tough knowing what you should be doing, but not knowing how to get in a position to do what you should be doing.
pm
The OP is a well-known game developer. Game development is very different from application or web development. I've known and worked with programmers who were brilliant but didn't understand that the feature they were working on was necessary for the client in question. That distinction is important; are you depressed because you care about the purity of the product, or because a client who actually uses said product demanded the feature?
It's important because then the question isn't about a programmer depressed, it's about a programmer who doesn't understand the product and for whom it was made, and that is an important distinction.
methodover
More broadly, the best and most creative work comes from a root of joy and excitement. If you lose your ability to feel joy and excitement about programming-related things, you'll be unable to do the best work.
This is probably true. If you're happy with what you're doing, you're probably (but not certainly) going to be better at it than someone who isn't happy with it, all else being equal.
However, being happy with one's job is not a reasonable goal for most people. Or, to phrase it a little more flagrantly:
The idea that we need to be happy with our jobs is bullshit.
Among the programmers I know, many of them claim to love programming enough that they're happy to do it full time (AND work on side projects!) -- and to them, earning a paycheck is almost an afterthought; it's a nice side effect. The amount doesn't even really matter to them all that much because programming is just so much fun. (This is not a straw man -- I've personally listened to employees at Facebook, Google, and various Silicon Valley startups express this very notion.)
These claims are not easily proven true or false, but I suspect that most of them are false. I think that if a programmer represents himself as anything other than absolutely in love with programming, then they lose a competitive edge.
The truth is, I think, that programming is just a job. It has it's ups and downs, and it's certainly less terrible than many other jobs. Like most jobs, you'll be given tasks that you can't get out of and you just have to learn to deal with.
Not being in love with your job is does not constitute a very serious situation. It's simply a necessary evil for most people.
Perhaps you're one of the lucky ones who likes his job that you do it from a "root of joy and excitement" on a daily basis. But I think such persons are quite rare.
fivedogit
Once, when I was younger, I burned out completely on my club soccer team. I was 100% A-OK riding the pine and playing with blades of grass because I absolutely did not care. The travel sucked, I didn't like my teammates, I'd gotten sick of the coach and I didn't see the point.
Then, once high school soccer rolled around 2 years later, even though the game of soccer did not change one iota, the switch flipped back on and I super motivated again. I just needed a change of scenery (new teammates, coaches, fields, spectators), I guess.
So I'd say if you think things will get better once the current assignment is over, stick around. If not, move on to something that gets you excited. Life is too short to do otherwise.
veganarchocap
When I worked in-house, I was massively productive, agencies I've just fizzled out and now feel that boredom and malaise. I've been offered an amazing in-house opportunity that I've been ignoring for a while now, I think this has spurred me to a decision. Thanks again!
InclinedPlane
Many times I've seen developers getting burned out because their management treated them like factory workers or, worse, cattle. Often what happens is that some of the better devs start leaving and then that creates a cascade where the working environment just gets worse and worse for everyone else (fewer good people to do the work so more work and more stress for everyone else, and fewer coworkers you enjoy working with) and more and more good people leave.
What you say is totally true about working on projects you care about. That's always the way it will be with artists. If you want to work on something that you don't care about, you can, but you won't be able to do so at your full capacity. You'll need to disengage with it enough to keep it at arm's distance, to disinvest much of your self from it. That too can be perilous because it risks becoming disinvested from development as a whole and losing your passion entirely.
archagon
I would be very depressed on projects, make slow progress, at times get into a mode where I was much of the time pretending progress simply because I could not bring myself to do the work. I just didn't have the spirit to do it. (I know many people here know what I am talking about.) Over time I got depressed about this: Do I have a terrible work ethic? Am I really just a bad programmer? A bad person?
I never thought about it that way, but this resonates with me. I recently ended a job at a pretty big company and I often felt like you describe. At the time, I kinda shrugged it off as normal; after all, weren't office jobs supposed to be soul-crushing? Plus, maybe I wasn't that good anyway. Maybe my team leads were right. Maybe this was just my role in the corporate ladder. I joked with my friends about how I was just mooching off the company, how a dog could do my work, but it felt kinda shitty and it was hard to care in that environment.
The difference between that and the passion project I'm working on now is striking. It doesn't feel like work. I can stay up coding until 4, 5, 6 in the morning if I really want to see the fruits of my labor. (And I often do.) I actually look forward to pulling out my laptop. I have enough good ideas to keep me busy for the next few years. And most importantly, I'm finally getting to the point where I can prove myself creatively.
(On the other hand, it was one year of great money for not too much spiritual trauma, and now I can travel the world and work on the good stuff for a couple of years without worry. So for me, definitely worth it.)
smrtinsert
binarymax
auggierose
sk8ingdom
In fact I am quite fierce and get huge amounts of good work done, when I believe that what I am doing is important. It turns out that, for me, to capture this feeling of importance, I had to work on my own projects (and even then it took a long time to find the ideas that really moved me).
This is dead on. Very much reminded me of a slightly sensationalized article I read a number of years ago:
http://cyberstentialism.blogspot.com/2012/08/ten-percent-of-...
gcanyon
I burned myself out once and it took at least 12 years to regain full productivity. Don't do it.
This is interesting to me -- I've been seriously "burned out" at least three times, and each time it's taken me about a month at the right job to recover. We'll see the next time, but I certainly hope/expect it will take a month or less again.
Vekz
ariannahsimpson
shubhamjain
I am 42-year-old very successful programmer who has been through a lot of situations [...] Early on as a programmer, I was often in situations like you describe. [...] If I could go back to my early career I would mercilessly cut out all the shitty jobs I did
You know, it's hard to believe it, but at some point parents forget what it felt like being a teenager, and senior developers being junior. I know I'm going hard against the grain here, but I think you're better off doing as jblow did, not as he says.
Priority #1: survive, life gets better. In any organization that's large enough to have a pecking order, sh*t rolls downhill. Your CEO meets the customer's CEO and sees some fish on the office walls. He decides that an aquatic theme will increase sales, and passes it on to project management. PMs are slightly bemused, but figure out some web pages that can feature animated fish, and vet the idea with senior developers, who agree it can be done before the next trade show. The senior developer creates the fish_type, group_of_fish and fish_animation tables, grabs a few morsels that are fun to implement (new web technologies, yay!), and passes the rest to you. Congratulations, you're the junior developer at the bottom of the scrap heap! You not only have to deal with all the crap nobody else wanted, but will also explain it as lines of code to your computer. And, after re-implementing several times to address all concerns from meetings you were never invited to, it turns out the customer's CEO had borrowed the office and actually hates fish since choking on a herring bone 32 years ago.
How do you deal with all this? Well, maybe quitting will find you a better job as a junior developer. (Also, maybe an uncle you never knew suddenly leaves you his fortune.) But realistically, the way most people do it is the same as jblow's. You find ways to survive, improve your resume, and eventually move uphill to have more choice in kinds of crap you need to deal with. Sharing your hard-earned wisdom with junior developers will only be the cherry on top at that point...