Industries like production and lab testing are progressing toward a more machine-centered and automation-focused route as technology advances. This summer, I had the opportunity to work as an automation engineer at a lab testing facility called SummerBio. We automated the testing for the Covid-19 virus that has engulfed the world.

My task on the team as an engineer was diverse - as a startup, SummerBio did not have many engineers to work on different projects as a specialized group. In a way, this led me to learn a lot more about the distinct factors of running an automated facility in a lab setting. The biggest goal of the engineers in the team was to increase the throughput of the machines. Most of the processes were already automated and running at max capacity. The engineering team mainly worked on fixing human errors and protocol improvements of the testing rig. Since the entirety of testing for covid-19 cannot be automated, some human errors occur. I was given tasks that had to do with eradicating these human errors or reducing them by a significant margin.

Image processing and automation of tasks requiring humans in the testing routine meant a significant increase in throughput. For example, developing a machine capable of detecting capped vials in a testing rack provided a massive increase in throughput. The most common problem of the testing routine was the failure to unscrew a vial cap - not noticing it until it halted the protocol for a prolonged amount of time. I was given multiple cameras and prompted to create numerous iterations for the same project with different approaches to determine the best method to employ in the protocol. It was exciting to test multiple different image processing algorithms to achieve the same goal using image processing.

Other than that, I was given different tasks that indirectly impacted throughput. Developing visualization applications for the machine's current status was an add-on to the system that helped the lab assistants easily grasp when to perform certain tasks, such as replacing/filling the reagents needed for the testing routine. For example, I created a WPF application using C# to take RS232 inputs from a scale and display the remaining contents of the reagent bottles. They included audible and visual alarms if the assistants did not notice the levels getting below the threshold. This led me to learn a lot more about MVVMs and designing a usable UI - as well as the troubles of being a designer with not a lot of direction to what your customer needed. I was also involved in creating debugging tools for other automation engineers to quickly understand where an error occurred in the system. Most of this was a form of text analysis, which was a great exercise to practice some DSA skills.

Overall, I think this experience as an automation engineering intern led me to learn a lot about different aspects of engineering, starting from embedded systems and backend programming to front-end design and user experience. My team was very open to me working on a diverse development area to fulfill my wishes to experience many varieties of being a software developer. I believe it got me thinking a lot more about what I want to be in the future and what I want to focus on as an engineering with computing major.