Skip to main content

My summer internship experience

00:02:13:59

This summer, I had the opportunity to intern as an App Development Test Engineer at SharkNinja in Boston, and it was an experience that completely exceeded my expectations. Working on the team responsible for the remote control app for SharkNinja’s IoT vacuum robots, which over 4 million people use, was both challenging and rewarding. I was thrown into the deep end, working with Swift, Kotlin, Rust, and TypeScript, which felt overwhelming at first. But as I dug into designing and documenting tests for the app’s business logic, I began to appreciate the nuances of each language, especially when dealing with multi-threaded programming. It was like solving a complex puzzle where every piece had to fit just right.

A big part of my role involved building test suites and plans for the app’s custom API layer. I implemented automated build tools like Bitrise, integrating over 1,000 tests into our CI/CD pipeline. This was a game-changer, reducing manual testing by 40% and speeding up deployment times. Watching the tests run overnight and waking up to the results was oddly satisfying—it felt like I was making a real impact, ensuring our releases were stable and reliable.

Another highlight was working on network-dependent features. My background in HTTPs and REST came in handy here, as I worked on integrating and testing features like robot datapoints. It was cool to see how this work led to a noticeable reduction in system errors. There’s something satisfying about knowing that your efforts are directly contributing to a smoother user experience.

Data-driven decision-making was another key focus during my internship. I spent a lot of time quantifying test coverage, using tools like XCTest and JUnit to generate detailed metrics and graphs. These reports gave our developers clear insights into test coverage, which helped them make informed decisions about new API builds. Learning how to present complex data in a way that everyone could understand was an eye-opener—it’s not just about the numbers but about telling a story with them.

One of the most exciting projects I tackled was writing tests for map polygons generated by Google’s Protobuf library. This was crucial for the robot vacuum’s mapping functionality, allowing it to navigate spaces efficiently. I even got to work with Rust and JavaScript in this context, contributing to a larger effort to migrate the app towards a React Native codebase. It was challenging but incredibly rewarding, knowing I was helping to shape the future of SharkNinja’s technology.

Overall, my time at SharkNinja was transformative. I walked away with a deeper understanding of app development and testing, and a newfound appreciation for automation and data-driven decision-making. It was a summer of growth, learning, and, most importantly, making a real impact on a product that millions of people use every day. I’m excited to take these experiences with me as I move forward in my career.