tags:

views:

1892

answers:

46

As software developers we all know that motivation matters. Without it we could just stare into the monitor all day long and do nothing. There are some tricks to get yourself motivated like talking to people or doing the fun part of the project, but they do not always work.

In the mean time I started to notice that I am most productive when I could see the person who is appreciating my work. The user, who is using the software and enjoying it. Because if there's none, what's the point of writing this code?

So I was wondering, what makes you be at your top, is it the users, your fellow coders or maybe the money you get?

PS. I know there's quite a few questions about motivation but they all about overcoming current situation. What I want to hear is what makes you come to the office every day, what you enjoy the most in your job, what makes you want to write this code and do it as fast as you possible could.

+4  A: 

For me it's the challenge of solving difficult problems with lots of risk.

Robert S.
+55  A: 

Honestly, and this may sound corny, but the thrill of piecing together a relatively complex solution and watching it run. There's nothing quite like seeing an application doing what it's intended to do and knowing I wrote it (or contributed).

bedwyr
+1 for that! exactly what I thought about
Shoban
I totally agree too
rpr
Yeah, just like LEGO back in the old days : - )
littlegreen
+12  A: 

My curiosity to learn new things, as programming is constantly a learning experience. Getting paid for it is just a plus.

John T
+9  A: 

Money, thank you for the question :)

stepancheg
Money is not a motivating factor. From http://en.wikipedia.org/wiki/Hygiene_factors: "Hygiene factors are job factors that can cause dissatisfaction if missing but do not necessarily motivate employees if increased."
hlovdal
Blech, terrible reason. You should have been a doctor, lawyer, politician, president of a company. Garbage men make more money in some areas than developers.
rball
+18  A: 

The overwhelming desire not to get fired.

geofftnz
That's not intrinsic motivation. That's extrinsic motivation. D:
MrValdez
Actually my primary motivation is what bedwyr said, but at the animal level, so is this.
geofftnz
Wow, that sucks. Feel bad for you.
rball
Haha... well actually I've got an awesome new job, so this answer no longer applies.
geofftnz
+4  A: 

The thrill of seeing a completed product in the wild knowing I helped make that product - especially if its got any Geek creed and affords me braggin' rights.

CmdrTallen
+15  A: 

StackOverflow reputation points.

Seriously, StackOverflow has increased my motivation. I'm so happy that I can answer questions that other people have asked.

At work, I enjoy helping my coworkers on programming problems. This site is a natural extension of that joy.

MrValdez
+1 up until "Seriously, ..." : - )
littlegreen
+4  A: 

As a student, I don't have an office to go to, nor do I have to come in every single day. However I still believe that what I do applies.

The way I motivate myself is the challenge, I find that I am easily bored and thus need something that will captivate me and hold me until the last minute. I have started many projects and never finished them mainly because once I am over the initial investment, excitement of learning something new I have lost interest.

That being said, I have also finished many projects because of the sheer interest and pleasure it gives me to have finished something, not only that but generally it means the projects go out and get used by people who are then able to appreciate the work I put in. To appreciate the minor things I have cared to make sure work just right.

But most of all, it is for me. I know that I have created something and that thereby I know something new, and know how to tackle yet another problem. As a computer geek I continuously want to know, want to figure things out and best of all do them.

Really, I don't need to motivate myself. I just NEVER want to stop learning!

X-Istence
+1 for "Really, I don't need to motivate myself. I just NEVER want to stop learning", as a retired programmer I'm on the other side of the employment and I still agree with this!
mas
+1 again for the NEVER stop learning. After 4 years of graduation I think thats exactly what keeps motivating me. I hope you keep your spirit after you work :)
medopal
+3  A: 

I work at a smallish software company - less than 30 people and a development team of 6.

1) The entreprenurial spirit of what we are building. Knowing that every additional feature we add is going to have immediate impact to the bottom line (or at least we are hoping it will). At a company this size you feel as if what you are doing is making a difference when you see the customer leads coming in and how what you are doing directly relates to the bottom line.

2) The pride that comes along with doing something "cool" and other people are the team appreciating your work. And in return learning from the team members doing the same things. We have a great team and are always pushing each other to get better.

Rick Hochstetler
+3  A: 

Another motivation for me is my programming blog. Whenever I complete a task, I blog about it. Over time, the number of posts on my blog has increased and I get many comments from other people.

Its motivating that what my programming skills can help other people. Some are even motivated to program because of my posts. Which, in turn, motivates me to continue programming. Circular reasoning.

MrValdez
P.s. unfortunately my blog disappeared when our hosting provider forgot to renew the domain. /sigh
MrValdez
watch out for intellectual property problems when you blog about stuff you did at work
Philippe Leybaert
+8  A: 

I like the appreciation.

Jack BeNimble
+7  A: 

There are a couple of big motivators for me:

1) Solving a puzzle, problem or riddle. Figuring out a solution from scratch has a certain amount of "coolness" for me, even if no one else wants to know the solution.

2) Getting a "Thank you" from someone for what I do. This can be end users, fellow developers, testers, business analysts, project managers, team leads or anyone that appreciates my contributions which may be finding a bug, fixing a bug, implementing a feature or taking something that was in someone's head and bringing it to life. "It's ALIVE!!!" being one of the more dramatic responses I've heard in my life.

JB King
I sometimes show my project to fellow programmers (especially those with more experience than me (especially when I'm learning a new language!)) and ask for suggestions and such. I learn what to do and what not to do based off others' experiences. And, I get a "looks good" or "nice job" which is <3!
strager
you get "thank you's"!?!? really though, +1 for the "Solving a puzzle". That's why I do it. It's the "how can I make this work?" and "how can I make something from nothing?" that keeps me curious
DaveDev
+1  A: 

I thirst for knowledge and love solving puzzles. In short, I yearn to be a "Jack of all syntax, Master of all concepts." =)

gnovice
+5  A: 

I buy myself a new pair of cuff links every time I get a program I have written into production. My motivation is that I'm sick of wearing t-shirts.

sipwiz
Wow! Cuff links are your motivation? I honestly can't stand wearing anything but shorts/jeans and a t-shirt (though I'm forced to wear dressier clothes for my job).
Cybis
can they legally force you to wear a specific style? I'm just wondering...
DaveDev
+11  A: 

Finding elegant and robust solutions to challenging problems.

JaredPar
+1 Nice definition
mas
+3  A: 

In the words of Emperor Palpintine... "Power! Unlimited Power!" I like telling bits what to do :-)

On a more serious note just the intellectual challenge of it all. So far this week I have written an google phone app, a simple REST based server for the phone to connect to, and started on an iPhone port of the app (it is spring break... either do that or mark midterm exams :-) all things I have never done before.

That and the free beer (wanders off to find a beer... remembers to check on students making an R2-D2 out of Lego NXTs... probably the beer will have to wait... curses night school course that runs over spreing break! :-)

TofuBeer
Always wanted to create a robot, never had time and knowledge to do so
vava
I always wanted to create a web app (ok, not really) and a cell phone app (ok, again not really) so I sat down and did it... go grab yourself a couple of books and a robot and start coding. No time like the present :-)
TofuBeer
It would be easy to do 10 years ago but now I have to spend time with my family once in a while :)
vava
That is why I have students make my robots for me :-) Then my family gets to play with them :-> Best robot for a young child - one that will speed up and run things over when it sees them... like lego minifigures all in a line :-)
TofuBeer
That would definitely amuse me as well :)
vava
yup... and there is the setup time between runs, which apparently amuses children from at least the ages of 5 to 10 (at least in the tests I have run :-)
TofuBeer
When people ask me what I do for a living, I sometimes say "I bend computers to my will. They will obey me!"I don't get many dates that way.
John Fricker
Helps if you are not wearing leather chaps at the time you say that...
TofuBeer
vava, the lego's NXT are easy enough to learn (took me 10 minutes) and the family had a fun time too. I consider it a robot :)
rball
+3  A: 

I drift between being motivated by getting a job finished on or before a deadline, and the satisfaction of finally figuring out a problem I have been troubleshooting for hours, but I think the biggest motivation for me is the feeling of momentum when you peak a learning curve on a new api, language, or idea, and really start feeling like you speak the language you are typing.

