Take the 2-minute tour ×

This answer to one of my recent questions got me thinking about something that's been (mostly subconsciously until recently) troubling me throughout my programming career.

Basically: where do you find the drive to stay focused and motivated when working for someone else?

Now to explain how this is specific to programming (or at least to the specific kind of crafty knowledge work that programming is): lots of types of work are relatively straight forward in terms of goals. You either finish a task, or you don't. In programming, it really matters how switched on and motivated you are - but at the same time - a decent programmer can quite easily coast and get enough done not to get fired, while still be relatively unproductive, unhappy, unmotivated, and nowhere near their potential.

This is basically what happens to me in any regular programming job (I've had four so far, 10 years into my career): I start out fresh, all excited about working at a new company, getting my hands dirty with a new codebase, learning a new domain, etc. The first few months are great. All excited and motivated, everything is just clicking. Then, once things are more routine and familiar, it's like my subconscious slowly starts to revolt against the "slavery" of it - as explained in the answer to my other question. I seem to come to a conclusion (on a deep, mostly subconscious level) that taking ownership of major/complex tasks is just way too much effort and stress. It slowly degenerates to the point where I'm working (more or less) just hard enough not to get fired (and I've never been fired).

The underlying thought process (subconscious - but I've identified it now) is something like this: being fully switched on and taking ownership of major projects takes an order of magnitude more effort and stress than coasting along just hard enough not to get fired. On the flipside, the rewards for being one of the company rockstars are in most cases borderline insulting. Maybe a slightly bigger Christmas bonus than an average worker at the company. Maybe stock options worth a couple of months salary after many, many years of extreme effort, voluntary overtime and stress. Basically, the effort and stress feels extremely non-commensurate with the reasonably expected possible rewards and recognition. So I easily go into this kind of unfulfilled, coasting "salary slave" mode (think Peter Gibbons from "Office Space").

As the answer to my other question said, the answer is in startups (or in general in doing your own thing), but I'm curious to know if there is a secret to maintaining great motivation even in a standard job working for someone else, even on on stuff that you feel no deep personal interest in. I've worked with great rockstars and gurus over the years - who could somehow stay very focused and motivated even on jobs which they said they hated. They somehow bridged the gap and seemed to find motivation for what seemed like no reward to me. And it can't be personal purpose (they said quite directly that the job is "working on a boring business system" and they'd be outta there if they won the lottery) and it can't be family responsibilities or purely money (many were single and living with not-very-materialistic values).

share|improve this question

closed as not a real question by Jimmy Hoffa, World Engineer Mar 5 '13 at 22:59


Wife & kids motivate. Helping to cure cancer can motivate. With your brain, is it that hard to learn a thing or two about biochem? If you can't bare it anymore, then join a startup, although that has downsides too. You can join a smaller company where profit sharing is more "fair". Now "fair" is a BS term. A large company wastes a lot, has a lot of BS that arises naturally. You'd have to look hard for places like FogCreek, etc. Since your happiness is fragile, I'd say you MUST. Coming back to "fair", remember that shareholders & others take financial risk while you do not. Just find YOUR place –  Job Apr 27 '11 at 1:17
I highly recommend: amazon.com/Fire-Your-Boss-Stephen-Pollan/dp/0060583932 w.amazon.com/LIVE-RICH-Stephen-Pollan/dp/0887309356 amazon.com/Die-Broke-Radical-Four-Part-Financial/dp/0887309429 These books helped me quite a bit. I now do not give a fvck. –  Job Apr 27 '11 at 16:30
@Job: +1 for the books. Thanks, I've just ordered "Die Broke", looks like a good read from some reviews. –  Bobby Tables Apr 27 '11 at 23:17
Cool, beware that it is from 1998 and some financial vehicles and technology has changed. –  Job Apr 28 '11 at 1:38
"Best" question here got "Closed", Great job Jimmy & World –  εEridani Sep 4 at 15:26

8 Answers 8

up vote 8 down vote accepted

I think that you answered your own question without actually realizing it:


My personal trick is to keep learning, which keeps me motivated, no matter what project I'm working on. IMHO, learning is what keeps any engineer worth their salary interested and motivated. "But, my project only uses one specific language" you say?

My projects primarily use two languages with proprietary frameworks, so not a whole lot of room for learning new tech 'n stuff there. However, there's nothing stopping me from incorporating technologies such as node.js, or other leading edge technology packages into my own workflow (build scripts, maintenance routines, etc). If I get hyped up enough about something and prove the usefulness and benefits through my personal scripts, it is generally adopted into the team's workflow.

Now, not only do you get recognition for your achievements, but you're getting them by learning, something which motivates you and keeps you interested in your job.

