Programmers motivation, a psychological view
Applying psychology in observing programmers -- the list below is purely based on my observation -- to the programmers in the workplaces I have been to.
I purposely didn't included programmers with direct and small motivations, because I want this list to appear as generalization (i.e., those programmers who are motivated by the salary, or company benefits)
1. Task oriented – these are the people who are motivated by the work they do. These are the programmers who are motivated by the intellectual challenges of software development. They are the best programmers, and usually the one who is promoted as team leader. Although, task oriented people usually declines promotion offered to them -- just to stay being a programmer.
2. Self oriented – these are the people who are motivated by personal success and recognition. They are the programmers who are interested in programming to achieve their own goals, whether personal or career.
3. Interaction oriented – these are the people who are motivated by the presence and actions of co-workers. They are the programmers who work with specific instructions. They are good team members, but works only with the presence of the team, practically not interested in doing anything without co-workers or specific instructions.
4. Skills oriented – these are the people who are motivated by the skills they gain. They are the programmers who value challenges and learning more than anything else. They are the programmers who can finish his task fast or able to make his task wait for time. He/she is often found in a discussion with co-workers regarding issues that involves his/her skills.
5. Family oriented – these are the people who are motivated by their family. They are the programmers who often change their mood in the workplace. They are interested in doing their work, with open communication with his/her family. They are the hardest to work with, as they changes mood depending on what's happening in his/her family.
6. Change oriented – these are the rarely found people who are motivated by changes in their life. They are the programmers who might not be a programmer before, or might have some bad track record in their career history, in which they are coping with those changes. They are the best and/or the worst people to work in a team, as they usually look to what went before and constantly comparing it to the current situation. Depending on the result of their comparison, their motivation will arise.
7. Socially oriented – these are the people who are usually found in groups, and motivated by their group, regardless of the task on hand. They are the programmers who usually came from the same school, brotherhood, or any social groups. Sometimes, they are the programmers who can make bond with his/her co-worker, but unable to break the bonding. Socially oriented people are also interaction oriented people, but they motivation comes from the presence of their social group rather than their co-worker.
8. Mastery oriented – these are the people who are motivated by mastery goals. They are rare, and the hardest to deal with. They are the programmers who already mastered almost everything in the system, and motivated only by the things they haven't mastered yet. Simple tasks bore them. They are self oriented too. Sometimes they lack the ability to stay up to date, and labeled as `old dogs'.
Document Version: Draft