THE PRAGMATIC PROGRAMMER
Tags: programming, java, javascript, webdev
Published: 2023-06-23 19:17:26


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r4w487fmyssop2edn5ux.png)

“The Pragmatic Programmer: From Apprentice to Master” is a book written by Andrew Hunt and David Thomas, originally published in 1999. The book is considered a classic in the field of computer programming and is often recommended for beginning programmers. The book presents several techniques and practices for programmers, from the software development process to communicating with other team members. It emphasizes the 
importance of code simplicity, clarity, and maintainability, as 
well as flexibility and adaptability to change.
In addition, the book has a lot of practical advice for programmers, such as the importance of maintaining proper documentation, the use of automation tools, the use of version control, and the importance of keeping up to date with the latest technologies.
In summary, “The Pragmatic Programmer” is a worthy read for any programmer looking to improve their skills and become more efficient and effective in software development.
In the first paragraphs it is clear that the author’s intention goes far beyond just talking about good practices or development tips, discussing the themes of this work it is possible to observe the purpose in this reading. The author insists on emphasizing the importance of seeing a code not just as something commonplace and automatic, programming transcends command lines and we must see them as art and design, each programmer is the author of his own art, it must emerge in if such qualities.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zw10p028g7vfvnyzbe1i.png)

Discussing the guidelines and instructions described in the book, the relevance of the content is remarkable, citing work standards and bringing day-to-day improvements to the development of the system and situations in which there may be improvements, avoiding broken codes or codes that cannot be identified and understood by other developers. As the biggest villain of effective work, it is evident that badly made codes with little identification can cause reduced productivity.
Indispensable methods and procedures are found with some regularity in this work, “The five whys” is cited and going beyond exposes the importance of communication, being essential in the work environment since we use it to dialogue with the end customer, co-workers, express our ideas and also reflected in our code, as we use it to communicate our intentions with the machine.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/46u6eecgl38ptt4adiw9.png)

The meaning of your communication is the response you get.”

Know what you want to say.
• Know your audience.
• Choose your moment.
• Choose a style.
• Make it look good.
• Engage your audience. Be a listener.
• Get back to the people.
• Keep code and documentation together

In addition to behavioral techniques, the presence of techniques in the code, such as DRY (Do not repeat yourself) and Orthogonality, is relevant, with such forms you can reach cleaner and clearer codes. The author classifies another point that occurs with recurrence, which is the fear of the blank page, that initial moment of the project when the screen is empty and there is only you for you, maybe the imposter syndrome visits you and tries to sabotage you. On that occasion, take a break, calm down, get away from the computer, have a coffee and try to relax, when you come back, let your creativity and inspiration work in your brain, your productivity will certainly flow more naturally.
Perhaps it is imperceptible, but the monotony in development is present, due to the frequent repetition of codes, our brain gets used to it and starts to no longer do them out of rationality, but involuntarily, programming should not be done by coincidence, trusting in chance and without chance success.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mr6r275utya1yka537l0.png)

After we have awareness and perception not to let ourselves be involved by the monotony of the codes, it is extremely important to be careful with debugging, testing and refactoring. You have to accept that debugging is problem solving even if such a bug is caused by another developer, it doesn’t matter if the bug is yours or someone else’s, the problem is still yours.
The consequence of all the steps taken successfully is a clean, clear and functional code, the artists when they finish their works have the pleasure of signing their accomplishments, do the same, be proud of the work done and leave your mark to be remembered and seen by other people who will contribute to the project, therefore, the association of your work to your name will result in evidence and good visibility in various technical and interpersonal aspects.
Developing goes beyond lines of code, classes and objects, developing is more than typing and executing. Developing is thinking and analyzing, reflecting and reproducing, imagining different possibilities and deciding the best path, considering the best tools to be used. “Thinking outside the box” is an often repeated phrase that also fits development, there is a habit of just copying what has already been written and typed, but it is essential to analyze and understand the functionality of the algorithm.
Pragmatic is a word that comes from the Greek “pragmatikus” and the Latin “pragmaticu”, which means to be practical, direct, with a defined objective and without subterfuge.
A pragmatic professional is not only focused and disciplined, he goes beyond these qualities and improves as an analytical and critical thinker in different situations, evolves in interpersonal issues and becomes the professional who creates, builds, presents his work and finally signs it, leaving not just codes but structure for continuity and order for change.