As I worked for multiple companies and get known more and more developers, after a while just got the feeling at new colleagues that “hmm, I know his style”. Normally I strongly against categorising people, but I think there are typical software developer characters and they are appearing at almost every company.
The workaholic has no private life, no family, no hobbies. The workaholic is just living for the company. He is the one who is staying long in the evening and who is also working during weekends, even if it is not really needed. The workaholic always reminds you that he’s working a lot, like “yesterday I was in the office until 11”, “oh, I was working all weekend long”. On the other hand the workaholic is always tired and most of the cases he is not working in an effective way at all.
The antisocial is mostly a good programmer, but only in topics to be done individually. Team work is totally not for the antisocial. The antisocial is arriving to the office in a sneaky way and hopes no one will realise him. The antisocial is taking a brake only if no one else and he is just disappearing during lunch time. It is a challenge to work with the antisocial, because he can never tell you clearly what he is working on and what is his status, you are just getting the results randomly.
The demotivated - type 1
The first type of demotivated is quite often sitting in the kitchen and telling speaking loudly about how much he hates to work for this company and how shitty is his current project. Normally the first type of demotivated is good at programming and instead of his demotivation he is doing his job on the project, he is trying to do his best. But never forgets to tell to the colleagues: “I hate this project”.
The demotivated - type 2
The second type of demotivated has only one goal: survive the day without any productivity. And survive every day without any productivity. This strategy is working well: he is working so slow that after a while he is not getting any urgent task. After a while he will be moved new projects, but by following the same strategy there he can still avoid all kind of work successfully.
The bullshitter likes to participate at meetings and talk a lot there. The bullshitter has always ideas and that’s not a problem at all that they are totally not realisable. The bullshitter can talk about any technology and any project, even if he was never working with them. Pay attention: the bullshitter will never work on his own ideas and it has a simple reason: he is not able to work on them.
The life long junior
The life long junior is simple not learning and not getting better. Whatever he is learning he is forgetting it as fast as possible. The life long junior need a long clarification each and every task, even if he already did the same 5 times. And the life long junior is not changing, it is the case after 1 year, 5 year and 10 years.
The careerist has a really good relationship with his manager. And not only with his manager: with all manager around. Even with the ones which have nothing to do with him. To build such relationships the careerist is taking the half of each day in the smoking area. After that he is joining all management meetings. The careerist is having only one goal: getting a higher position as soon as possible and usually it is successful. It’s no goal for the careerist to collect any technical knowledge.
The geek is programming not only at work, but also at home in his free time. The geek has hobby projects at home. The geek knows and uses the newest version of every environment and hardware. Whatever tech support you need just ask the geek, but don’t be surprised if you are not understanding any word from his solution. Furthermore the geek is using only console applications and hates all GUI. The geek is always a good partner to talk about new technologies, but don’t try to talk with the geek about anything else.
The shy thinks that he’s worse than the others, even if it is not true. So the shy is overtaking all the shitty tasks and is doing them as good as possible. Sometimes no one knows what is the source of the frustration of the shy colleague. But most of the cases he could reach much more if he wouldn’t be shy.
The faithful is faithful to the company, he is working there at least for 10 years. Most of the cases it was his only working place in his life. The faithful knows everything about the company and the history of the company. The faithful has a lot of good stories about ex-colleagues known by no one else in the team. The faithful also knows everything about the used technologies at the companies and all about the projects. But the faithful knows nothing about that what happened outside of the company in the last decades, don’t ask him about any technology not used at the company.
The philosopher is reading at least one book before starting any task. Even if it is a Hello world he will find a book about the topic and he can not start the task without reading that book. The philosopher is analysing all possible solutions with it advantages and disadvantages before writing any line of code. Most of the cases the preparation for the task takes ten times more than the implementation.
The promising one
The promising one is just a fresh colleagues from the university. The promising one is not talking too much, but has interest for every topic at the company. He is doing all his task and continuously learning something new. The promising one needs to pay attention: if he is not managing himself well enough in a short time he is going to be someone payed as a junior and working as a senior. It is a win situation for the company and a loose situation for the promising one.
Of course not everyone belongs to any of these categories, some of the people are also a mixture of two or three of them. I still think that it is good if you can identify yourself and your colleagues to be able to handle them better in the future.