Death of a loner programmer

Introduction

As manual production was replaced by conveyor, so teams came to replace a single programmer. Modern programs are created by teams, not lone individuals. As such, the notion of a lone programmer genius isolated from the world and developing something on his computer is now outdated and extinct. Creation of competitive software in the modern world is possible only by teams. A person can be an excellent programmer, know many paradigms, languages, patterns, but it's awful to work in a team, constantly argue, be difficult to communicate, which in general gives us a mediocre team member who will slow down the team rather than move it forward.





In this article, I would like to briefly retell two books that, in my opinion, most fully reflect this idea and provide good recommendations for communication in teams, resolving disagreements among team members and organizing such a team as a whole.





Basic principles

Respect, humility, trust are the principles that should be the foundation of any teamwork.





Respect

You are genuinely attentive to those you work with. You treat them like people and value their abilities, achievements, try to understand their position and arguments. When you criticize another person's decisions, you focus not on their character, but on the desire to develop the most successful product. It is important to hear the position and arguments of the developer. So for less confident people, you should take a softer approach. For example, base your comments on the difficulty of perception for you. That is, you should not approach a colleague and say: "Well, I made mistakes here, it would be better to do it like this." This can provoke negative emotions towards you, even though you were determined to improve the quality of your code. In such a situation, the feelings of a colleague were hurt, and most likely he will feel like a fool. It is better to express this thought like this: "I didn't quite understand the command flow, maybe it was worth using a standard template so that in the future it would be easier to understand and work with it? ". In this example, the problem comes from you, you do not understand the code, and the person has nothing to do with it. require a colleague to correct a given section, but only suggest an improvement opportunity to increase readability in the further development of the project.





— ̆ . . , , . , , . , . . , , ? , , .





, ̆ . , . , . . ̆ . . , , ̆ , .





, . , , , . , ,  , . , , , , .





. " , . , !". , , . ̆ . . . ̆ . , , . . , . , , , - . , . . , "". , . , , , - .





, .





, , . , . , , - . , , , . , . . , , , . , , . , . , .





. .





, , . , . . , , . , .





1. -. - . ISBN 978-5-4461-0846-6





2. Ideal IT company. How to assemble a team of programmers from geeks. - Fitzpatrick B., Collins-Sussman B. ISBN 978-5-496-00949-2








All Articles