Joining Cypress

October 24, 2017

By Guest

As a developer, I am always on the lookout for tools and practices that will improve my productivity, help me write higher quality software and increase the enjoyment I get out of my work. When I had the opportunity to use Cypress for the first time, it immediately checked off all 3 boxes for me.

When the opportunity arose to interview for a developer role with Cypress, there was no way I was going to pass it up. The idea of being part of the future of this team and the amazing things they are building was just too enticing!

The interview

Interviewing is rarely fun. It can be quite stressful!

While the interview process I went through for Cypress was certainly not stress-free. It was thorough, but I feel it was incredibly fair and pragmatic.

There was no posturing or trick questions, nor were there any irrelevant academic puzzles simply meant to stump me. Instead, there were real conversations with team members. There was a coding exercise with a reasonable scope that was designed to demonstrate practical skills. Skills that are relevant to this role and this team. I was even given ample time to complete the assignment, allowing me to continue to focus on my family and my current employer.

Once the code was done, we got together again and discussed it. It was a real discussion, not an attack on my code while I defended it. We just talked about code, as developers do. Nothing about the process was rushed or high-pressure.

This was one of those rare interviews where I felt like I had a good sense of what day to day work with this team would be like.

My decision to join the team

Leaving a job and starting another is always a big change, and it’s a decision I don’t take lightly.

I love software development. I love it so much that if I didn’t have to work, I’d still do it. But, I do need to work, so a big part of the decision comes down to how close I can get to that “I’m coding just because I want to” feeling.

For me to get as close to that feeling as possible, I look for a few things:

  1. Will I be excited about the results of my work, and the overall work of the company?
  2. Will I work with people I like and respect, both personally and professionally?
  3. Will I be challenged and to have opportunities to learn and grow?
  4. Will I feel like I’m contributing, in a meaningful way, to more than just the code?
  5. Will I be able to focus on my work, but also relax and spend time with my family without constantly feeling the stress of the past day or week?

I decided to join the Cypress team because I believe in this role, the answer to all of those questions is a resounding “yes!”.

In terms of being excited about the results of my work, that is pretty much a given. I am very excited about Cypress. I loved using it the first time I had a chance, and I’m eager to get more involved in building it.

Having met Gleb in person prior to the interview process, and after talking to several team members throughout the process, I was confident I would like my new team. After meeting the entire team in person and spending some time with them, I can confirm that to be the case.

Cypress is far from a typical web-based CRUD app. This is very different from most of the work I’ve done in the past and as a project, it is quite ambitious. There will be more than enough challenges here to keep me learning and growing for years to come.

I’ve only been here for a few weeks, but I already feel like I’ve gotten to contribute to Cypress in a meaningful way without committing to the codebase. I love that!

I’ve worked remotely before and I know from experience that remote work has some big advantages. Remote work means I can work where I’m most comfortable. Not having to rush out the door every morning to beat traffic or find a seat on a train means I get to spend more time with my family. As a result, I start work more relaxed and focused. I get more done and have a strong sense of accomplishment at the end of the day. All of this means when I’m not working, I’m more relaxed and have more energy to focus on non-work activities.

Ultimately, it was this great mix of team, environment and product that made this an easy decision for me.

So far

The entire team came together in Atlanta during my first week. It was great to meet the entire team face to face! We spent a lot of time talking shop, working together and did a little socializing as well.

My onboarding has largely been about getting to know the product at a deeper level. I’ve been writing tests in Cypress and poring over the documentation. During this process, I’ve been able to look at things with fresh eyes and provide feedback here and there.

I’ve also started working on some screencasts and small changes to the docs to help people get up to speed with Cypress. The first one is great for beginners and coincides with the “Writing Your First Test” guide in our docs. I’d love for you to check it out and let me know what you think!

‘Writing Your First Test’ screencast walks you through installing Cypress via npm, launching the Test Runner and writing your first passing tests.

What’s next?

I have some more screencasts in the works, so that is where a lot of my focus will be for the following weeks, but I will continue to get up to speed on the project so I can start digging into some exciting new features in the near future.

I am really happy to be part of the Cypress team and I am confident that we are going to do some really great things together!