Programmer's Guide: The Elephant in the Room-Decades of Observation by the Vice President of the Apache Foundation

"The Elephant in the Room" is a speech given by Niclas Hedhman, vice president of the Apache Software Foundation, at the 2016 China Open Source Annual Conference.

You can read the complete text, the angle is sharp, and share it with someone who is destined.


We can classify programmers in our industry in the following ways, genius, good, average, poor and bad.

Let us look at the characteristics of each.

The code base written by talented programmers is simple, reusable, and powerful.

They persevere and develop continuously, making small and regular improvements to the code base and adding new features.

They wrote enough related tests. They are often very humble and knowledgeable.

They are also not perfect, and often have to rewrite the entire library from scratch. But they can write better code without breaking compatibility.

Good developers are more complicated to write code bases.

Usually they leave a lot of unfinished places. Because they won't work in a library for a long time, soon they will start to do something exciting for newcomers.

The code base they wrote quickly became obsolete, no one knew how to operate it, and testing it required too much code.

Good developers are proud of themselves and their work, but their code cannot be rewritten because they are not written so well and lack a testing mechanism.

The average programmer is usually the great god of software maintenance in large companies.

They solve errors at all costs and cut new features. If the test is interrupted, they only need to disable the test because it is time to deliver the code.

They also don't like to work with good developers, because these people will leave behind abstract concepts and code bases with dependencies.

These things are very inconvenient to use, and there are many errors, and there is no documentation.

The poor programmers don't care about anything. They just work, write code, go home, and repeat the process.

They never learn, they don't listen to others' opinions. Even if you tell him what is good code and what is bad code, they can't tell.

They shouldn't be programmers, and generally won't be programmers forever.

 

Bad programmers are not as bad as poor programmers, because they and the people around them know that they are inexperienced and the code is not very good. So they want to learn and aspire to be better programmers. They also often transition to become good programmers, but some also become poor programmers. Bad is a short period, there is nothing to worry about.

 

 

This brings us to the next myth.

If we ask programmers, which category do they belong to.

If they have not read the definition of these categories, then we will get such a result, 60% of programmers think they belong to the genius and good category, only about 30% of people think they are ordinary programmers.

But in my experience, the statistics should be like this.

Very few are genius programmers, a small part of good programmers, and a large number of programmers are average and poor programmers. Think about it.

Therefore, the talented programmer showed us his simple and outstanding masterpiece, with beautiful design, simple abstraction, and easy to use...

We think "I can do it".

In Greek, Primus Inter Paris means the first and the ordinary person.

This view holds that truly outstanding people are still only one of us, and there is no difference, we can all do it.

When we see beautiful code written by others, we think it's commonplace.

But ordinary people like us are too stupid to see our limitations. We know what the most beautiful code looks like and how it is used, but that doesn't mean we can write this code ourselves.

The illusory superiority and the Duck effect branch theory tell us that we are too stupid, but we don’t know how stupid we are.

We have confidence in our abilities and have written complex software that can hardly run under normal circumstances, and these software cannot run even under special circumstances.

 

I'm so stupid, I can't write good code.

Everyone, now, speak up...

This is the elephant in the room.

Guess you like

Origin blog.csdn.net/sinat_39416814/article/details/99450474