Building new things and enabling products to deliver better experiences to users is the things that makes development compelling for me. This surprisingly leads me to think about testing a lot. Testing enables changes to happen sustainably. With tests I have confidence that the existing product works as expected and guarantees that this doesn’t change as new values are added. The more time I need to manually validate, the less time I have to do the work I enjoy.
I’ve recently been spending some time trying to improve my development techniques and one area I’ve been focusing on improving on is my testing practices. It isn’t obvious to new programmers as to why you might want to start testing your code. After all, if you can test out something that you’ve written that works shouldn’t it always work? Code can usually be assumed to be deterministic right? While that’s generally true with small programs, scripts, and school projects, it doesn’t hold up when it comes to larger programs and software.