Whilst the most programmers of the world are concerned about the best language or technology I would like to build a simple classification of programmers based on their life and professional needs. This small 'study' is based on personal experience and the Dr Maslow's famous Hierarchy of Needs. After observation of many people working on different positions, technologies, offices and life constraints it was born the following classification.
Challengers want to test the limits.
These programmers are driven by a need for adventures, challenges and new technologies. With high spirit and desire for experiments they often break the rules. They are the main power which drives the technology revolution. They are the people who respond positively on new trends and search for discoveries. They can change their work place often until they find the place which gives them freedom for their creative mind. They would prefer freedom and creativity instead of money.
Cravers focus on style and control.
Ambitions, proactive people, who are driven by their sense for perfection. They have a strong goal orientation, possess self-confidence. As a result, they have high expectations from others. Being smart and logic they seek for optimal solution and they won't stop until they get the best result. Often they can work endless hours to get their desired outcome. For cravers status is more important than money. Their motivation is their position and responsibility in the company hierarchy. For technologies and language they would use the best on the market.
Win and achievments are what they seek
The winners are very organized persons and know the game rules - the official and the unofficial ones. They like and use the Pareto principle (80/20 rule) - they invest roughly 20% of their efforts to get 80% results. They prefer the highest possible position and full control of the project. Don't try to change them, they'll change themselves if they want. They will often seek out the best company, because that is what they feel they deserve. Prefer to work with prestigious technologies and languages.
Reformers search for inner enlightenment.
They are always open for a change and seek to improve the situation. Revolutionist wants to find a solution rather than searching for the guilty one. They are the most social group of all programmers and enjoy discussions and meetings. They are tolerant to other technologies and ideas and they are big fans of win-win situations. Unlike the others they will not change a technology or position unless they find a solid reason in doing it. Once they have a reason they are motivated to move. They use language based on their current status and mood.
The average programmers like to play another brick in the wall.
The average programmer doesn't like math and algorithms. He becomes a programmer because it's trendy or just for the big salary. The job is more like necessity rather than source of satisfaction. The average programmer prefers someone else to take the responsibility and to have the final word. He associates better with 'we' and not with 'me'. He usually thinks for himself that he is smarter than the average programmer. About the technologies he doesn't have any special preferences. He likes to use what is provided by the company or recommended by his manager. Their core need in job is for company and professional security.
The survivour lives for the weekend
For survivor every working day is a punishment. He has to survive the working week and to make his plans for the great weekend. They like to play roles of the office victim who are responsible for the most difficult and problematic parts of the projects. Most of the time they are losers and wasters without a real goal in their professional life, disorganized people. No plans for career or desire for improvement of their skill set. Their promotion in work is more like on a winning lottery ticket than anything they do themselves. Every technology and language is a punishment for them. They main need is to survive on more day in the office
The retired lives in the past.
This group consists mainly from older programmers with constant and
unchanging knowledge built up over time. For them the past and the older technologies were much better, faster and reliable. They have great respect for old fashion practices and enjoy acting in safe and no stress roles. They pick up only what is familiar to them and rarely do changes in technological point of view. Their basic need is to complete the project with less effort and stress.