Part 1: A Pragmatic Mindset
After reading the book “The Pragmatic Programmer”, I was definitely shocked by the amount of good and useful ideas in this book. So I took the opportunity and made it a series of blog post that I’ll make while reading the book. In the series of " the pragmatic programmer", I’m going to outline the key ideas in the this book and tell you what’s really about. if you feel the ideas are useful to you, I would say, go for it and start reading it yourself. without further due, let’s start.
Chapter 1: Philosophy
You have agency
The first and most important lesson is this: it’s your life, and you are in control of it. You have agency over your career and your future. Our skills are highly valued, and we have the ability to work remotely from anywhere in the world. The question to ask yourself is: “Why can’t you change your situation?”
Be a Catalyst for Change
There is a story that goes like this:
Some travelers come to a village, carrying nothing more than an empty cooking pot. Upon their arrival, the villagers are unwilling to share any of their food stores with the very hungry travelers. Then the travelers go to a stream and fill the pot with water, drop a large stone in it, and place it over a fire.
One of the villagers becomes curious and asks what they are doing. The travelers answer that they are making “stone soup”, which tastes wonderful and which they would be delighted to share with the villager, although it still needs a little bit of garnish, which they are missing, to improve the flavor.
The villager, who anticipates enjoying a share of the soup, does not mind parting with a few carrots, so these are added to the soup. Another villager walks by, inquiring about the pot, and the travelers again mention their stone soup which has not yet reached its full potential. More and more villagers walk by, each adding another ingredient, like potatoes, onions, cabbages, peas, celery, tomatoes, sweetcorn, meat (like chicken, pork and beef), milk, butter, salt and pepper.
Finally, the stone (being inedible) is removed from the pot, and a delicious and nourishing pot of soup is enjoyed by travelers and villagers alike. Although the travelers have thus tricked the villagers into sharing their food with them, they have successfully transformed it into a tasty meal which they share with the donors.
Sometimes teams, families, and friends need a catalyst to bring about change. If you have a vision for the big picture and know the right thing to do, don’t be afraid to go for it. People find it easier to join an ongoing success than to create something from scratch. Remember: be a catalyst for change.
Don’t Live with Broken Windows
Bad designs, poor code, and other issues can accumulate over time and lead to a state of disorder. This is known as entropy, and it can affect projects, teams, and individuals. The key is to fix problems as soon as they arise and avoid living with “broken windows.” By doing so, you can prevent entropy from winning.
Remember the Big Picture
It’s easy to get caught up in the details and lose sight of the big picture. This can lead to a narrow focus on small issues while ignoring the larger context. To avoid this, remember the big picture and keep your eye on the ultimate goal.
Your Knowledge Portfolio
As a programmer, your knowledge is your asset. Unfortunately, knowledge is an expiring asset, and you must continuously update and diversify your knowledge portfolio. Think of your knowledge portfolio like a financial portfolio and follow these tips:
- Invest in learning regularly.
- Diversify your knowledge.
- Manage risk between conservative and high-risk, high-value investments.
- Plan for your learning by reviewing your portfolio regularly.
Here are some ideas to help you diversify your knowledge portfolio:
- Read a technical and non-technical book each month.
- Stay current with the latest trends and technologies in your field.
- Participate in meetups
Critical Thinking
We all hear it but barely get to understand how to actually do it. Here are some ways from this book to improve your critical thinking skills:
-
Ask the “Five Whys”: Dig deeper by asking “why” like a four-year-old kid.
-
Think Win-Win: Consider who benefits from a particular solution or action.
-
What’s the Context: “One size fits all” solutions often don’t work. A “best practice” might not be the best practice for you.
-
Use Second-Order Thinking: Consider the second and third-order consequences of a decision.
-
See the Bigger Picture: Consider the underlying model or system and how it works.
Conclusion
Overall, I recommend checking out the full book for more in-depth insights and practical advice. I hope you found it helpful. Also feel free to provide any feedback or suggestions for future posts. Good luck!