📜 ⬆️ ⬇️

Seven things useful to know about programmers

An acquaintance of an English teacher once told me that he was at a party yesterday and heard a joke:

- When going to bed, the programmer puts 2 glasses next to the table.
- One with water - if you want to drink, the second empty - if you do not want.

Only the programmers laughed, and the rest, including him, did not understand the anecdote. I had to try hard to explain to the humanities that this is a funny joke.

A programmer is a relatively new profession. It originated in time somewhere between a nuclear physicist and an astronaut. Many “lyricists” and even some “physicists” and “astronauts” do not understand us. And among these people are often our colleagues, managers, employees of commercial departments, personnel departments, business owners, customers, etc. This post is for them. Well, a little for myself (like a retrospective introspection).
')
Disclaimer. Now there are a lot of programmers. Good and different. I will write about the good. And that, not about everyone, but about most of those with whom I had the honor to develop software together.

We know how and love to work

We are all geniuses. Well, or at least see themselves as such.

We came to this world to create, to save him from informational Armageddon. Just imagine what would happen to humanity today if all of the software suddenly stopped working. We have a deep intrinsic motivation.

We are ready to sit at the computer at night in order to write the shortest and most understandable code, create the fastest algorithm that requires minimal computer resources, or fix the “latest” bug. We love to create and hate the routine.

But this is our weakness. We are perfectionists. We can trample the grass for a very long time before we start solving the problem. We need to do a lot of effort to work badly, but quickly. No clear requirements, no well thought-out architecture, no tests, no refactoring: “bang-bang — and in production”.

We want to solve problems

We are intelligent. And this is useful for you to understand. Even if you are a manager, you are not an authority for us.

We will constantly defend the right to independence and our own opinion. We are convinced that we have the right to make mistakes. And how to create something new without being mistaken? It is like forbidding the attacker to miss the goal.

We are professionals. Set us a goal and wait. And we do not need to say how we should achieve it. And we, in turn, will not tell you where to go. If you all know better than us, then why do you need us? One of the colleagues above the workplace hung a poster: “If you come with a problem, you will get a solution. If you come with a solution, you will get a problem. ” And indeed it is.

Do not think that we can be made to work more, better, faster. You can try to enter individual KPI. This, of course, does not motivate us to think faster. But it can make imitate a hectic activity. What you measure is what you get.

We can not manage. But we can always agree with you if we have a common goal, mutual respect and trust.

We are professionals and do not know how to work badly. Better to just trust us.

We hate being distracted from work.

We work in the stream.

Software development requires a deep focus on the task. We have to build and hold abstractions of different levels in the head, from describing the goals of a software product to executable machine code and features of the hardware platform. And there may be dozens of such levels.

At each level, abstractions and their details are becoming more and more. It is also necessary to keep in mind the numerous interrelations that exist between abstractions at all levels and between levels. Abstractions and the relationships between them change over time, and we still need to take this dynamics into account in our heads.

Even if we have a news site or screensaver, we are working.

And here ... call (come) you are managers (employees of commercial departments, personnel department)! And it is impossible to wriggle away!

- How are you (health, task status)?

Ding And all this “crystal palace” of abstractions lovingly and long built up in the head scatters into small fragments.

And, having hung up, we begin to build the palace again from the splinters.

So, if nothing extraordinary happened, better write to e-mail. We will answer you when we emerge from the stream.

Just do not send us, please, brain dumps of 3,000 words of unstructured text. Most likely, we do not read this text. Two or three of the most important thesis and summary - what is necessary from us. We will call you (we will call you) if you have not understood something or need to clarify.

We really don't like meetings.

We really appreciate your time. We always have a lot of our plans for him. Therefore, the call to urgently consult usually causes us only irritation.

We will try in every way to avoid participation if we do not understand what we are discussing (we could not get all the information on the issues under consideration in advance), what goal we want to achieve, why we should participate in this and why we were not informed about the rally at least one working day.

We quickly lose interest if the meeting begins to deviate from the topic, if no one fixes the agreements reached, if at the end no one discusses who should do what and when.

If you can do without us, never call us to rallies. Better at this time we will write and debug another 100 SLOC useful code for the project.

We are not closed, not sullen and not asocial

Simply, we are most introverts and never want to spend energy on people and conversations that we are not personally interested in.

We love people. But not all around the world, but only those who are valuable to us. Its near circle. Your team, united by a common goal, mutual respect and trust.

We do not need corporate parties. Better we will sit over a cup of coffee or beer with our team and discuss our immediate problems.

We do not shy away from people. We are happy to go to a professional conference or training. And there we will communicate with interest with colleagues who are struggling with similar problems, who are more experienced than us, who know more than us. The world of IT is changing rapidly. And if you want to continue to work with professionals, then we need to "learn, learn and learn."

We are always ready to smile. But not out of politeness, but if there is a worthy reason. We really appreciate humor. No, of course, not Anshlag and not Petrosyan. And such, philosophical and benevolent. Well, maybe something like that . If this does not smile at you, contact your nearest programmer for clarification (by e-mail, of course).

Humor and mind are two sides of the same coin. And we try to avoid people with a lack of a sense of humor.

We are not indifferent and not cynical.

We are in the majority - phlegmatic. Calm both externally and internally. We are not inclined to show emotions. But do not think that we can not piss off. It just takes much more effort than people in a different warehouse.

We are not cynics, as many think of us. We appreciate sincerity, simplicity and openness. And we ourselves strive to be so. Therefore, be prepared to hear from us the unfavorable truth.

We will always be silent if we have nothing to say. We can even nod if you understand what you are saying. But it does not mean anything. Do not take this for our consent. Only the spoken “yes” is a sign of the programmer’s consent.

We do not reclaim

One of the books about the secrets of managing programmers is called "How to feed cats". The book, IMHO, is so-so, but the title is the exact one. We are all logic and rationalists. It is very difficult to force us to do that, the meaning of which we do not understand. We always have a lot to do. We will always shun those who impose senseless work on us, and find 100 reasons why we cannot do it. And we will always reach out to those who protect us from unnecessary work.

We do not like to walk in line and run in the bag. Without a bag, we run an order of magnitude faster.

We are special forces soldiers who aim to achieve our common goals with you. And the less restrictions we have on freedom, the more effectively we can achieve these goals. And, therefore, bring you much more profit.

Programmers, as well as all people, have a lot of flaws. But they also have advantages, without which it is simply impossible to develop software. These advantages of programmers are often a continuation of their shortcomings.

So, do not redo us. Accept us as we are.

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


All Articles