The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition
Today I finished The Pragmatic Programmer: your journey to mastery, 20th Anniversary Edition (2nd Edition). This is one of the 2 books that I have been procrastinating for two decades to read. The other book is The Mythical Man-Month: Essays on Software Engineering. When pragmatic programmer came out 20 years back, it was a phenomenon on its own! Numerous books, articles, and ideas have been generated out of it. This new 20th-century edition that just came out now will attract similar attention from the industry.
Here are some of the useful ideas outlined in this new edition.
1) Try to be aware of the bigger picture -
- think beyond the immediate problem
- place the problem in its larger context
2) Take responsibility for everything you do -
- don’t allow projects to fail through neglect
- don’t be afraid to admit ignorance or error
- be responsible for yourself, your career, your project, your day-to-day work
3) Provide options instead of excuses -
- analyze the issue
- find alternative options or solutions
- explain what can be done to resolve it
4) Address software entropy (disorder) -
- broken window theory
- fix issues when it is discovered
5) Develop well, based on what you know for sure and how to do it
6) Develop good enough software -
- involve your users in the trade-off
- don’t’ develop ignoring user requirements
- make quality a requirements issue
- no code is perfect; so don’t spoil it by over-engineering and over-refinement
7) Build your portfolio -
- invest regularly, update knowledge
- diversify your technical skills
- experiment with different environments
- manage risk: don’t put all your technical eggs in one basket
- learn an emerging technology before it becomes popular
- review and rebalance your skillset to stay current
- learn a new programming language every year
- read a technical book every quarter
- take classes
8) Communicate well -
- know what you want to say
- know your audience
- choose your moment
- choose a style and make it look good
- involve your audience, be a listener, get back to people
I am a Java programmer currently working for Salesforce.com in San Francisco, California, USA. I finished my MSS in Economics from University of Dhaka, Bangladesh and two years Software Engineering Diploma from NIIT. After working for more than 4 years in various outsourcing and local projects back in Bangladesh, I came to USA on H1B visa at early 2005. Other than my passion for computer, internet and online community, I am a passionate chess player with my current USCF chess rating of 2022. In USCF terms I am a Candidate Master or Expert. I have also picked up hiking as a hobby lately. I love to travel around, read books and write blogs. Read my IT thoughts at https://ashikuzzaman.wordpress.com, online diary of regular events at http://ashikuzzaman.blogspot.com and chess endeavors at http://dragonbishop.blogspot.com . View all posts by ashikuzzaman
Originally published at http://ashikuzzaman.wordpress.com on May 9, 2020.