DEV Community

Cover image for The Incompetent Developer - Do you know one?
Chris Bertrand
Chris Bertrand

Posted on • Edited on • Originally published at blog.designpuddle.com

The Incompetent Developer - Do you know one?

One of the most interesting parts of software development, are the group dynamics that form to complete the task at hand.

This congregation of individuals comprise many different areas of expertise, personality and skill.

Neil Green has created this fantastic website describing these personality patterns that arise in software projects. The reasons these personalities exist, what effect they have on the projects and what can be done to rectify any problems that may arise. The one I want to discuss first is the Incompetent.

The Incompetent

The reason I wanted to focus on this first was that everyone feels that they know/ have known an Incompetent programmer.

Image result for incompetence

Neil defines this personality as:

Developer who lacks the intelligence or skill to do the job of writing software.

We know that we do not know what we do not know. That's a bit of a mouthful, but in essence, we ourselves do not know our own level of incompetence! This can be referred to as the Dunning Kruger effect and can commonly be found when asking how good you are at driving. Try it out on a friend you try not to get in a car with!

Here are some questions that will usually get asked by groups of people questioning these individuals.

How did this person get hired?

The interview process is not 100% foolproof, each organisation will allow people through that might not be up to your organisational standards.

Organisations and technology change over time, what may have been competent a few years ago may not be now. Developers need to constantly evolve, upskilling and training are integral to keeping on the competency curve!

Sometimes people are not good at teaching themselves new things.

These individuals are not stupid, they are highly educated people that may have been in the industry for a long time. They managed to navigate their way through the interview process and probably have all the qualifications that you would want and/or expect. However without guidance they cannot learn what they need to. When you no longer have a lecturer/mentor telling you what to learn and how to learn it, people can struggle.

Why is this person not fired?

There are a lot of legal implications firing someone! In certain cases, this can be fixed in other ways. The level of competence in any proficiency is not the only reason an individual is part of an organisation; Personality, Domain knowledge, Communication skills, being the boss's nephew or niece!

Image result for incompetence

Some people are simply not ready to fulfill their job description. I'm a big believer of the Peter Principle, where people keep getting promoted until they reach a level of incompetence.

This doesn't mean there is any malice in their work, they simply do not possess the skills to adequately complete the task at hand!

What should be done now?

In most cases these individuals are not usually even detected, and if they are, most of the time they are just forgotten about. There may be several reasons why this has happened; Is there the guidance in the organisation to keep skills relevant? Have there been external influences that may have caused levels to decrease? Do these reasons change your perspective on the matter?

Image result for incompetence

Don't wait until the last possible minute to discuss performance, it's best to be upfront about this as quickly as possible, otherwise it can get quite awkward. Is there a plan that can be put in place to improve?

All of us have innate talents, but few of us try and find out what they are.

The final straw, is trying to move this individual into another role that they are more suited to.

So... are you an Incompetent Developer?

Do you;

  •  Blame your lack of productivity on a lack of company provided training?
  • Argue against technology, tools, and techniques that are “too complicated
  • Greatly overestimate your work?
  • When asked for status on your progress, you are full of excuses and are often defensive?
  • Your features, once implemented are riddled with bugs?Related image

If you have answered Yes that sounds familiar to a couple of these, then maybe you are on track to becoming an Incompetent developer! But don't worry, once you're aware of this, you can look at turning this around!

Software development is a high pressure job

In most cases, you will be working to improve areas in which you are not overly strong. You won't do this if you do not know you have areas which you are not strong in.

You are most likely confident in saying that you are not good at certain sports, cooking or perhaps public speaking. If you ask yourself what you are not good at within your actual job parameters the answers are usually harder to comprehend. Learning your strengths and weaknesses will help you understand where to focus your energy, and hopefully you'll turn it around before anyone notices...

You can then safely return back to your colleagues and talk about how incompetent that other person is again!

Image result for incompetent


Thanks for reading, I hope this got you thinking! If you would like to share my opinion, please use the buttons below.

To read more details on this personality trope click through below.

https://neilonsoftware.com/books/personality-patterns-of-problematic-projects/developers/the-incompetent/

Top comments (30)

Collapse
 
moopet profile image
Ben Sinclair • Edited

These individuals are not stupid, they are highly educated people that may have been in the industry for a long time.

I'm not sure you can justify a blanket statement like this. I've known people in programming jobs where I wondered how they managed to cope with tasks such as buying their own groceries without catching fire.

Collapse
 
kurisutofu profile image
kurisutofu

I agree.

Case in point, I knew of a PHD specialized in A.I who had to finalize a website I almost finished before I was sent to another client.
I know A.I. and website building may require different mindsets but when I was called back on the project to check why suddenly everything was broken, I checked and talked to the guy.

It became apparent that he had:

  • Tested new features he wanted to implement (before he even started on the required ones) directly on the prod site
  • Renamed all the variables so it's easier to read. So he renamed them something like a, aa, aaa, aaa etc ... until he reached a limit of character or something where then he went to b, bb, bbb, bbbb etc ...
