Book Review and Takeaways: (The Pragmatic Programmer - Your Journey To Mastery)

Detailed Pragmatic Programmer Tips Series: Part 1: Becoming a Pragmatic (Better) Programmer - Part 1 (Intro, Team Player) Pragmatic Programmer Book Book introduction “The Pragmatic Programmer: Your Journey To Mastery” by David Thomas and Andrew Hunt is a classical book published in 1999 and is a book about how to become a pragmatic programmer. Which really means a ‘Good Programmer.’ Yes, it was published about 20 years ago. But this book still provides many insights that are very relevant to programmers or software engineers, as some people might call them these days. ...

August 26, 2025 Â· 3 min Â· Saiful Islam Rasel

Becoming a Pragmatic (Better) Programmer - Part 3 (Decouple, Concurrent Coding, Project & Team)

Other Parts of This Series: Part 2: Becoming a Pragmatic (Better) Programmer - Part 2 (Design, Implement, Debug) Pragmatic Programmer (Photo Credit: Unsplash) Story Remember the guy Ismael from the previous part? He was good at broad-level thinking while coding and efficiently designing software. Today he shares some tips and tricks for making code decoupled and concurrent. Decouple and Concurrent Coding Tips Maintain SRP (single responsibility principle) and reduce inter-component dependency, because decoupled code is easier to change. Depend on internal state, not external, which means call some component, and this will tell something. But don’t ask external components for internal decision-making. Don’t chain method calls to do something; instead, create a pipeline based on data. Avoid global data; if it’s extremely important, then wrap global data into an API. Use well-designed patterns and programming paradigms according to business needs. Don’t pay inheritance tax, which means avoid inheritance as much as possible. Use interfaces to achieve polymorphism. Prefer composition over inheritance, meaning create Has-A relationships, not Is-A, whenever possible. Frequently changed values should be parameterized using an external configuration service. Analyze workflow to improve concurrency. Use an activity diagram for better understanding of concurrent workflow. Be very aware of the shared states, and remember random failures are often concurrency issues. Use blackboards and pen and paper for high-level analysis of workflow. Story Osama is an experienced software developer currently playing the team lead role. But despite being a team lead, he is actively coding regularly. Because he loves coding. He has a very good track record of following good coding practices and is also known as a “pro-coder” in his colleagues’ circle. ...

August 25, 2025 Â· 4 min Â· Saiful Islam Rasel

Becoming a Pragmatic (Better) Programmer - Part 2 (Design, Implement, Debug)

Other Parts of This Series: Part 1: Becoming a Pragmatic (Better) Programmer - Part 1 (Intro, Team Player) Part 3: Becoming a Pragmatic (Better) Programmer - Part 3 (Decouple, Concurrent Coding, Project & Team) Pragmatic Programmer (Photo Credit: Unsplash) Story Ismael gets hired by an established IT company as a senior software developer. He has worked on several projects and in various business fields throughout the years, gaining expertise and experience. Based on his skills and experience, he keeps a respectable approach when designing or programming a system. ...

August 24, 2025 Â· 4 min Â· Saiful Islam Rasel

Becoming a Pragmatic (Better) Programmer - Part 1 (Intro, Team Player)

Other Parts of This Series: Part 2: Becoming a Pragmatic (Better) Programmer - Part 2 (Design, Implement, Debug) Pragmatic Programmer (Photo Credit: Unsplash) Story Sajjad is an experienced programmer who has worked in the software industry for many years. He tries to be skilled and make himself fit for use in any situation and any kind of project. He always works to sharpen the basic knowledge and not be dependent on any particular tools or technology, but rather always try to choose good tools and technology that are fit for that particular scenario. He observes some common characteristics that great (pragmatic) programmers hold. Like they are early adopters or fast learners, critical thinkers, rethinkers, and realistic. Some of them are jacks of all trades. So Sajjad also keeps these characteristics, keeping the attitude and philosophy of approaching problems and solutions like a pragmatic programmer. ...

August 23, 2025 Â· 4 min Â· Saiful Islam Rasel

We use cookies and technologies like Google Analytics and Microsoft Clarity to understand how users interact with our site and improve your experience.