Hard work does not justify itself

Every programmer needs to be convinced that intense work is often unjustified. You can deceive yourself or your colleagues into thinking that by staying late at the office, you are making a significant contribution to the project. But in reality, by working less, you can achieve more—sometimes significantly more. If you are trying to work “productively” and with focus for more than 30 hours a week, you are likely overworking. It might be worth considering reducing your workload, which will allow you to work more efficiently and accomplish more.

It may seem that my statement contradicts common sense and is generally debatable. However, it is a direct consequence of the fact that programming and software development, in general, require continuous knowledge expansion. As you work on a project, you will come to better understand the subject area and, hopefully, find more efficient ways to achieve your goals. To avoid doing unnecessary work, it is essential to take the time to study the results of what you are doing, reflect on what you see, and adjust your behavior accordingly.

Professional programming usually bears little resemblance to running a few kilometers, where the goal is visible at the end of the paved road. Most software projects can be more accurately compared to orienteering. A marathon distance. In the dark. And instead of a map, just a rough sketch. If you take off running with all your might in one direction, it might impress someone, but this way you are unlikely to succeed. You need to move at a steady pace and adjust your course as it becomes clearer where you are and where you are heading.

Moreover, it is necessary to constantly expand your knowledge of software development in general and programming techniques in particular. It is useful to read books, participate in conferences, communicate with other professionals, experiment with new technologies, and master powerful tools that simplify work. A professional programmer must constantly keep up with progress in their field, just as a neurosurgeon or pilot must do in theirs. You should dedicate your free time (evenings, weekends, and holidays) to self-education, so you cannot spend your free evenings, weekends, and holidays on overtime work on the current project. You don’t expect neurosurgeons to operate for 60 hours a week, or pilots to pilot for 60 hours a week, do you? Of course not. Preparation and education are the most important parts of their profession.

Focus on your project, try to find as many interesting solutions for it as possible, improve your skills, think through your actions, and adjust your behavior. Don’t disgrace yourself and our profession by acting like a hamster on a wheel. A professional programmer should know that trying to work 60 hours a week in a focused and “productive” manner is unreasonable. Act professionally: prepare, implement, observe, think, and adjust.