📜 ⬆️ ⬇️

10 commandments of programming without ego

image “Programming without ego” is a translation of the concept of egoless programming . The point is that the developer consciously pushes the ego into the background for the sake of efficiency in work. When developing Web-payment.ru - a site about payment systems with catalogs and monitoring exchangers - we try to be guided by these principles. If someone thanks to this post also starts to apply them in their project, we will be very happy, because they help to avoid conflicts and carry the good in themselves. Translation and editing of moigagoo .

Stephen started talking about programming with his father 2 weeks before his death. Stephen was 22, he studied graph design in college and almost got a bachelor's degree. His father was 62 - more than most fathers. When he first started programming at the Tennessee Technical University in the 60s, he wrote code on Fortran on punched cards. He knew a lot.

Just in that semester, Stephen first encountered programming, and it was already fascinating to him. To Stephen, it seemed like a magical and powerful occupation, in many ways more creative than visual design.
')
When Stephen came home for the holidays, his father told him about the 10 commandments of programming without ego. He printed them out, and together they and Stephen discussed each item. Because of the sudden death of his father, the commandments became one of the few programmer topics that Stephen managed to discuss with him. Perhaps that is why they remember him so.

So, here are the 10 commandments of programming without ego, from the 1971 book The Psychology of Programming :

  1. Understand and accept as a fact that you make mistakes. The challenge is to find them early, before they hit production. Thank God, in our industry, with the exception of the guys from NASA's Jet Propulsion Laboratory, who are making software to control missiles, the errors are usually non-lethal. We can and must learn, laugh and continue to work.

  2. Your code is not you. Remember that the whole point of code verification is to find errors, and they will definitely be found. Do not take it as a personal insult when this happens.

  3. No matter how pumped you specials. Someone always knows more , and you can learn from him. Just ask. Search and accept what others say, especially when it seems that you do not need it.

  4. Do not rewrite the code without consultation. There is a fine line between “correct code” and “rewrite code”. Feel the difference and pursue style changes as part of a regular code check, and not as a lone ranger.

  5. Treat people who know less than you, with respect, respect and patience. People who are not directly associated with IT, but who often have to deal with developers, consider us at best znaykami, and at worst - whiners. Do not feed stereotypes with anger and impatience.

  6. The only thing that is constantly in the world is change. Get ready for change and take it with a smile. See changes in requirements, platform or tool as a challenge, not an inconvenience to be overcome.

  7. The only true authority comes from knowledge, not position. Knowledge generates authority, and authority generates respect. Want respect in an environment where there is no place for the ego - cultivate knowledge.

  8. Fight for what you believe in, but freely admit defeat. Understand that sometimes your ideas will be rejected. Even if you are right, do not take revenge and say, "I warned you that it will be so." Never turn rejected ideas into a martyr's moan or battle cry.

  9. Don't get "that coder in the corner." Do not be a man in a dark office, which goes only for Coke. The coder in the corner is not visible, it is difficult to contact him, it is difficult to control. Such a person does not have a voice in an open, cooperative environment. Join conversations and be part of your office community.

  10. Criticize code, not people. Be kind to people, but not to the code. As far as possible, write positive comments aimed at improving the code. Associate comments with the standard code adopted by the team, terms of reference, performance improvement, etc.

Steven still keeps this list nearby today. He has already helped Stephen become a better programmer. Sometimes Stephen imagines what else his father could advise him if he were near. Though he doesn’t know for sure, he’s sure that Dad would be proud of him while he remembers the Commandments.

To learn more about Stephen's father, read Frank Bush's Contribution to the IT Profession by his TTU colleagues.

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


All Articles