I guess the point at which I close the api reference on the other monitor and just start typing.

Jesse
+2  A: 

car payments and rent

shogun
+2  A: 

The creation of something. I like the feeling of building something by myself and that it can be useful for someone else.

Cesar
+9  A: 

Professionalism motivates me. Not just doing something because I get paid to do it. Rather, doing something well because it's your craft. By far I am not the greatest programmer in the world. Often times I'm astonished at how little I know and how much there is to learn. But, I take pride in being able to take someone's problem and build their solution "out of thin air". We're creators. I'm motivated by looking at each creation and how they get better and better as I become a better and better programmer.

Aaron Daniels
A: 

Money, first. Software is by far my most marketable and profitable skillset.

Then art. The art of problem solving, the art of software, the beauty of code.

John Fricker
+1  A: 

Knowing that in ten years, the code I'm writing right now will still be useful.

If you are a stone mason, or carpenter .. the fruits of your labor will likely out live you. A building you worked on will likely still be standing when you are long gone.

That kind of satisfaction is very hard to achieve in programming, so when I'm actually paid to write general purpose libraries that aren't tied to some specific fad, I become more enthused.

My second favorite sweet spot is having someone much more experienced than I am look at my code and say 'I like how you did this ...' I've worked on a lot of open source software, feedback from the users is great and I love knowing that someone else enjoys my work. Yet, feedback from peers all around the world (especially if positive) is a really big thrill.

Finally (and this is rare), finishing up a 12 hour coding frenzy and having it 'just compile and run' the first time you run 'make'. No typos, no leaks, you just wrote 5k lines of code from scratch, a Makefile, etc and everything 'just works' the first time. I can count the YEARS since that last happened to me .. but when it does, \o/ :)

Tim Post
The COBOL coders in the 70s never imagined their code would still run banking systems in the 2000s. Something to keep in mind.
John Fricker
@John, true, but these days a lot of code is written with a very specific life cycle, for instance code that renders the pages on your company web site, or code that talks to some API which is soon to be depreciated.
Tim Post
And there's always a coworker who needs to rewrite everything he possibly can. So much of my code was lost this way :)
vava
+1  A: 

Watching what I do affect how businesses and people work.

MonkeyBrother
A: 

I really agree with your point about being able to show your work to someone and be appreciated for it.

This is one reason I've been doing a lot of front-end development lately. One thing I found with my back-end jobs (not implying that this is always the case) was that while my work was complex and varied, it wasn't visible to the business or the customers.

Whereas with front-end or presentation-layer development, I get feedback and feel involved with the product and the customers. It's like I'm part of the business, not just someone sitting in a cubicle typing away for 40 hours a week.

External approval isn't everything though. It's great when after all the mental mountain climbing you get to the top of "Mount Everest" and feel a sense of power over your work. And it's transformational - the more problems you solve, the better you get at solving problems.

jonathanconway
+4  A: 

A "big" motivation is that what I'm doing will save someone like me pain - someone like me, but not actually me.

There's also a "small" one that is always effective. It's a bit embarrassing to admit, but it's important for me not to lose sight of it:

  • I like it that when I do this, that happens.

It's a very child-like, basic joy. I think of it as the "fischer-technic activity center" motivation. But with enough little steps like that, you can reach any destination. It's cool to make stuff that works like that, and it can get very complex. But that's the motivation.

13ren
A: 
  1. Money (we need that for living)
  2. Challenge
  3. Knowledge
  4. I love brainstorming
  5. Proud
  6. Regards and thanks from our client :D

other..

