My journey to Cypress

April 18, 2022

•

By Christopher Baus

Hi, I'm Chris Baus. I am a Sr. Engineer Manager at Cypress currently working on Cypress 10 and our Component Testing offering. I joined Cypress about 4 months ago because I saw a need to improve not only the lives of Engineers writing tests, but also to provide better results for their managers.  

About 4 years ago I was at a crossroads in my career. I had multiple years of software management experience, but it seemed the positions I was being offered were in older server side projects, and developed in technologies like Java and .NET. Nothing against those languages — I used them for years with great success, but I saw the industry was quickly moving toward dynamic client side rendered applications and I wanted to jump onboard.

I took about 6 months and trained myself in JavaScript and React, and I made the hard decision to pass on a management position (working with legacy technology) to take an engineering position with a fast growing start-up. It is a decision I don't regret.

In that position I went deep into the JavaScript and Vue world. I worked with some extremely talented engineers and learned a lot, but something didn't seem right. We were spending a lot of time writing "unit tests" in Vue Test Utils, but we still had a lot of bugs. To make things worse, when we had to make changes to architecture it meant re-writing potentially hundreds of tests. To me,  it felt like our tests were hindering rather than helping us.

At the same time, we started introducing E2E testing. That's when I learned about Cypress. I immediately fell in love with the elegance of it. It seemed like a new way of thinking compared to the unit tests we had been writing.

Fast forward two years, I was managing teams of engineers working in Vue and RoR using multiple different testing tools. As a manager I knew my teams were spending a lot of time on testing, but it wasn't clear if those tests were even effective. Once again, it felt like our testing tools were hurting us and not helping.

Then something happened. About six months ago, I was contacted by a recruiter. Generally I ignore cold job inquiries, but the recruiter was from Cypress. Based on my last two job experiences, I knew something had to be done to improve the lives of engineers and those managing engineers when it came to testing.

Today, I'm overseeing the rollout of our Component Testing offering, and I couldn't be more excited. The team includes experts in this area, including the current maintainer of Vue Test Utils. It’s interesting how life can come full circle.

So why Cypress Component Testing? Well, by focusing on what components do and not how they are implemented, Cypress Component Testing addresses many of the problems I witnessed in my previous roles, including:

  • Cypress Component Testing makes it easier for developers to write relevant tests by focusing on what really matters - the behavior of components.
  • Because Cypress Component Testing focuses on behavior not implementation, it makes refactoring much less costly.
  • As a Front-end Engineering Manager, Component Testing also makes effective use of my team’s time by avoiding the details of lower level testing tools, and allows systems to more easily adapt over time  

We still have a lot of work to do, and I look forward to sharing the details with you. I hope to work as a partner to improve your team’s testing experience and we continue to push toward the future of automated testing.