Until they’re not, and every change you make to the system has a 50-50 chance of blowing up in your face. Maybe not immediately, maybe not tomorrow, but it will eventually.
Writing tests costs time. Sometimes it costs more time than writing the actual code. But it’s worth every single minute you spend on it.
The more complex your code, the more different ways there are to go through it. There are different paths, conditions, and inputs that run through your code. Each one, executing it slightly differently.
When something changes over here, it might change something over there. Most likely you work in a team and there is no way you have the whole codebase in your head. And so you need an assistant. You need someone who will test your code - all of it, every single line, on every change and tirelessly point out every single issue. You need tests.
What are you working on? Are you testing? If not, what’s stopping you?
Photo by Wonderlane on Unsplash