Learning to write programs is a long path. If you want to be a good programmer then you will need to go longer. Nowadays is full with courses, tutorials and certificates. Most of them put focus on the technical part of the programming:

  • best programming language in 2018
  • most popular IDE
  • plenty of theory
  • few code examples

Most people believe that becoming a programmer is a path with end point. You start a course, follow all the content and after several months you are ready to code anything. In my opinion this understanding of programming is completely wrong.

Several months of programming are not enough for learning the basics. Even years of practice may be insufficient if you want to become a master of coding.

I wanted to create something similar to Bushidō - it is the code for Japan's warriors. The word "bushido" originates from the words "bushi" meaning "warrior," and "do" meaning "way." Literally can be translated as the "way of the warrior."

Principle of a good programmer

Every human in modern world and every professional is leaded by principles. Most of those principles are silent never written words. Sometimes even thoughts for something.

This is my list of programming principles:

Be honest

As a good programmer - be honest. Confess your mistakes and bug problems. Don't try to hide an issue in order to be perfect. Even if you hide your errors and problems from your colleagues you will be coward who doesn't want to face the consequences of his actions. If you confess and face your mistakes you will gain confidence for yourself and respect from the others.

Only if you find and know your weak points you can work on them and improve them. Don't be afraid of mistakes. Mistakes are the steps that will make you better.


Respect the others and their code! Don't be too proud. Forget about best programmer, best programming language or best tool. Everything in programming world is changing too fast. Instead of offending and criticizing people try to find their weak points and how to avoid/solve them.

May be you know the saying: Respect should be earned not given. May advise is to respect people who are helping others, who share their code or try to teach someone. If you don't like something - say it - with arguments and what you would change/fix.

Avoid abstract critic as: Your code is bad! Your language is stupid!

Open minded

Stay hungry and open minded. Learn new things every day and do experiments. Learning is never ending path and it's not a final point which has to be reached.

Programming is like water. If you stop heating the container the water is getting colder. You need to warm up your skills every single day by small steps. Listen other points of view, test new tools and algorithms. Search for new solutions and test your limits.


Lets think for a moment for all people who contributed their life to science and especially computer science. Most of the names are even unknown for the majority of the programmers. Names like: Blaise_Pascal, Ada_Lovelace, Charles_Babbage, Claude_Shannon, John Atanasoff, Alan_Turing, Aristotel and many others.

They contributed their work and knowledge with others in order to enlighten people. Think also for all people who are sharing their code - product of hours work for free - they are the power which moves programming. You can keep some of your work, you can keep some of your ideas or to sell them. But also share with others, enlighten and be the leading light.

Don't work for money only

Most people are ready to program something disgusting for them only to get huge salary. They are ready to change the language, their principles and even code style for money.

Try to avoid this otherwise you will loss passion for programming. Programming will become a duty or something you hate. All of us are working for money. But don't work only for money. Try to find a job which makes you creative and help your personal development. You will enjoy the benefits in long term.

You can be interested also in previous posts: