Wednesday, 18 February 2015

The 12 types of programmers

So a while ago I was thinking about what kind of personalities do computer programmers have.While I am not a psychologist these are some of the ideas I came up with.Honestly I do not consider myself a good programmer,but I very much like to occasionally do a project and take part in the culture.Also when deciding which one are you,remember this is for fun and you can have multiple choices,and put your responses in the comments.I consider my self a "code generating zombie sysadmin wannabe". :P

The genius

Pretty self explanatory.This person is the best or one of the best developers in your surrounding.
Type a:
You are going to hope he is the type a.I would simply say that type a is the type that does not expect others to be on par with his performance.He is usually a very calm and understanding person.His code and output are both great.
Type b:
Type b is the type that does not recognize that he just has a lot more talent than the others and pretty much expects everyone else to be a genius as well.Because of that he can and will make the office atmosphere poisonous on occasions.If you are his superior manager and he does not like you he WILL try to destroy your authority.

His good points:
He is the best programmer in the house.Generally doesn't have output problems.

His bad points:
He can get arrogant.Don't get on his bad side.

His best friends:Potentially everyone.
His worst enemies:Potentially everyone.

The code monkey

 This is the programmer that has no problems with deadlines.However the quality of his code is subpar.He also has problems with developing program logic which is why it is best to have him in a team with other developers.

His good points:
He generally reaches deadlines.He has a high code output.

His bad points:
He is unable to create complex program logic.

His best friends:
The would be sysadmin and the code generator
His worst enemies:
The genius,the self taught

The academic

This is the person who has a diploma and is not afraid to show it.He has this aura of a university professor.A very calm person indeed.He knows everything there is to know about programming theory and as such is a valued member to an otherwise mixed team.And he is a fan of bleeding edge science.The fact that he is a thinker by nature means he will always be a source of fresh project ideas and innovative solutions.However some people will not like his attitude.And also if he thinks the project is just a rehash of something that was already created many times he will lose all interest for the project.

His good points:Knows theory,source of interesting ideas,a thinker by nature

His bad points:may be disliked by some people,ADHD,uninterested for boring projects

His best friends:the genius,the uber geek
His worst enemies:the go home guy,the self taught

The would be sysadmin

This guy actually prefers an administration job.It does not have to be system can be any type of computer administration.However somehow he ended up as a developer.And usually this shows on his performance.And he never forgets to complain about that.However as such he probably know a lot about scripting.And although he is not a full fledged admin he probably does know how to solve some office problems when the real admin is not there.

His good points:good at scripting,his admin knowledge might be handy

His bad points:complains a lot,subpar code

His best friends:anyone who listens to his complaints
His worst enemies:anyone who does not

The uber geek

This guy is a geek like everyone else in the office.However this guy knows he is one and he is always proud to show everyone else how much of a geek he is.He is the geek among geeks.He is always informed about the latest changes in the tech industry. And he knows everything there is to know about ggeek culture.However some people will dislike his attitude. And he will often dislike their non-geek attitude.

His good points:he is very informed about the industry,he can lift up the spirits of other geeks

His bad points:he does not mix well with non-geeks which can be a source of conflict

His best friends:the academic
His worst enemy:the go home guy,the healthy guy

The code generator

This is the person that always relies on generated code.In fact some of his projects are up to 99% generated code/code from libraries. He is constantly bragging about his new IDE with a never ending list of features.As a result of his coding practices he rarely misses a deadline,however his code quality varies and usually is not very optimised.And the small bits of code he must code by himself almost always result in headaches.

His good points:reaches deadlines,knows the best tools

His bad points:unoptimised code,those small bits of code he does himself.

His best friends:The code monkey
His worst enemy:the vi user

The vi user

This guy is the polar oppoiste of the code generator.Vi was used just as an example.However this guy loves the most minimalistic text editors.This guy simply loves to hand code every little piece of his code.In extreme cases he even avoids libraries from other people.However the quality of his code is often top notch.Yet somehow his attitude is sometimes arrogant.Often due to his programming practices he has problems with deadlines.

His good sides:He carefully controls every last bit of his code,which results in excellent programs,good at low level programming

His bad sides:He is developing at snail speed,has attitude problems.

His best friend:The genius
His worst enemy:The code generator

The zombie

He is the type of programmer that always programs during the night.And it really shows on him.He shows both signs of physical and mental exhaustion.However although he always complains how the deadlines are short he never has problems with reaching his deadline.Most of the time his code output is pretty high.Even though occasionally it has bugs.You wonder how does he have the deducation to simply not fall unconscious.

His good points:
Dedication,doesn't miss deadlines.

His bad points:
Bad concentration amplified by sleepiness causes bugs.

His best friends:Whoever brings the coffeine
His worst enemy: 7:00-15:00

The vampire

This being of the night loves programming during the night.His body might show some circles around the eyes and some weird tooth deformations however unlike the zombie it is almost like he does not even need sleep.He works trough the night,he reaches deadlines and its perfect.You honestly wonder how does he keep doing that?Does virgin blood now contain high amounts of coffeine?

His good sides:Reliable output,lively during the night

His bad sides:Creepy

His best friends:The night,virgin blo...oops I mean coffeine
His worst enemies:The sun,your jealousy

The I wanna go home guy

We all are sometimes stressed out and tired on our jobs and that is ok.However this guy takes this to a completely different level.If there is a work from home program at your office this person will almost certainly apply for it.And the geek culture if there is any in the office is just making him pissed off.He has no passion at all for his job.Because of those reasons his job performace suffers.However when the rest of the office starts geeking off he keeps a level head which is an advantage.

His good sides:keeps a level head

His bad sides:bad job performance

His best friends:The wannabe sysadmin
His worst enemy:The uber geek

The healthy one

Let's face it.The lifestyle of an average programmer is not healthy.However this guy is an exception.He is the type that is on a constant diet,goes regularly to a gim and does everything in a healthy way.Most people would not mind that if he did not constantly remind you of how unhealthy your lifestyle is.I mean most people who have an unhealthy lifestyle already know that,but this guy makes it his job to constantly remind everyone about that.

His good sides:His advice is actually good and you know it

His bad sides:He can make you feel bad about yourself

His best friends:The go home guy
His worst enemies:The uber geek,The zombie

The self taught
This is the guy who did not go to college.Instead all of his education was either done trough certifications or trough self learning.His advantage is that all of his knowledge was acquired trough practical exercises.And in some specialised areas he has very deep almost complete knowledge.However as soon as you step out of those areas  he has literal knowledge holes.I.e.You need to do a webapp with XML but all he knows is JSON and only JSON and he does not know even the asics of XML.Or you have to do a android application in Java,but all he knows is to do Java desktop applications and you are not even using his favourite API's.Or you have to develop a website with HTML5 and CSS3,however he still insists on using outdated technologies like Flash.Or he knows everything about programming,but he does not know all the basic parts of a PC.
His good sides:Deep practical knowledge

His disadvantages:Knowledge holes

His best friends:The genius
His worst enemy:The academic

No comments: