Technologies: Ruby, Go, (a teensy bit of) JavaScript
My summer at Rainforest was an exciting and pretty amazing experience thanks to a combination of the people, culture, product, and work I did there. As Rainforest is a fairly small start up that is a B2B company, I think I got a pretty unique perspective of the industry.
For some context, Rainforest (RFQA) is a quality assurance (QA) company that maintains an interface that lets other SaaS companies run tests and more or less do QA much more easily, with actual human testers around the world doing these tests.
As an (well technically, only) engineering intern, I joined the backend team to do a variety of tasks. From bug fixes to engineering tasks to my big project, I dove into more parts of the product than I thought I would at the outset. The bugs I looked into included correcting client side notifications and internal product errors for the web application. My tasks included adding certain features to Rainforest's custom command line interface. This CLI is a way for the client side developers to interact with Rainforest's product without the web interface. One feature flag was a way of organizing/viewing/running groups of tests that clients wrote. The second was a debug flag that returned information about HTTP requests to allow developers to see where things might go wrong.
My big project was coding up the backend support for a feature would reduce a pain point clients had with the previous interface (the company was in the process of moving to a version 2.0 during my time there). I was more or less making part of the test results page that clients saw more accessible and easy to use. This page includes step by step screenshots of what a human tester did during the test, as well as a link to a downloadable video of all their actions. The video had no way of delineating between different steps, and did not stream directly in the browser. I did a bunch of research and pored through the code base to figure out the best way to approach adding markers throughout the video and getting it to stream.
By the end, I had the backend set up for the front end team to use--and actually had the opportunity to create a basic version of what the UI would look like with some React.
(P.S. I got do to a small design project under the mentorship of the company's resident product designer as well, so that workflow will show up on this site at some point too.)