Raimund Krämer

Software Craftsman, Consultant, Coach

Tag: software craftsmanship

  • The 2 IDE Shortcuts You Should Know and Use – But Probably Don’t

    There are two keyboard shortcuts that I recommend to other developers all the time. You don’t need to know every keyboard shortcut, and for things you rarely need the time saved compared to clicking is minimal, but these two really make a difference. I’m talking about Search Everywhere and Context…

    Read more

  • Refactoring (Mis)understood

    Refactoring (Mis)understood

    People refer to all kinds of changes to existing code as refactoring, which is a common case of semantic diffusion. Like many terms in software development, “refactoring” is often used very loosely by practitioners. Martin Fowler Refactoring: Improving the Design of Existing Code (p. 45).Pearson Education. Kindle Edition. If you…

    Read more

  • Cargo Cult in Software Development

    Cargo Cult in Software Development

    The phenomenon of cargo cult is very common in the software industry. With this article I want to raise awareness for the problem of cargo cult and provide some examples of topics that are (in my experience) especially prone to it. The goal here is not to educate about those…

    Read more

  • The Purpose of Getters and Setters

    The Purpose of Getters and Setters

    First of all, I don’t advocate for getters and setters at all. Don’t use them (especially setters) if you find an alternative. There usually is a better design. I won’t go into that here. I want to focus on a bigger, very common problem: Many of the people who use…

    Read more

  • Effective Git: Beyond the Basics

    Effective Git: Beyond the Basics

    We all have to start somewhere. For most of us, our Git journey begins with about 5 commands and the mental model of a file-sharing tool like Dropbox or OneDrive: Upload my files, download my colleagues’ files, maybe resolve a conflict now and then (“use mine”). This is fine, we…

    Read more

  • The CI/CD Misconception

    The CI/CD Misconception

    The terms CI (continuous integration), CD (continuous delivery), and the umbrella term CI/CD are often misunderstood and misused. Many think that continuous integration is primarily about automation and tooling, i.e., having an automated build pipeline, often evidenced by them referring to their pipeline as “the CI”. They are unaware that…

    Read more