Symptoms, not Causes: Addressing Some Common Complaints about Git Rebase
This article is based on a LinkedIn comment I wrote in response to a comment mentioning the following two problems in relation to Git Rebase:
This article is based on a LinkedIn comment I wrote in response to a comment mentioning the following two problems in relation to Git Rebase:
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 OneD...
If you use Git in the command line, when using commands like git diff and similar ones, it does a line-by-line diff by default. This is also what most pull r...
This is a misconception that I’ve seen or heard many times, sometimes almost in those exact words.
Intentional commits is the term I use for habits and workflows that help with creating Git commits1 exactly the way we intend to. The opposite are incidental...
Many developers are unaware that there is a quasi-standard convention for commit messages originating from Git itself and the Linux kernel. Following this co...
Commits should be atomic, but the common advice to only separate refactorings from new functionality does not cover the whole spectrum. I use four main categ...
Have you already read part 1?
There are some features in IntelliJ that I consider rather foundational, but I often see the average developer not using them and doing things the hard (and ...
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...
Your team is doing feature branching and pull requests, but the code quality is still subpar? What many people don’t know: The code reviewers are simply appr...
No more “pressing up arrow 20 times”!
You recently ran a long shell command that you need to run again, like mvn -D test -lots-of-more-options?
When pair programming, I occasionally see software developers with a full inbox. Like, literally hundreds or even thousands of unread emails amassed over mon...
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 desi...
The SOLID principles for software design can be a helpful thinking and communication tool of a software developer, even if perhaps just as a reason to think ...
The Single Reponsibility Principle (SRP) is commonly misunderstood1. Often you might hear explanations like “a class should do only one thing”, sometimes eve...
Technical empathy is one of those concepts that seemed so obvious once I was aware of them, and yet it was quite a revelation when I first heard of it from M...
You might be familiar with the Single Responsibility Principle (SRP), one of the SOLID principles coined by author Robert C. Martin. The SRP states that “A m...
People refer to all kinds of changes to existing code as refactoring, which is a common case of semantic diffusion.
People in the tech industry infamously like acronyms. So much indeed that they sometimes turn perfectly normal words into something that looks like an acrony...
The term is sometimes used to refer to a specific and opinionated way of writing code, the one described in the popular book “Clean Code” by Robert C. Martin...
In the past, my advice for effective code reviews was something along the lines of:
Imagine this scenario: A restaurant cook learned from their grandmother the secret of her tasty soup. “Always put a tablespoon of salt in your soup”. And so ...
I learned about EqualsVerifier from a technical coach I know. A few months ago we met (not for the first time) at a conference we both spoke at, and after a ...
Mutation testing is a technique for analyzing the quality and effectiveness of your tests. Despite being very simple to set up (at least in Java) and able to...
Every time I see someone advocating for inverting the test pyramid, or testing everything with slower, more flaky higher level tests, it’s well intended but ...
I discovered some nice features in JUnit 5 that I haven’t really seen before in the wild, so I thought I’d share them with you.
Intuition: “Integrating more frequently causes more merge conflicts.”
The terms CI (continuous integration), CD (continuous delivery), and the umbrella term CI/CD are often misunderstood and misused. Many think that continuous ...
CI/CD is something you do, not something you have.
Following are some thoughts I recently had about cargo cult and Brandolini’s Law in software development.
A DevOps team is a development team that practices DevOps. It is not an operations team that handles deployments and build pipelines, monitoring, infrastruct...
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 s...
Did you know that IntelliJ can render documentation directly within the IDE? I discovered this a few weeks ago and have used it since. I think it’s a vastly ...
Did you know that roughly 1 in 12 men are affected by red-green color deficiency? That’s about 8 percent of men and between 4 and 5 percent of the population...
This post is based on an answer I posted on Stack Overflow. The code example was submitted as part of the question by Bruno Rozendo under CC BY-SA 3.0. Note:...
At the beginning of a new project, when the team (or the team lead) chooses a coding style, a common approach is to use a popular style guide for the program...
Intro
Intro
Originally posted on Code Review Stack Exchange on 07.09.2021. Question asked by user “DexMax” and licensed under CC BY-SA 4.0. Answer provided by me and lic...
After a long time, I once again did a few code reviews on Code Review Stack Exchange. One of them (a beginner’s implementation of a rock-paper-scissors game)...
“Git,” the name of the popular version control system, is not an acronym but an English slang term chosen by developer Linus Torvalds. Many incorrectly spell...
This is probably one of the most common narratives against TDD (test-driven development) that I hear. It’s often stated by developers who may have shortly tr...
Based on my observations and experiences others told me about regarding different kinds of technical leads or lead developers (including myself in some small...
In this series, we will look into what games and game engines do to create those neat graphics effects that add to a game’s realism and/or aesthetics: Effect...
This article is work in progress. Originally published on 2026-01-25, I still have a lot of things I want to talk about, but maybe you already find it valuab...