Carbonite is a software company that provides data backup solutions to individuals and businesses. They have a few product offerings, including Carbonite Endpoint. Endpoint is an endpoint protection software that large, distributed organizations can deploy to protect, backup, and manage the data that exists on that organization’s devices. Endpoint offers features such as advanced administrative control, incremental restore, and most importantly, highly secure protection. Here’s what I have on my resume to represent my time at Carbonite:

  • Contributed to the design and development of the Carbonite Endpoint web-based admin control portal in an Agile Scrum team, primarily focused on API development
  • Designed and implemented automated testing using Python
  • Documented and resolved defects related to the API (C#) and UI (Angular)

Overview

When I worked at Carbonite, I was helping the Endpoint team expand the functionality of their admin control portal. This is the portal that system admins or IT professionals would use to manage users, devices, and backups that were registered under their organization. From my understanding, the portal was making use of an API that my team was responsible for creating v2 of – at least for certain, frequently-used endpoints. There was a surprising amount of complexity to these endpoints, as they had to account for complex organizations of users and role-based access control.

The Endpoint team followed a test-driven development process. I was a Software Engineer in Test on the team, which meant that I worked directly alongside an engineer as they developed. I defined test cases based on the requirements of the ticket, and I wrote automated tests in Python to ensure that the developer’s work was correct and well-implemented. If I recall correctly, we used a homegrown testing library similar to Pytest. My team also greatly prioritized accurate documentation and comments, so there was some time spent refining Swagger documentation as well.

This role also allowed for my first experience with Selenium, as it was sometimes necessary to check that certain conditions and outputs were conveyed accurately in the UI. This was my first time using a browser automation tool, and I thought that it was pure black magic! I would still like to find an opportunity to create something neat with Selenium. Overall, my time spent at Carbonite allowed me to use interesting tools and improve my discipline around automated and integrated tests.