If you want to be a truly outstanding senior developer, there is only one way to make mistakes, correct mistakes, learn from mistakes, share mistakes, and repeat the process.

Editor’s note: This article is from WeChat public account “InfoQ” (ID: infoqchina) By Ravi Shankar, the translator is authorized to publish.

What is not important is what is important.

If you want to be a truly outstanding senior developer, there is only one way to make mistakes, correct mistakes, learn from mistakes, share mistakes, and repeat the process.

All mistakes made will be your precious experience. Learning from experience, this is the key to becoming a successful senior developer. Very simple, right?

In other words, you have just stepped into society and become a junior developer, and you are struggling with what you can do to achieve career development. Is this just a matter of time? Do you want to go back to school to continue your studies? Or take more advanced certifications?

Not all.

Although formal education can get you up to speed quickly, in fact I know many senior developers who only have a college degree.

A good senior developer must not only be able to write beautiful code, but also have certain other qualities that can be favored by others. Senior developers are people who can bring more than 10 times the value of the company. They know what good things are and can deliver value to customers.

Don’t treat a senior developer as just a job title, it’s a set of code of conduct at work. It’s not your job content, but your way of doing things, so that you really become a senior developer. There is nothing to discuss about this. You can’t be a senior developer when you enter the workplace. You will make mistakes and make a lot of mistakes in the process of growing up, but these will eventually turn into what you have learned and experience.

The following qualities are summed up by many senior developers. It is these qualities that distinguish them from ordinary developers.

1 They are very curious

As Albert Einstein said:

I am not smart, I am only very curious.

Research shows that when curiosity is stimulated, the ability of people to learn and remember knowledge will be greatly improved. When you are curious, the reward system in the brain will start to work. The brain secretes a chemical called “dopamine,” which makes people very excited and learns very fast, even for boring ones.The same is true.

Good senior developers will go a step further. They will organize their own curiosity in a planned way, and in an emergency they will use the knowledge they have accumulated.

For example, let’s take a deeper study of a programming language and then expand it to learn other languages.

2 They will thoroughly study the selected platform

You are unlikely to run into a programming problem that no one else has ever encountered. There are not a few companies that have developed something that really was not done by other companies.

Because of this, the vast majority of the problems you face in using your language and platform have been solved.

For example, I used the object-oriented class that comes with SAP to modularize 30,000 rows of SAP ABAP code and eventually became a 200-row class. The main reason I can make such a result is that I am determined to get a deeper understanding of ABAP before I understand other SAP modules. I know that this will be slow, but the effort is worth it.

A good developer is never satisfied with the status quo. Regardless of whether their code can work, they will try to find the answer to each question they should ask.

3 They are all good teachers

John Crosby once said: “

Counseling is to go deep into other ideas, listen to others’ opinions, and then push in the right direction.

Google did an important study on this issue in 2008. The oxygen planning team at Google Talent Innovation Lab conducted a year-long data mining study using performance reviews, employee surveys, nominations for outstanding manager awards, and other information to assess the relationship between managers with high scores and low scores. How big is the difference. They studied more than 10,000 data from more than 100 managers.

There are two important findings in research:

  • The most important thing to achieve management success is to be a good mentor. Successful managers know how to guide team members to success.

  • The least important thing is technical strength. This also proves from another perspective that a good developer does not necessarily become a good manager.

According to the research results, Google revised their survey feedback templates to reflect these qualities. In the past, they focused on measuring the output of managers, but now they pay attention to how much time they spend to guide the team, whether the vision is clear and effective, and so on. They also developed new management training programs centered on these skills.

They say that one of the core expectations of every senior developer is to be able to communicate effectively with internal and external users and collaborators. People with non-technical backgrounds have no way to understand technology