Why are there so many mediocre programmers, but not enough good?

In My experience there is something else going on.The vast majority of my fellow programmers are fine craftsmen, who are excellently able to convert an idea or design into reliable working code. Where I see it almost always wrong, is that these professionals are sent to a mission impossible. Often things need to be realized far too quickly or there is no clarity as to what needs to be done. How many times I did not create a code that would be out of the box later and then again….. Also there is often no notion (and money) for the fact that you need to maintain existing code. In particular, if this code is to be built, it must be surrounded by tests to ensure that existing functionality remains intact after enlargements or alterations.

In other words, my understanding is not the programmers who are mediocre, but rather the layer managers above them.How many times I saw no Brekebeen programmer (a real Panayala) back as manager/Coordinator/project leader/architect above me, I can no longer count now. This is an eminently scenario in which the large basin and the Brutalen have the half-world. Luckily I have experienced good managers, among whom it was a pleasure to work and with whom the customer was always satisfied, but this is unfortunately rather exception than rule.

In my opinion, the problem is a surplus of medium-sized intermediate frameworks in IT.

Because clients like to rent the cheapest developer and settle for 芒 鈧?虄snel芒 鈧劉 instead of 芒 鈧?虄goed芒 鈧劉.

The same thing you see back in other sectors like construction.

In turn, Developers often don’t want to take the extra effort to deliver something that thrifty with resources, or something that is good, safe, and tidy.

Because there is often too little attention to quality control or there is no prior architecture thought, you often see mediocre work being delivered by mediocre programmers.

In addition, it takes time to become a good developer.That often comes with experience and wanting to continue to develop.

I have no experience with ICT but I think that the pupils are not sufficiently stimulated to learn exact subjects.The whole philosophy behind Western education vs Asian Education is that you have to focus on the subjects you like. In itself fine, but often the pupils/students go for the subjects that they find less difficult instead of fun. Fun is not by definition easy.

I will share a few insights conciously:

Define mediocre and good.Da芒 鈧劉 s pretty challenging. How many good runners are there and how much mediocre?

Suppose you find yourself a good programmer, would you go to work at a bank, health insurer, retail chain, etc.?Doesn’t seem to me. If you are good you will want to undertake or work at a start-up.

Software development also consists of phases.You have to devise and execute up to a first type, you have the whole long way to slow iterative improvements and maintenance, and you have the often long way in which there is no longer maintenance, but it must be kept in the air. For those three phases you need other kind of programmers.

Software development consists of many facets.Translating user requirements, databases, infrastructure, front-end, back-end, links. A good programmer on one level, will be mediocre in other areas.

Then you have good programmers in a poisonous environment that therefore seem mediocre.Or good programmers who just poison the team, or mediocre programmers who could have been quite good programmers if they were well managed.

I have worked with Indian programmers who have done all the studies, neat and structured work and really nice things.In One project The stars appeared, another project failed perfectly with the same people. Good or mediocre is not a clear unambiguous plane.

Despite that I no longer program my strong side to SQL and data modeling and translating insights to specifications.But I also worked for a while with JavaScript and CSS. In that last I’m not even mediocre. Does that make me a mediocre programmer?

There are so many facets to a simple question that I can write a book about it.Just because there seem to be so many mediocre programmers and needs good modern scalable software much more.

Two things to make a selection are: How does anyone learn?Want to learn someone? What is your resolving power? What do you do if you don’t like it? Can you work together?

If these questions can be answered positively it is as a rule good enough for me.

Firstly, most people are, by definition, mediocre: If everyone would be 芒 鈧?虄鈩? we would call that 芒 鈧?虄middelmatig芒 鈧劉.Of course, this is also the way for programmers.

Secondly, the need for programmers grows.This means that new inexperienced people will get more quickly than the inexperienced people experience. 芒 鈧?艙Uncle Bob芒 鈧?has here a time ago a nice article about written, Clean Coder Blog

This skewed relationship between experienced and inexperienced programmers also makes it difficult to pass on that experience: there are few people who can and do like it.I think that there is often an exaggeration about the fact that 芒 鈧?艙the changes in the field are so fast (some things change not at all so quickly), but that makes it extra difficult to determine what experience should be passed on, and what lessons from The past actually no longer apply today.

Finally, it is also very difficult to determine what a 芒 鈧?艙good programmeur芒 鈧?is. Firstly, this is very much dependent on the context, and even within a certain context it is difficult to determine.

Because anyone who can think logically, has a lump for reasoning and is beept with a vague presumption of mathematics a programmer can become.

