Writing software is hard! Whether you’re building an application from scratch or making modifications to the oldest file in a codebase, the process wears on you. Some of the difficulties are fun; you get to fail repeatedly, fix most of your mistakes, and create something amazing all while becoming more experienced and knowledgeable.
But a lot of the difficulties aren’t fun, and aren’t at all specific to the problem you’re trying to solve. They’re related to infrastructure or build tools. They’re an issue with a dependency of a dependency or inscrutable code written well before your time. These types of snags frustrate me to no end and from time to time make me question my life choices.
For my own comfort, I try to approach this with a sense of humor. Joking about deleting all the integration tests is far easier than diving in and actually figuring out why they’re flaky. But the difficulties that come with writing software aren’t a joke. They’re costly to individuals, organizations, and the field as a whole. They create a barrier to entry in a industry that doesn’t need anymore of them.
That’s one of the many reasons I’m excited to have joined the team at Cypress! I was hooked the moment I saw the kitchen sink examples running immediately after installation. For front end workflows, I was able to set up nearly seamless test driven development that I missed from my days of developing SDKs. While it’s still tough for me to write tests for UI elements that don’t exist yet, it’s an improvement to be limited by my imagination instead of my tooling.
I’m only a couple weeks in, but I’m seriously impressed by the team’s smarts, work ethic, and dedication to creating a good experience. I’m excited to get up to speed and get into my groove working on this awesome piece of software!