πŸ“œ ⬆️ ⬇️

What makes a programmer a good programmer?

On the free course β€œ Basics of Programming ” we try to provide newcomers with information in the most accessible form that would help them assess their interest in the development and choose the right direction for development. Each of us wants to achieve heights in the chosen profession, and guys come to us who want to become not just programmers, but good / best programmers.



Understanding what distinguishes just a programmer from a good programmer, we remembered an old but interesting article published back in 2011, but not losing its relevance. Free translation of this article, we present to your attention.
')
I remember as if it was yesterday. It was 2000, Dr. Pargas stood in front of our course and talked about data structures while an SSH session was projected onto the wall in front of us. Someone asked a question, and he answered something like: "Well, if you want to become a real expert, you should start using vi."
I think he smiled when he said this, and in retrospect was somewhat cunning, but being young and receptive, like I was then, I went back to the hostel and immediately began to study vi. It was a rough move, but as soon as I started working with vi, I found a bunch of things that could be done faster.

Fast forward to six years when I was fascinated by Textmate. I was developing in Java, and at the same time I studied Rails and worked on projects for Rails in my spare time. I had the feeling that every article and every screencast showed Zen text editing in TextMate. The fact that I had to work at Eclipse every day made me furious. So I bought a Mac and ten minutes after switching it on, I bought a TextMate.

I can honestly say that not changing the text editor made me a better programmer.


Photo espensorvik

Good tools don't make you much better. Tools are important. They are wonderful, really. But Tiger Woods will beat us all with a set of cheap clubs, Messi will replay each of us even without shoes, and Rafael Nadal is likely to beat any of us on the tennis court with a classic racket from the 60s. Hell, he'll beat me with a paddle instead of a racket! The skills, knowledge and experience that you have gained are the most important part of the equation.

So, the tools do not make the programmer. Then what does? I think it depends on what you work on, who you work with, but there are also common qualities among people who successfully develop software. I'm not sure if you can develop these qualities in yourself, or if they should be innate, but I know for sure that it would be better if I worked on these qualities instead of choosing a text editor.

For people



The best programmers I knew always put people first. They understood that the software they write is for people, even if they are the guts of a complex system or a protocol that only other programmers will use. They write documentation because it is important. They help others use their code. They are ready to work more and deal with the difficulties to help people using their software to make the right decision.

Appetite for knowledge



Amazing programmers ridiculously crave knowledge. They always tell you something new or interesting. They read a lot, both online and offline, and love to try new things and learn from their experiences. They are never afraid to try new languages ​​or new platforms.

The ability to understand the problem



With the experience of writing software, you begin to see problems similar to those you have already seen. A valuable skill is to be able to see the similarity of a problem and use the old solution for a new problem, improving it every time.

However, this does not mean that you can blindly use the old solution simply because it worked once. That's where you need to use the ability to understand the problem. Look carefully to see where the old approach can be applied, and where not.

A bit of madness



My brother went to the Python course, and when I asked him how he liked it, he told me that the programmer can only be insane, and this is one of the most boring things he had to do. In a sense, he was right. I communicate with computers much more than with people.

It is a pleasure to collect lines of code in the work program. Not everyone will be delighted with such an activity, but the best programmers I know love to create programs.

Perseverance



Program development is a slower process than we would like. He takes time. You need to be patient enough to mechanically write code. Sometimes we, as developers, write really interesting code, but sometimes we have to write a lot of code that we wrote a hundred times before. I think that the best developers continue to work, because they see the big picture of what they are working on, and they like the process of building the program part by part.

Here are features that I consider important for really good programmers. What do you think about what is important? Tell me about it.

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


All Articles