Collapse
 
chris_bertrand profile image
Chris Bertrand • Edited

Yeah, you're right. They might just be stupid! 😉

Collapse
 
killagorillafb profile image
Frankie Barrios

I'm still a student but I've experienced tons of interaction with "incompetent cs students". Great article!

Collapse
 
chris_bertrand profile image
Chris Bertrand

Thanks, incompetence can be fixed... In time.... Hopefully

Collapse
 
smuschel profile image
smuschel

Ha! In reply to my comment you said incompetence can't be fixed. You're an incompetent commenter! Now... how do I add a smiley to this thing? Oh well...

Thread Thread
 
chris_bertrand profile image
Chris Bertrand • Edited

Wait a second... You're right, I am incompetently incompetent! 🤯

Tbf incompetence whilst still a student is most likely naivety and lack of knowledge rather than full blown unfathomable incompetence.

Thread Thread
 
smuschel profile image
smuschel

All you young folks know how to Do smileys. Now I feel incompetent and old.

Thread Thread
 
chris_bertrand profile image
Chris Bertrand

Incompetent definitely, old potentially! 😏

Thread Thread
 
ciri3dg profile image
Da2@ciri3dg

Such an interesting question. We all are a certain level of incompetence.. we are all promoted until we reach an UNacceptable level...

The question leads to other more interesting discussion..

Thread Thread
 
chris_bertrand profile image
Chris Bertrand

It really does...

Thread Thread
 
ciri3dg profile image
Da2@ciri3dg

It's a very abstract query. Incompetence is a subjective judgement. We have to establish some kind of standard. Who are we to make judgement? What have we accomplished to become judges?

Let's look at ourselves first...

Thread Thread
 
ciri3dg profile image
Da2@ciri3dg

Trump inherited his wealth! Who is he to judge others?

Thread Thread
 
ciri3dg profile image
Da2@ciri3dg

If that's the basis of our forum, maybe we should start with a another perspective

Collapse
 
dimensi0n profile image
Erwan ROUSSEL

Yes I am

Collapse
 
simoroshka profile image
Anna Simoroshka

Same

Collapse
 
chris_bertrand profile image
Chris Bertrand

It's more common that you would think! 😂

Collapse
 
chris_bertrand profile image
Chris Bertrand

I might be too! 😇

Collapse
 
cosmicsausage profile image
Alexis López

We ourselves do not know our own level of incompetence!

This sounds like the Dunning-Kruger effect.

Collapse
 
chris_bertrand profile image
Chris Bertrand

That's exactly it, do you mind if I add that in?

Collapse
 
cosmicsausage profile image
Alexis López

Not at all, go ahead!

Collapse
 
smuschel profile image
smuschel • Edited

A problem I often see is that devs don't have enough time to learn new things or improve the skills they have. There's lots of reasons for that (reduced size of dev Team, too much todos, the wish to have a life outside of IT). Plus it's Hard to learn stuff without being able to use it regularly. But then again, some people are just plain incompetent...

Collapse
 
chris_bertrand profile image
Chris Bertrand

Haha, exactly. Incompetence is something that just can't be fixed.

Collapse
 
axelledrouge profile image
AxelleDRouge • Edited

I recently had to work on a project that was really badly written.
Just for info, I may have developed a fear of the 'infinited splits of death'
one string was repeatedly splited (with .split('!')[0].split('&')[1].split() ...) without any thoughts about objects, variables or all those things that make sense when coding (even just for our piece of mind)
And it was only a small part of the problems of this work. From full React librairies copy pasted from the debugger tool of chrome in the code (a full file of 600kb, where only a tiny part is really relevant) to multiples lines of console.log containing http request in large quantities in production and the complete opposite of any DRY logic...
It was just a nightmare to work with!
So I don't really fully blame that person for her incompetence, more the recruiters and the project management for assigning her on that project, important with security aspects.
But she should at least have been more curious, more logical, or more inclined to search for answers when she didn't know what to do. She didn't do that, and noone was present to guide her. By the time I arrived, she use a vertical screen to code in js (I mean, seriously?) And now I have to work with the results, and spend more hours of work on correcting everything!
At least it is a good teaching method for me, I understand that much more the necessities of a clean code, with precise names for variables and functions, with short functions easy to associate and debug

Collapse
 
jaysonesmith profile image
Jayson Smith

Quick heads up, I think you might have meant comprise instead of compromise in the beginning of your piece?

Collapse
 
chris_bertrand profile image
Chris Bertrand

I sure did, thanks for spotting and highlighting my incompetence. I've fixed it now

Collapse
 
vicoerv profile image
Vico

can you give solutions about this problem?

Collapse
 
chris_bertrand profile image
Chris Bertrand

I can try, what's this problem?

The first step to recovery is Acceptance! 😁

Some comments may only be visible to logged-in visitors. Sign in to view all comments.