There are problems that require specific solutions, and problems that require generalizable solutions. This article is aimed at the latter, using python as an example. When building out large systems, it’s important to keep in mind the DRY principle — Do not Repeat Yourself! Repetition in a code base can turn a simple change into a tangled mess befuddled by human errors — hence, spaghetti code. One way to reduce repetition in a single code base is through modularizing functionality — by decomposing repetitious code into modular functions, an update to a single function can replace the arduous task of…


Maybe not always fun, but certainly fulfilling.

“Open source” is one of the oldest buzzwords in software. Unlike other software buzzwords, however, open source has remained relevant for almost 30 years — almost every major modern software package uses open sourced components in some form or function. The invaluable work of open source contributors has propped up some of the most important pillars of our digital infrastructure — ranging from GNU/Linux, the operating system that runs 68% of all web servers, to WordPress, the content management system that powers approximately 31% of all websites.

Before proceeding, I think it’s important to clear up what this article is…


In order to identify and deliver commercially viable products for our growers, Indigo’s Research and Development teams analyze bacterial and fungal microbes through bioinformatic analysis tools at scale. In order to deliver the scalability and efficiency required to support the high throughput nature of Indigo’s R&D pipelines, the Biomation team has built out cloud native solutions through AWS.

The tools that Biomation builds infrastructure around are written by Indigo’s data scientists, usually in the form of python modules. These tools require varying amounts of compute resources, making it difficult and highly inefficient to run these pipelines locally. Difficult because every…


One of the most effective ways to develop your skills as a Software Engineer is by familiarizing yourself with design patterns. You might have some understanding of patterns that already exist from projects you’ve worked on or used, but the mark of an effective problem solver is a deep and insightful repertoire. A deep repertoire ensures that you as an engineer arrive at the best fitting solution for a given problem. It’s often the case that an engineer will apply one generalizable solution to a wide suite of problems — while this might solve the immediate problem, if this solution…


A retrospective on my undergraduate thesis work in Computer Science at Middlebury College.

As part of my undergraduate thesis work, I explored the how deep neural networks (DNNs), particularly convolutional neural networks, could be accelerated via parallelization. The full text of my thesis can be found here. Writing this thesis allowed me to focus on an area of machine learning that I find incredibly interesting:

How can machine learning methods such as DNNs scale in a way that facilitates training increasingly complex models on less powerful hardware?

DNNs are wildly popular, to the point of becoming a buzzword. Deep learning…


Several months ago, I sat at my computer and watched in disappointment as Facebook shut down Parse for good. As someone who was just getting used to writing dynamic web applications, this was horrible news. Parse was a backend-as-a-service, and provided a streamlined process for developers to get their apps up and running very quickly. Complete with a robust relational database, Parse was the perfect tool for a student like myself. After Parse was officially shut down, I thought about looking into the open-sourced Parse server, but the ease that Parse provided in the past was gone.

I took this…


Data science is a fascinating field, and engineers need a fundamental understanding of data in order to create more impactful platforms. Last weekend, my team and I entered the DataFest 2017 hackathon here at Middlebury — DataFest was our first forray into the world of Data Science, and allowed my teammates and I to exercise the skills we’ve refined in other domains (our team consisted of majors in Biology, Math, and Computer Science). Ultimately, we feel as though the diverse academic interests of our team culminated in a more thorough anlysis. This year’s data set was provided by Expedia and…


Navigating the transition to college and beyond on your own terms.

This time last year, I found myself in a position similar to that of many High School seniors — I was trying to balance my social life, school life, and college admissions responsibilities on a single plate. The burden was at times so great that I almost felt guilty hanging out with friends or taking time for myself. The extent of all the work I would have to do in the coming days and months always buzzed in my mind like incessant wasps, muddling my sense of purpose.

Of…

Aumit Leon

Software and things

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store