In the past decade I have worked with a dozens of developers, people with different skills, different Type A, Type B characteristics. I wonder what brings out the best developer in us.
Is it money?
Is it some title - Lead software architect, Best code monkey, Director of development?
Is it the challenge of the work?
Is it the recognition from fellow workers and management of your good work on a internal memo or meeting?
What motivates the inner developer/ software creator ( not all of us are developers) in us to create software that goes beyond our own expectations and gives that aha moment!
I always thought that developers are motivated by a little bit of some or all of the factors above.
I guess i am proven wrong time and again.
Is it money?
Money obviosly is a big part but that does not explain all the free and open source world class software systems out there.
Whats common about all the open source developers, most of them work somewhere or are students and develop open source software for the fun of it. If every one would do it just for money we would not have all the Free and open source software around.
Is it the title ?
I once met a software architect who was a control freak. Everythings gets done his way. His team members would never speak in a meeting. They had gotten bored of being over ruled time and again. Repeatedly they would come to meeting, shake thier heads vigorously to what the architect would have to say and then go and do what they want.
There is no fun in development when there is no debating, arguing and fun to do stuff. There is no correct way.
So obviosly title means nothing
Is it the challenge of work?
Not everyone likes challenges. But software develoment is not always about challenges. In most of the software projects there are many cycles . In some we are in the investigative mode, trying to figure out the unknown and hence the challenges. I have seen some developers who are good at solving problems. Some like to do the routine take the data from some database, apply some business rules and show it in the UI.
So challenge is not the only aspect of it.
Is it the recognition / motivation factor from fellow workers and management of your good work on a internal memo or meeting - Honest feedback?
Well this to me seems to one of the most important aspect of development and often very few companies do anything about this.
Positive reenforcement works wonders even when we grow up. If someone listens to me and gives me honest feedback, ( good or bad) i like it:)
In the past I have worked with probably a few dozens of people but those that come to my mind first are those that have taken that extra step to tell me i am good or that i suck, directly to me or through some other means.
In a world where i have to spent a big chunk of my time sitting in front of a dumb terminal, a chat with a developer, a feedback from my manager ( Not email, no phone). Here are examples of folks with no names that made a huge difference to my software development
- My first team lead when i worked in India, who took the extra effort to teach me the skills of a good developer.She would never get upset with all my questions.
- My client in florida who forced me to speak at a conference on design patterns.
- My team member ( when i was a team lead Title Title ) who told me that he did not like the way i had spoken to him the previous day about his work in front of everyone
- The software architect mentioned above who never stopped arguing with me on anything,just because he was the client and he could.
- My manager who told me to speak with a voice that my own ears can hear
- My client who left a badly worded letter on my desk telling me how my skills was, when i got caught in a polital battle between two architects/ senior political developers
- To the clients who told me that i could come and work anytime in thier firm
- To the interviewer who told me to write code for a doubly linked list on a white board to prove a point.
and so on
Notice no where here there is money or title involved. Its mostly the recognition / motivation factor and challenge
Have fun doing what to do. If you are not having fun developing software, do something else !! Be open to ideas good or bad
and walk what you talk..
So long..


