Tag: tools

  • 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).…

  • SOLID Design Principles For Object Oriented Software Development

    SOLID Design Principles For Object Oriented Software Development

    Writing good software is not just about having it working with all tests passing. This is not enough. We also need to ensure that what we write can be easily changed. Many systems fail because they can’t be changed. I know of a company that acquired a system to complement its offering. Although the system…

  • Coding with AI

    Coding with AI

    AI is not leaving us anytime soon. Learning how to use it properly is a must-have skill for software developers. I do not consider myself an expert, but I have experimented with this tool long enough so I could share some insights into how to make the best of them, and when it’s best to…

  • Finding Bugs With Git

    Finding Bugs With Git

    Throughout my career, I’ve occasionally been tasked with identifying and fixing bizarre production bugs. I talk about those issues where logs provide little insight, and debugging is neither straightforward, practical, nor efficient. The first few times I encountered such problems, I spent many hours reading code and trying to debug, only to get closer, but…

  • Clean Commits With Git

    Clean Commits With Git

    If you have ever inspected the Git history of some of your projects (doing git log) I am sure that you may have encountered something like this in your main branch: This looks really unprofessional, but the problem goes beyond aesthetics. Having poor descriptions like this is a problem that is more common than it…

  • The Secret of Good Demos

    The Secret of Good Demos

    Before the rise of the agile framework, software development was primarily done using traditional project management methodologies, such as Waterfall. Once the product was ready, the product demonstration, or demo, would be the meeting that determined whether the customer was happy with the final product or if the team had wasted months, if not years,…

  • The impact of mastering our day to day tools

    The impact of mastering our day to day tools

    Would you like to be a more effective software developer? Do you see some of your teammates delivering feature after feature, and you wonder how they do it? When I faced this dilema many years I thought just by coding I would be able to achieve this. Although this is in part true, later in…