What level of programmer are you?

Preface

When chatting with the leader recently, I talked about some things about programming thinking, which benefited me a lot. In particular, there is a question that impressed me. And for this question, I have also been asked several times in previous interviews. I reiterated what I thought was a good answer. Unexpectedly, the leader laughed after listening to it, which really made me a little confused.

What level of programmer are you?

I believe you have been asked about this question in previous interviews. Obviously this is an open-ended question and there is no standard answer. I answered like this:

I think I am an intermediate programmer. why would you said this? In fact, my definition of elementary is capable of working. The scheduled tasks can be successfully completed and some bugs have been resolved. But what about technology? It may stay at the level of use, not knowing it but knowing why.

At present, completing my daily work is no longer a problem. I also have some in-depth understanding of certain technologies and can design some architectures, so I think I am an intermediate programmer. As a senior programmer, you need to have a deeper understanding of technology, and you also need to have a strong architecture design ability to deal with a test of business in different scenarios.

leadership

After hearing what you said, it is obvious that your division focuses on technical aspects. According to what you said, it seems to know CRUD and use some tools, such as Redis, RabbitMq is a junior programmer. Then I learned other components and understood some principles, and I became an intermediate programmer. If you learn more, you will become a senior programmer.

According to what you said, then I will list all the things to learn. After learning one by one, you become a senior programmer. If this is the case, there should be many senior programmers. Obviously, there are still a few senior programmers in our industry. The senior programmer you think is just a qualified programmer to me. I can't say that I am a senior programmer.

Leader: SpringBoot is an excellent framework, right?

Me: Yes, Barabara said a bunch of advantages.

Leader: The programmer who develops the SpringBoot framework should be a senior programmer, right?

Yes I am.

Leader: So, why is he a senior programmer?

Me: Uh uh uh uh uh!
Insert picture description here
leadership:

A qualified software is not achieved overnight. As far as what we do, our team built it line by line of code. When I assign work, I will sort the tasks according to the complexity, and then distribute them according to your abilities. For example, leave some simple tasks to interns to do. Then leave the more complicated to the experienced. When personnel changes, others can quickly take over.

Leader: So the question is, how can others quickly take over?

My. . . . .

Leader: Very simple. If everyone writes the same code, looking at other people's code is like looking at your own code. Doesn't this solve the problem?

Yes I am.

Leader: Then the question comes again, how to make everyone write the same code?

Me: We can scan the code with the idea plug-in developed by alibaba, formulate the corresponding code specification, and implement it. Insert picture description here
Leader: How much do you comply with the regulations we set?

Me: Part of it was complied with and part of it was not complied with.

Leader: Don’t you think it’s broken, making the code style inconsistent?

Me: Uh, this is indeed.

Leader: Whether it is alibaba's plug-in or the company's development specifications, only a small amount of constraints can be implemented. There is no way to achieve strong constraints. You can choose to comply or not. And asked, why didn't you follow it. You can give a lot of reasons, for example, the project is rushed and the time is short.

Me: Hahaha.

Leader: Is there any way to achieve strong constraints?

My. . . There should be.

Leader: What is it?

Me: uh uh uh! I don't know this, and smiled embarrassingly.

Leader: This thing is the framework.

A framework is a frame—referring to its restraint and a shelf—referring to its support. It is a basic conceptual structure used to solve or deal with complex problems.
Leader: Why do you say that? As far as you write the code, it shouldn't happen to forget to write; this one.

Me: This is definitely not possible, IDEA will remind, and the compilation will not pass.

Leader: That's right. If you don't write according to the rules, you will directly report the error. If we encapsulate various customized development specifications into a framework, let you use them, forming strong constraints. So the code you write will be the same. This is why we encapsulate the framework. You can add whatever you want. After all, the open source framework is aimed at most people and cannot cover everything.

Me: Oh, that's it, I learned it.

Me: How do you classify programmers?

Leadership: Junior programmers can complete the corresponding work according to their own skills, but intermediate programmers can not only complete the work, but also allow others to quickly take over their work. Senior programmers turn beginners into intermediate.

to sum up

Junior programmers can complete the corresponding work according to their own skills. In addition to being able to complete the work, intermediate programmers can also allow others to quickly take over their own work. This also means that the written code is more readable, and all kinds of efforts are required to ensure the readability of the code. For example, the naming is reasonable, the corresponding abstraction, module division and so on. Senior programmers turn beginners into intermediate.

It's simple to say, but it's difficult to implement. The encapsulation framework is just one method. You have to ask me what else I can do. I don't know, because I am not a senior programmer. According to my current knowledge, if you want to become a senior programmer, you must not only consider problems from a technical perspective, but also consider problems more from a human perspective.

end

Thank you very much for seeing the end, so the question is what level of programmer are you?

If you think it is helpful to you, you can comment more and like it a lot, or you can go to my homepage to see, maybe there are articles you like, or you can just follow them, thank you.

I am a different technology house. I make a little progress every day and experience a different life. See you next time!

Learn Java programming with zero foundation, you can join my ten-year Java learning field .

Guess you like

Origin blog.csdn.net/weixin_49794051/article/details/112376148