The types of developers I have worked with

The types of developers I have worked with

In this article, I try illustrating the types of developers I've worked with for the past six years or so.

I am certainly not on a high horse superior to others but in fact these are my observations throughout my working career and what I've managed to learn from them.

Similarly I will begin with my own weaknesses in this regard as I am not perfect and have a growth mindset to keep on learning and growing with experiences.

My Weaknesses that I can improve

  • I often wait too much to implement a solution researching and thinking; when the current problem is trivial
  • But most of the time I try implementing a solution without truly understanding the problem at hand; resulting in lost of time and effort (even though I better understand it by that time)
  • In my first years of  professional programming, I will regularly try implementing a solution that already exists, thereby reinventing the wheel instead of taking a few additional minutes to look for it online
  • Until a few years ago, I thought I knew better than many people - now I try to learn from anyone I meet or can learn in any form or shape

My Strengths

  • Ability to unlearn obsolete things
  • Quick to learn new things
  • Good communication skills especially written English (understand the cost and how to optimise communication within a team)
  • Good observations skills to look for patterns that may be useful

Many of us as professionals, have part of the archetypes illustrated below but we also have a dominant one.

The slacker

  • Is slow for work
  • Prefer spending time with trivial stuff like social media
  • Take more time to complete work than estimated even if the work is not difficult
  • Usually tries to avoid challenging tasks

However one aspect of real life to consider is a having a good environment and good tools.

Programming
Photo by Alex Kotliarskyi / Unsplash

At one of my jobs, I performed poorly and preferred slacking in front of the PC instead of doing real work. I preferred taking regular breaks and moving away from my desk, but management at the time would think I am not working, which I could not do for long stretch of time. I could therefore be perceived as a slacker.

The reality was that the environment and tools for work was not conducive for developer productivity having:

  • too strong lights from artificial lights and big windows just in front of me
  • cheap low quality screens with average font rendering and quality display, putting huge strains of my eyes

After working for just an hour or two, my eyes started aching. I tried adjusting to my best of my ability but still had headaches and eye aches for almost the whole day. After a months, I ceased enjoying my work.

Moreover, having worked in most companies that provide the low quality laptops (perhaps it's a case in third world countries such as Mauritius), perhaps the environment and tools prevent us from doing our best and instead get paid to slack.

The Perfectionist

At one point of my career, I was sucked into the perfectionist mindset which overwhelmed to the point of almost disgusting my current work. The perfectionist tends to:

  • take a lot of time researching and preparing a solution because they want it to be perfect
  • work hard but take too much time for coming up with excellent solutions
  • have such a character ; that is, they are like that everywhere else in life
  • see life in black or white either bad or perfection (therefore always trying to achieve 100% when 80% is good enough)
  • to be slow in everything they do
  • get overly stressed because they have to try and control everything

Alternative:

  • Look for a solution that is 80% good enough and take 20% of effort (Pareto Principle) - you can get these by not taking the first solution that comes in mind but by brainstorming and looking for patterns that can be replicated with the same effort
  • There is no such thing as perfection in life as constraints are everywhere
  • There is no failure when we grow and learn something

The Super star (with a huge Ego)

  • Brilliant at problem solving and is usually passionate about logical thinking
  • But bad in working in a team as they have a superiority and fixed mindset
  • They usually try using harder problems instead of easier ones because they have a point to prove (they are better than others)
  • Having a fixed mindset of thinking they are overly intelligent and brilliant - they think they are better than others in the team ; they are unfortunately therefore resistant to communication and certainly feedback which results in having the reverse effect (instead of improving, they regress)
When entering the office (dojo), please leave your Ego at the doorstep.

The Ambitious Programmer

  • Ideal programmer with excellent work ethics and ability to learn
  • Always open to learning new things and feedback on his or her work
  • Try to remove himself or herself from the experience instead of taking anything personally
  • Is proactive particularly when encountering bottlenecks to communicate with people who can solve the problem
  • However is often too workacoholic and can often lead to fatigue and burn out with a decrease in productivity

The Problem Solver

  • Theory and likes lingering on difficult solutions
  • Trapped or is not interested with trivial issues
  • Can be an excellent assets to any team and organisation
  • But if work becomes simple or too mundane, then disintererested and will be looking to move
  • At a certain point in our career, usually after 7 years of experience, we tend to have this mindset