Practical Software Development

Practical Software Development

    • About me
    • Privacy Policy
  • Dependency Inversion Principle

    Dependency Inversion Principle

    In one of my previous articles I made a brief introduction to the SOLID principles for Object Oriented Software Development In today’s article, I’d like to cover the Dependency Inversion Principle (DIP) in more depth, starting by explaining what it is, how it’s supposed to be used, and what are its concrete benefits. What Dependency…

    July 2, 2025
  • Collaborating Through Code Reviews

    Collaborating Through Code Reviews

    In my last article, I discussed how we can prepare our code to run effective code reviews, but that’s only part of the picture. Many developers start their careers without really knowing what code reviews are for. We’re taught how to make code “work”, not how to work with others to make that code better.…

    June 25, 2025
  • Preparing Code for Effective Code Reviews

    Preparing Code for Effective Code Reviews

    Many developers start their careers without really knowing what code reviews are for. Whether we studied at university or joined a coding bootcamp, the focus is usually on learning algorithms and writing code that “works”, while quality and collaboration are seldom covered. It was the same for me when I was at uni. I was…

    June 18, 2025
  • Sequencing Tasks In Collaborative Teams

    Sequencing Tasks In Collaborative Teams

    Having to take on multiple responsibilities at once may be overwhelming. People are really bad at multi-tasking on brain-intensive activities, so finding a way to meet all these expectations may be daunting. The most immediate solution to this is to do one, and then the other, in sequence. Although this is reasonable in some cases,…

    June 11, 2025
  • Why Skipping Unit Tests Is A Bad Idea

    Why Skipping Unit Tests Is A Bad Idea

    Unit tests were introduced about twenty years ago with the intent of improving software quality. They can be tedious, so developers (especially junior developers) tend to avoid them. It is well known that there is a learning curve associated with writing unit tests, and mentoring is essential to build this skill. While working in a…

    June 4, 2025
  • Why Avoid Decision Paralysis

    Why Avoid Decision Paralysis

    Sometimes we struggle with very minor decisions in different settings. A common example of this is when we want to watch a movie and we have not picked one after one hour of scrolling. When we don’t make a decision, we’re deciding not to decide. Sometimes, this is the worst decision we can make. Decision…

    May 28, 2025
  • Making Decisions

    Making Decisions

    Sometimes making decisions becomes difficult due to information overload. We have so many criteria to ponder that it’s hard to decide which option is best, and we end up making suboptimal decisions, or worse, no decision at all. One way to address this problem is through the use of a Decision Matrix (a.k.a. Selection Matrix).…

    May 21, 2025
  • Writing A Blog

    Writing A Blog

    If you’ve never considered writing a blog before, you’re not alone. About a year ago, there was no way on earth for me to be writing one, and yet here I am. My main concern was not finding a topic or the time to write, but rather, why I should spend my valuable time doing…

    May 14, 2025
  • Play For The Team

    Play For The Team

    During my career I’ve seen many teams of different shapes and sizes, and I’ve noticed that the most effective teams are those where people actually care more about their teammates than themselves. Takehiko Inoue shows this very clearly in his best seller manga Slam Dunk, which also happens to be my favourite. This manga follows…

    May 7, 2025
  • Proficient vs Senior

    Proficient vs Senior

    I recently read a post in LinkedIn claiming that the difference between junior and senior developers is how we check if a number is even or odd (I was unable to find that post again to share the link). According to this post, junior developers would do something like: And that instead, senior developers (like…

    April 30, 2025
←Previous Page
1 2 3 4 5
Next Page→