free internet connection (in my country it isn't cheap) LOL

Dels
how much it (internet connection) cost?
Dhana
I can say for Australians: for 50 USD I got 60 GB of data (30 daytime and 30 night time) with ADSL2+ speed. And there's no way I could get unlimited access anywhere. And upload data is counting towards limit also. Like a Stone Age here.
vava
+2  A: 

After a series of jobs developing cool applications that never shipped or were canceled before completion, my motivation was to work on a project that would be used by (as be useful to) a lot of people. I also want to make a direct contribution to the success of my company.

Mark Goddard
Maybe it's time to take those ideas, roll them into your own and start doing it yourself.
rball
A: 

An appreciation from user!!!

Dhana
+3  A: 
  1. Having a customer say "Wow".
  2. Providing good jobs to fellow developers (maybe we'll hire a sales person too someday).
  3. Not having to work for a company run by accountants or lawyers or outside investors or Wall Street or Washington DC.
  4. Getting paid to do something I would do for free if I had to.
  5. The idea of creating software that is eventually used by hundreds of millions or even billions of people (yes, this is lofty, but it cannot hurt to aim high and we have the advantage that very large companies build our software into their software so who knows).
Joe Erickson
You are my idol. This is what I'm trying to do, but we'll see if it happens :)
rball
+10  A: 

Mostly the sex

Are there any openings where you work?
John MacIntyre
what language do you code in? brainfuck?
Vasil
which part of your body is involved?
Andrei Rinea
that's the best answer to this, and any other question somebody could ask! :-)
DaveDev
A: 

I have nothing better to do.

mannicken
A: 

As a writer, you can almost never make or create some concrete thing directly. However, this does not apply to a programmer. A programmer, when (s)he is writing, is making or creating a very concrete thing: software directly. Just this fact only gets me motivated to write program everyday.

ccyu
+2  A: 

To me, software is like art ... it can be a beautiful thing that I've made out of my mind ... it gives me an enormous sense of satisfaction and it's just an amazing thing to be able to do for a living.

John MacIntyre
A: 
  1. Dream
  2. Think
  3. Build
  4. Admire your power

My motivation is the creativity.

Nicolas Dorier
A: 

what motivates me is other great programmers, and that if I put in the effort I will become just as great as them some day.

I am also motivated by seeing people appreciate my software (this has only happened once for me so far, and it was great to be getting feedback directly from them).

Nippysaurus
+1  A: 

I like to see DB grows, I like to see log get bigger...I like to see my code come to life.

Andrea Di Persio
A: 

Don't know about motivation but when I see how crappy software is and how much better I do it in my private project it definitely helps to increase self-estimation and confidence.

User
A: 

Being appreciated and respected as an expert. I want to be able to help others with tricky questions and be admired for good solutions, clean code etc.

A: 

I like seeing people use and enjoy the stuff I write. After I release an application and real people - people I don't even know! - start using it and providing feedback, I get a huge boost in motivation.

Web development probably attracts a lot of people like me.

Raphomet
A: 
  • Money
  • Fame
  • Doing something exceptional
  • Doing something better than others, something new

What I want to hear is what makes you come to the office every day

That's easy, "my boss". Otherwise I hate going to office 75% of the time.

dr. evil
A: 

Programming is art. I cannot draw or play a musical instrument, but I can let my creative juices run free on the computer and make something WAY cooler than a painting or song. (IMHO)

muusbolla
A: 

Paying the bills.

Rakesh Malik
A: 

Curiosity.

(That is all I have to say Stackoverflow char counter.)

z5h
A: 

I refuse to be beaten by a defect.

I love the challenge involved in figuring out how to implement something which, more often than not, has no real specification (and, if it does, has an innacurate specification).

But mostly, I love looking at a piece of software, seeing something amazing, and wondering, "How in the blazes did they do that?" and then running off to figure it out on my own.

I live for the thrill I get when I finally figure out how to do something, or fix something, or all the unit tests pass after a long, long, long battle with things we thought we'd never do. It's exhilerating.

All of these things motivate me. I suppose I should be motivated by a phat paycheck. But I do it because I'm a geek, and I love what I do.

Mike Hofer
A: 

Ha, my first StackOverflow post, just to answer this question.

I love being able to design something, put it together, and then knowing that it works the way it should.

Watching customers use the software is a nice feeling, but I get a kick out of thinking creatively to build code objects that satisfy the requirements as simply as possible.

+1  A: 

Kicking ass and taking names.

While programming allows me to make tools I need (for music-making, life) and pays the bills (for eating), getting a difficult/large problem and using programming-fu to resolve it quickly/elegantly/smartly is what makes me go to my office laptop every day of the week.

Yar