Software engineers tend to have a good grip on reality, largely because they live in a constant feedback loop between their mental models and reality. If their understanding is wrong, the code quickly exposes it by refusing to behave as expected. On our side, many people spend a lot of time thinking, but they rarely test their mental models against real-world applications. A software engineer’s mind is continuously trained and corrected by reality, while others may simply drift through their thoughts without ever checking whether their ideas actually align with the world.