And that’s not a problem, you don’t understand me wrong.

The problem is with the managers:

  • If 脙 漏 脙 漏 N Stucadoor has this little wall in 茫 漏 茫 漏 N Day plastered, then two stucadoors will have this little wall in a half day.

Strangely, this does not work with programmers.

  • There is one 10x programmer in the whole team.
  • But he is also just a programmer? Why should he earn more?

  • If the whole team would consist of 10x programmers, I would be able to build the next Facebook.
  • And here comes a big drawback: 10x programmers are there enough, but:

    • Sometimes (read: relatively often) they are somewhat socially inept: inadequate communicative skills, an entirely personal idea of individual hygiene, do not feel that on your socks in a faded anime shirt by the office run may not be appropriate.
    • The 10x programmers who are not above, usually know the buggers well what they are worth.
    • Many 10x programmers don’t even give money.

    Before you go to cheer, they give rather to a good team and to good tools and a challenging project. But what you see as a ‘ challenging project ‘ they will see differently: pitching your project to programmers is something very different to potential investors or customers.Then you can throw money, electric lease cars, airfryers, office cats or team outings to Akihabara. If the team, the tools and the project are not good, they don’t come (because they already have a nicer job).

  • Most 10x programmers are gone as soon as they get an offer from Google, Microsoft, Facebook, Apple or Tesla.
  • But usually it’s already going wrong when looking for such programmers.Hanging out at the HBO training is a nice one. You will not be the first to have a Tesla parked In front of a university college with a sign “with US trainees also get a lease car”.But then you will discover that also applies there: out of 10 there are 8 average, 1 There is bad and 1 is very good. To hijack the competitor is an easy way, but also consider the following possibilities:

    • Hang around at hackerspaces (or even better, focus on one).
    • Programmers also tangles together in their spare time, find out what the best programmer in your team does in his/her spare time and go look there (no, you are also not the first to sponsor anime conventions because you know that there is a lot of IT talent around).
    • Hackathons organizing is a good idea to reach inexperienced people.

    Experienced, proven programmers have other-more interesting-things to do in their spare time. The discipline of programming is a patchwork of well-meaning individuals who miss a lot of professionalism and maturity.
    No, not those few good, but just the pack mediocre programmers.

    There is a huge issue behind this, but the essence is that due to the lack of maturity of the discipline and the persons they cannot provide sufficient counterbalance to the pressure from the organization.
    As a result, quality is compromised, and if you are not able to deliver quality as a professional/male, your motivation will be broken.
    Programming is so much more if only rules code are correct, your solution functions in a larger whole which goes from business process to deep technique.And it has a lot of other facets around quality of code and works, as well as the different development techniques and solution directions.
    If you do not get the freedom to develop this, and do not take this in your free time, then you will not go any further.

    Many people underestimate the time investment needed to become really good and remain in your field if it is a knowledge-intensive domain.This does not fit into a working week of 40 hours, not if you want to belong to the top.

    Luckily, I can tell a similar story about a huge mountain with functions and work, mediocrity is what Dutch people are good at.

    芒 鈧?”-now I’m really curious what answers have been given to the original English question 芒 鈧?-

    The question is kind of like: 芒 鈧?艗why are there so many people who can pingle fun, but so few concert pianists? 芒 鈧?or 芒 鈧?艗why are there so many people who think of themselves that they are singing great, but so little of whom I would like to perform a full evening See? 芒 鈧?or 芒 鈧?艙why are there so many people who can bake in a service well, but so few cooks with a Michelin star? 芒 鈧?/p>

    This I do not mean as a to answer, but just to draw a parallel.Programming is a terribly difficult profession for which you have to possess a lot of talent and training and flying hours to be really good at it. You can follow a training course at MBO, HBO or university level and thus you will flow into the middle moot. Then you can try to reach the top.

    A high IQ helps, because programming problems are often extremely complex.A high EQ also helps, because you have to move continuously into the position of the future user, even more than he can (after all, you build software for a future situation, many of whom find it difficult to see it for themselves). In addition, you must be very introverted, on the autistic AF, to focus on a long-term problem and at the same time exceptionally extroverted to be able to communicate very well with the stakeholders. You have to spend a lot of time grinding your skills (in other words: Sitting behind your keyboard and pressing rules code) while spending a lot of time tracking which things others have made and make available .

    Only if you possess the maximum of these conflicting traits, you can hear at the top.

    When are you a good programmer?Apparently the good programmers are not good teachers!

    Leave a Reply