⬆️ ⬇️

Getting better: the thorny path of the programmer. Part 1

This article is a free translation of the article “The hardest and easiest way to be a better coder” of medium.com.

It expresses an idea that is usually not customary to voice in the software development industry.

This idea that programmers are people too . But people living in a culture that denies emotions in communication.

The author perfectly describes us an important path of development. And this is not pumping technical skills or GTD at all.





From translator



Attention! The article is hard. Designed "to think"!

Why translate?
I have long been interested in the question of the development of productivity and self in the framework of the profession of a programmer.

One of the ways is to learn tools and practices, to hone technical skills.

But there is another path - the path of man : the improvement of communications, emotional intelligence, social relations - what is called "soft skills."



In my circle, few people ask the question "How to pump software skills?", Because these skills are considered secondary.

And I notice that these skills are almost essential for becoming a professional.

')

The author of the article describes the exact same idea!

I could not have written better, so I took up the translation.





The translation will be divided into several parts.

I believe that this will help the assimilation of information.

Such a topic should be metered.



The first part reveals the idea that programming is based on communication .

The second part describes the role of code as a way to communicate .

The third part will tell why we are enraged by a recess in the details or a strong abstraction in explaining the new.

The fourth part is devoted to the dark side of power - the desire to be evil and harmful .



Hereinafter, the translator's notes are in italics.






Programming is communication



Warm up



Imagine that you are on a planet that is very similar to the modern Earth.

It is inhabited by humanoids. They love music, cats and funny stories.

Their technological development has already given them various complex things: newspapers, trains, and beautiful complex architectural ensembles.

Their culture is based on good education, excellent medicine and research.

But they have not yet discovered electricity .



No computers. Internet too .

Cap hints that there are no video games either. Incomprehensible.



It seems to me that our modern culture of programmers is just as devoid of very important "electricity".

We do not know how to maintain healthy daily communication.



On the one hand, training this skill is simple: the first steps are very simple and effective.

On the other hand, this is a very extensive area of ​​knowledge with a bunch of nuances.



Blood programming



Contrary to popular belief, the blood of programming is the communication of the programmer with the programmer , and not the communication of the programmer with the computer.



Many people think that programming is an explanation to the computer what exactly needs to be done. When I write the code directly, rather than respond to emails or design a solution, I describe the specific actions that the computer will then perform.



The purpose of programming is definitely the solution to a specific user problem. So where did the very “communication of the programmer with the programmer” lurk?



Programming is a continuous process. What does it mean?



The economy is also a continuous process, the process of exchange of goods and services.

This process never stops. There is no magic moment when every person has everything he needs and the economy stops and disappears.



Similarly, the base of the existing code is constantly evolving, and this evolution is programming.



Money is the “blood” of the economy. This is what flows from one participant to another. This is what feeds the process itself.



The only thing that feeds the programming process is communication between the participants of this process.



Why do programmers underestimate communication?



It is difficult for a programmer to realize the importance of communication because of such things:



And the most important factor - programmers talk about communication and “communication skills” only during interviews and salary revisions, and avoid these topics at any other time.

How many articles on “communications” for programmers have you read?



Disregard for “good communication skills” has become a tradition.



Even programmers have feelings!



There is another tradition that is not talked about.

We pretend that we have no dumb emotions: anger and envy. And that we do not protect our code from the attacks of colleagues.



Imagine what your friend says: “I don’t want to change this code, because I have attached myself to it!”. It sounds dumb. Such open emotions are not openly spoken.



We are all aligned with an “ideal programmer” who experiences only good emotions: inspiration, curiosity, a desire to help others. For some, the contempt of criticism is valuable. But I will talk about criticism a bit later.

We try not to show what we differ from this ideal image.



At the same time, we all experience a heap of emotions. It `s naturally.

Personality maturity is not a change in our emotions, it is a change in attitude and reaction to these emotions and feelings.

Emotions play a crucial role in shaping our desires. Mature reaction is not ignoring these emotions, but their awareness and utmost honesty with oneself.



Many do not even know how useful it is to be aware of their feelings. Make it extremely difficult. The most familiar behavior during communication is to immediately give in to the impulse of feelings, and not to try to analyze them first. You do not think "Now I want to humiliate the interlocutor, because I am extremely angry."



Awareness and control of feelings and emotions is the main component of the concept of "emotional intelligence . " An interesting topic, I advise poizuchat.



What could be harder than controlling your own emotions? The answer is simple: respect other people's emotions.

When we try to guess what our interlocutor feels, much less information is available to us than our interlocutor. And sometimes it is not clear what is worse: to ignore other people's feelings or to understand them is wrong.



It would be great if programmers could openly discuss emotions.



The basis of such a tradition is probably the idea that working with code has nothing to do with feelings. But this negates the fact that programming is a collaborative, continuous process.



You can't just shut your eyes to feelings. Bad emotions are like bugs - they are inevitable. It would be more productive to notice, discuss and “correct” such feelings. A happy, positive and motivated programmer is more productive than the offended and panting-nagging.



Unfortunately, the culture can not be changed by the click of a finger. Today, the situation is such that a programmer who is interested in the feelings of others is in danger of getting head-on.



But all is not lost!

You can start talking about feelings by asking a question accordingly. You must show that you want to understand a person’s point of view without the desire to condemn it .

People relate much better to those who understand their feelings and understand the reason for these feelings.



This is an excellent first step towards a productive solution to a complex situation that causes negative emotions.






In the above, I found a lot of coincidences with my reality. You need to communicate and learn to do it productively. Do you agree?



How do you solve conflicts?

Is your code causing any feelings?

Do you explain to comrades the reason for your decisions and behavior?



Translate further or well?

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



All Articles