I'm finally embracing testing to keep myself sane
My personal project is pushing me over the edge to finally understand and embrace software testing
I’ve been a web developer for a fair bit – since 2016, to be exact. And since early in my career, I've bumped into the concept of software testing and TDD. Testing was always presented as the thing you, as a programmer, should do to build robust software. But to me? Even though I recognized its necessity, it always seemed boring and annoying. I just never had the will to actually master it.
I’ve worked on projects that grew in size and written my fair share of buggy code. Yet, I always convinced myself that it was too late to introduce testing. I'd think, "I might as well put the effort into finishing this and just do it right next time."
Spoiler alert: I never did. Every "next time" is a shiny new project with that fresh excitement – the kind you don't want to dilute by writing tests. Because you're so busy cranking out "actual" code, right? And once that initial spark fades, you're even more likely to avoid testing because it felt like a daunting task in the first place. Ugh.
The same thing happened when I started working this month on what I plan to be my first software product (create your stack app), which is increasingly getting more complex by the day. I did make the right call to lean heavily on TypeScript’s typing system to avoid as many footguns as possible. But I think I’m finally at the point where I truly recognize the importance of introducing testing to the project.
This project has many moving parts, and changes in one area ripple through the rest. Even though I'm still early in developing my MVP, I feel the complexity is growing exponentially with each new piece I add. I can already anticipate the upcoming nightmare of maintaining this project once it grows into a usable product. That's when I realized that testing is inevitable. Otherwise, I seriously think this could drive me insane.
However, I still have this lingering feeling of testing being this scary part of software development that's far from my type. But recently, I heard Alex Hormozi say: “Fear only exists in the vague, it doesn’t exist in the specific.” And you know what? He's right. I admit that I’ve never actually committed to learning testing. I don’t know my head from my feet in that area, which is exactly why I’m so scared to dive in now.
So today, I’ve made the decision to embrace software testing. Not by immediately implementing it, but by first understanding it – and understanding it so well that it becomes just another tool in the software development toolbox. Then I know I can introduce it to my current and future projects with confidence.