📜 ⬆️ ⬇️

Who is a "good programmer"?

It is not the first time that I notice that I myself do not know how the article I started will end. For example, recently I was asked to write a small note in the corporate newspaper about .NET direction. I chose the direction, I began to develop it, and as a result I got an article in which .NET was not at all. So this time we will continue the philosophical topic, but if last time it was about good architecture , this time it will be about who such a good programmer is and what questions you should ask yourself from time to time to move in the right direction.

What makes a good programmer different from a mediocre one? And how to become a good programmer yourself and deserve “honor and respect” among friends and colleagues?


')
Honestly, I do not know. It is often difficult to say what is meant by this phrase “a good programmer”. On the one hand, we are accustomed to thinking that a “good” programmer is necessarily a geek with glasses and a stretched sweater, the winner of a programming Olympiad who can multiply six-digit numbers in his mind and read the machine code directly in binary format. On the other hand, at interviews we also try to find “good” programmers and there we have other selection criteria: since there are not so many winners of olympiads and vacancies of “leading” and “main” pond, this bar goes down to more ordinary level So at the interviews we ask (or ask us) simpler questions: something about specific languages ​​or technologies, as a result of which the candidate’s memory is checked rather than his ability to think with his head.

Think with your head ? Well, this is a very good distinguishing feature of a good programmer. Whatever one may say, it is the gray (or what it is) substance located in our head that led us to this profession; and it is “thinking” that a professional programmer earns his living by doing this most of his time. And if so, then why not think about how to become, if not a good programmer in the conventional sense, then at least a little better compared to who he was yesterday.

Many of us, after the next iteration in the development of their favorite project, carry out retrospectives. Quite often, retrospectives are a bleak meeting, where a minimum of sensitive issues are raised and even fewer of them are solved. But sometimes they make some team members take a fresh look at the tasks to be solved and change something in their daily work. In general, it works. Not always, but it works. And since it works, why not try to use the same approach, but not only to improve the development process, but to improve yourself as a programmer? Why not ask a few questions to yourself, the answers to which would help to understand in which direction we are moving ourselves?

Here, for example, how often do you ask yourself similar questions: “How does your code differ today from your code six months ago? Is he getting better, or maybe he has already reached perfection? How have your views on software development changed during this time? What have you learned from this limitless area? When was the last time you wrote something for the sake of interest, and not for the sake of “production necessity”? When was the last time you helped someone with a technical question? ”

Of course, the answers to these questions will not say whether you are a good programmer or not. Their meaning is to understand whether you are “better” or stomping around. A good programmer is not a brilliant teenager, but a simple smart guy or girl who loves his work. A person who combines pragmatism and striving for perfection, love for the new and deep knowledge of the present, the desire for learning and the desire to teach someone else. Most good programmers are well aware that they know very little and find in themselves the desire and desire to fix it. Each of us has our own way to gain new knowledge, and here, as in programming, we should not look for a “silver bullet” either.

So, learn, read, learn something new, write and tell about it. And in general, do not think about whether you are a good programmer or not, all this nonsense. After all, the most interesting thing in this matter is the path, not the result!

Source: https://habr.com/ru/post/133582/


All Articles