Who is a Pragmatic Programmer! In short, it is something every programmer/developer wants to be. So I will not define it in one sentence. Instead, I will demonstrate how you can be a pragmatic programmer, by describing the characteristicsof A Pragmatic Programmer.
If you take responsibility for any outcome, you always should be accountable for it. When you make a mistake, admit it honestly and offer other options. Don’t blame or make up an excuse. Don’t say it can not be done. Instead, give ideas about what can be done to overcome the situation. You may need to learn more about technology, you may need to interact with users, or you may need help from courses, books, or others. Go for it. Don’t hesitate. Believe me, it will be beneficial to you, your team, and your project.
When you have comfortableness with one tech, learn another one. It doesn't matter whether you ever use your learned tech in any of your projects. Just keep learning, it will expand your thinking capacity. Suppose you were working with Java for the last 5 years. Now, you working on a PHP project. You can write the best OOP features which you had learned during the last 5 years, in PHP way.
If somebody asks you a question that you don’t know, admit it freely. But don’t let it stop here. Find the answer by yourself first. If you can’t, find out who can. Talk to other people, it does not matter the others are junior or senior. Just keep discussing with people about unknown problems. It will broaden your network.
If you drop a frog into the hot boiling water, it will jump out. But if you put a frog in cold water and gradually heat the water, the frog will not notice the slow heat increase. It will stay in the water until it is cooked. Moral of this, always aware of what’s going on around you, not just what you individually doing.
Real-world won't let us write truly perfect code or bug-free software. You can write good-enough code for your users, for your own peace of mind. Remember, good-enough code doesn't mean poorly produced code✌.
Programming is similar to painting. When you draw on the canvas, you continuously step back and check with a critical eye to view what you have done. And then you again start painting. But sometimes to make the painting more beautiful, we add layer upon layer and as a result, all the hard work gets ruined. Similarly, don’t spoil a perfect program by overrefinement just to make it best in your eye. Keep your code as it is for a while. It may not be perfect or never be perfect.
If your code has broken windows (poorly written code, bad designs), try to fix them asap. Because the existing broken windows will give you a mindset that, all codes you are going to write will be crap. On the other hand, if your existing code is clean and pristinely beautiful, well designed and elegant, you will likely take extra special care not to mess it up.
Second Part coming soon...🔥
Reference Book: The Pragmatic Programmer: your journey to mastery, 20th Anniversary Edition (2nd Edition) by David Thomas and Andrew Hunt .
Don’t forget to press claps 👏🏼. Make sure to follow my Medium and LinkedIn profile, to get the latest updates of mine.
Happy Learning!