Hope that makes sense.. It's what's kept me going strong with the same company for close to 9 years now (of course, I've had a number of different roles and titles throughout those years, but hopefully you get the gist) :)

share|improve this answer
+1 + accept: Thanks. I think my issue is that I went about this the wrong way in my previous job (the one I burned out with). I got too focused on the immediate everyday grind (on which the learning stagnated somewhat), and didn't look hard enough for ways out (eg. Brining new technologies to the table, learning in my spare time, heck - even looking for a new job!). It felt like I'm over programming and generally unhappy, instead of just stuck in a self-imposed vicious circle, which is really what it was mostly. –  Bobby Tables May 5 '11 at 23:10

Mortgage payments.

However, I've run into the same situation you have at more than one job; eventually it gets boring. The way to combat this is to always stay on the steep end of a learning curve. Find some new tool or technology to work on. If you can do that at work, great. If not, play with it at home. Also, always work for people smarter than you.

Also, there's a pretty broad continuum between "doing just enough to not get fired" and "rockstar". It's possible to be happy and productive in any job, as long as you realize it's just a job. It's what you do to put food on the table and keep a roof over your head. It's not your life.

That said, the job's always easier if it's interesting work; if you're not feeling challenged, look for something different, potentially in a different field (I've always gravitated towards defense, since those problems tend to be interesting, but this isn't the best time to go that route). There are enough good jobs out there that you shouldn't be wasting your time in a bad one.

share|improve this answer
+1 for Mortgage. –  Job Apr 27 '11 at 1:18

To me it's purely money. You wait until you have kids and the mortgage has to be paid and your spouse's car must have gas and there absolutely must be food in the house (besides a jar of pickles from 1998) and pretty soon everything is about money.

Now, it's not about having the latest gadget or the biggest HD LED flat screen. It's about having money to retire on, money to travel to see relatives, money for rainy days (layoffs and such), for replacing the transmission, the front axle after the nasty pothole, and such things.

When I got married, I didn't have to think about any of that, since my wife started doing all the worrying.

When you get older, you start getting all these insanely expensive medical bills, so you need money for that too.

Even if you've got all that, and you're single, and so on, there's plenty of things to do with money: donate to your religious institution, charity, help a friend/ family in need. As an alunmi you can donate money to your university so they can fund grant programs...

I enjoy my work, but I wouldn't do it if I wasn't getting paid. I would be volunteering at my local library to help kids learn how to read.

Go around your neigborhood and see where a couple thousand dollars would make a difference in someone's life. Then work with that in mind.

Saturday night I was coming home from a client's and at the 405 and Nordhoff there was a young veteran in uniform with a crew cut standing there with crutches with a leg missing below the knee. At 2:30 in the morning. Poor guy, I thought. Lost a limb in the service to his Country and now has to beg for food. Here's a good candidate for all that money your employer is willing to pay that you don't know what to do with.

share|improve this answer
I thought the point from the OP was that "all that money" isn't there. It's "just enough to get by, no matter how hard you work". –  Мסž Apr 26 '11 at 22:18
He writes: Then, once things are more routine and familiar, it's like my subconscious slowly starts to revolt against the "slavery" of... and the title is: "Where do you find motivation when working for someone else". So the question is clearly one of motivation. I give him real, beyond-money motivation. At work, he works for money; outside work, he works to strengthen his house so he will have enough to give to others in need. Is there better motivation? –  Christopher Mahan Apr 26 '11 at 22:27
This just sounds terrible. I didn't downvote but you describe a bleak, horrible existence. –  Kirk Broadhurst Apr 26 '11 at 22:51
Kirk, don't worry about me. I'm very happy. I live in Los Angeles, USA. I have a great wife who makes home-cooked meals. I have a smart 5 year old son. Enough money in the bank not to have to work 2 years if I have to, and too many people asking me for my coding services. I just know that I work to live, not live to work, no matter how interesting the work. We're all healthy and spend time with each other, with no money stress. There are billions of people who would like to have a life like mine. I'm grateful I'm living it. –  Christopher Mahan Apr 26 '11 at 23:00
I think Mahan has been pretty honest here. If you're not being satisfied in other ways by a job, then there'd damn well better be decent pay. –  Bernard Dy Apr 26 '11 at 23:39

The trick for me is to remember that a dull job is just one part of a longer journey. Don't think about work in terms of a single job, but in terms of a career filled with many jobs, and work hard for your career and the overall rewards. Even if your current employer doesn't reward your hard work, experience, and growing skills, a future employer probably will - at least when they hire you, if not in yearly bonuses and raises. So don't work hard solely for your current employer, unless you are pretty sure you want to stay in this job for a long time. Instead, work hard in your current job to impress your next employer, or the one after - and someday, maybe the company benefiting from your skills and experience will be your own.

I don't think 4 jobs in 10 years is unusual in this field. I've been working just 6 years, and am on my 5th job - but I think I'll be at this position for quite a while! Moving around is the best way to find a good fit, and often the fastest way to get a raise or promotion. I get the impression that devs tend to move around a fair amount until they find a good fit, and then they tend to stay put as long as the company's culture continues to work for them. I think the feelings you are describing are at the core of that behavior: You can't be a good coder without a good, stimulating, motivating work environment. This is why Microsoft encourages employees to move around within the company and work on many different products, and why Google has 20% time. They are both trying to solve that inherent restlessness and need for new challenges that is a common trait of good programmers.

share|improve this answer

Funny, that is exactly the thought I've been having in the last year.

It seems that it's just not worth it giving away the full capacity of your brain, your knowledge, your creativity, your involvement and emotional binding when everything you get back is just a salary (with which you can only cover your living expenses but never afford anything major like an apartment or a house) and hardly any word of gratitude.

I know there are companies that pay great and value their people but honestly I've never personally experienced that.

Unfortunately I don't have an answer to your question about a secret to maintaining great motivation. I've been thinking about it in the last year and the more I dwell on it the more I lose even the remains of my motivation. I suppose a generous remuneration package could help but the reality is that you practically have to sell your soul in order to get just 10% increase over the average.

Some time ago I found an idea for a personal project and that's what keeps me going. I can recommend the same to you. Watch out during the working hours not to get too tired in order to save energy for the evening ride. Practice emotional detachment from everything in the workplace (meetings, politics etc.), this is a real trick to keeping your mind fresh till the sunset.

share|improve this answer

Do you think many people are motivated when doing the same job for years? Some may seem motivated (for example when you are talking to an estate agent, if she shows you by her behavior that her job sucks, there are chances you will go find another estate agent), but it doesn't mean all those people are passionate about the work they're doing.

Saying that, it is normal to be more motivated when discovering new things (either a new codebase or a new technology or learning a new language or applying a new pattern you just discovered) then when you're doing routine work months after months. When it becomes bad is when you notice that your motivation is so low that you don't do anything at all, that the deadline approaches, and that you spend your day hoping the clock at the wall of your office will stop being so slow.

Suggestion 1: learn new things and implement them

Since discovering things is source of motivation, you can always try to not only do your job, but also learn constantly new things and bring learned things to the project. I'm currently working on a six months project. It's very boring. But yesterday, I decided to implement a new way to query the database, thus rewriting/refactoring a large part of the app. Result: my motivation raised, and there were more than two hundred lines of code removed from the project. The code is clear and readable, and I want to work with it.

Be careful: if one morning you tell your colleagues that this weekend, you've learned Ruby on Rails, that it's great, and that you are about to rewrite the project you're working on for the last ten months from ASP.NET to Ruby on Rails, it's clearly a bad sign.

Suggestion 2: switch to other projects

Another approach is to switch to other tasks and projects. Of course, you can't decide to just skip a few days of work for a side project. But your boss may decide it, so it may be a good idea to make this suggestion to your boss.

I generally work on two or three projects in parallel (switching from one to another daily or twice per day). Plus, I generally have one project using .NET, and another using PHP. When I get bored by the .NET project, I switch to PHP, rediscover how this language can suck, and switch back to my dear C#, fully motivated to work with high quality programming language.

If you don't have a chance to work on several projects at the same time, then you can still take small projects from time to time. When I'm really bored, I sometimes just start a new project I can handle in one or two days. It's very refreshing.

Suggestion 3: keep projects small and slice large projects

It's frightening to know that you'll work on the same project for one year and a half. And if something goes in a wrong way, it's even worse. Example: management sucks, you haven't implemented even the half of the features, and the deadline is in seven months.

Solution: separate the project into small parts. Not only you'll have something to show and to deliver to the end customer if something bad happens, but you can also make a pause between parts, work for a week on another project, or go to a vacation with your family.

share|improve this answer

I fall into that single, no house, no responsibilities other than remembering to feed myself and put on pants in the morning category. It is pretty simple. I like what I do. I would be out if I won the lottery too. Who wouldn't. That is not really an indicator of job satisfaction. I can honestly say that if I didn't like my job, I would find another way to make money. Outside of the typical balls and chains such as family, mortgage, etc, I don't see any reason why anyone can't find a job that they like doing.

share|improve this answer

So many people think that they are after some esoteric privilege, where they are the sage of their environment. That's an empty existence. For me, the trick is being able to rest my head on my pillow at night knowing that I did a good job. If you are able to be flexible enough to handle whatever is thrown at you, or at least able to say "I tried my best," then you are, like @Demian Brecht said, still learning, and the challenge should provide motivation for you. It's not asceticism, it's all-around pragmatic usefulness. Look at the big picture. It's not your employer's responsibility to provide you a little slice of heaven.

Here's what I've learned:

-Don't let someone overwork you. Know when to stop.

-Don't be a jackass about having to do work. That's why they pay you.

-Happiness is earned by sweat equity. Your position, skill, or IQ doesn't automatically make you deserving of anything.

-Chances are, it's nobody's fault, so shut your trap.

-Instead of analyzing how much work it's going to take, do more work.

-Be positive. It will work wonders.

share|improve this answer
