10 commandments of programming without ego

Original author: Stephen Wyatt Bush
  • Transfer
image“Programming without an ego” is a translation of the concept of egoless programming . The idea is that the developer consciously pushes the ego to 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 begins to apply them in his project, we will be very happy, because they help to avoid conflicts and are good in themselves. Translation and editing by moigagoo .

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

Just in that semester, Stephen first came across programming, and it already fascinated him. It seemed to Stephen a magical and powerful occupation, in many ways more creative than visual design.

When Stephen arrived home for the holidays, his father told him about the 10 commandments of programming without ego. He printed them, and together with Stephen they discussed each item. Due to the sudden death of his father, the Commandments became one of the few programming topics that Stephen managed to discuss with him. Perhaps that is why they are so remembered by him.

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

  1. Understand and accept as a fact that you will make mistakes. The challenge is to find them early, before they get into production. Thank God, in our industry, with the exception of the guys at NASA's Jet Propulsion Laboratory, who make rocket management software, mistakes are usually non-fatal. We can and must learn, laugh and continue to work.

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

  3. It doesn’t matter how much you pumped up specials. Someone always knows more , and you can learn from him. Just ask. Seek and accept what others say, especially when it seems you don't need it.

  4. Do not rewrite the code without consulting. 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, reverence, and patience. People who are not directly related to IT, but who often have to deal with developers, consider us to be slobbery at best, and whiners at worst. Do not feed stereotypes with anger and impatience.

  6. The only thing in the world constantly is change. Be prepared for change and take it with a smile. Look at changes in requirements, a platform or an instrument as a challenge, and not as an inconvenience to be overcome.

  7. The only true authority is knowledge, not position. Knowledge breeds authority, and authority breeds respect. If you want respect in an environment where there is no place for ego, cultivate knowledge.

  8. Fight for what you believe in, but admit defeat at ease. Understand that sometimes your ideas will be rejected. Even if you’re right, you don’t need to take revenge and say “And I warned that it would be so”. Never turn rejected ideas into a martyr moan or battle cry.

  9. Do not become "that encoder in the corner." Do not be a person in a dark office that goes beyond cola only. The encoder is not visible in the corner, it is difficult to contact it, it is difficult to control. Such a person has no voice in an open, cooperative environment. Get involved in conversations and be part of your office community.

  10. Criticize code, not people. Be kind to people, but not to code. As much as possible, write positive comments aimed at improving the code. Associate comments with the standard code accepted in the team, terms of reference, increased productivity, etc.

Stephen always 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. Although he does not know for sure, he is sure that the pope would be proud of him as long as he remembers the Commandments.

To learn more about Stephen’s father, read Frank Bush’s Contribution to IT Professionals book by his TTU colleagues.

Also popular now: