Software Engineering Personal Statement

date: 2020-05-12

In light of COVID-19, and because my career goal is to contribute to a community of creative individuals (e.g., meteorologists, musicians, or applied mathematicians) I intend to take a position developing software and manipulating exotic datasets beginning Fall 2020, rather than returning to complete my Ph.D. at CU Boulder.

My immediate qualifications include

  1. a year of professional software engineering experience at the National Center for Atmospheric Research;
  2. background in mathematics and data science that drives me to produce high-quality software; and
  3. domain-specific enthusiasm for exotic data, copyright law and the distribution of creative works.

While I am well-equipped to work independently, I am new to software engineering as a collaborative process.

At NCAR, I worked independently under Tom Cram1 and Matt Mayernik on the reduction of meteorological data from binary image files using Python and SQLAlchemy. I designed a metadata schema and ingest system for a ~60 TB collection of scanned documents to reduce each ~6 MB image to about ~2 KB of metadata.

For collaboration and project management, I’ve used org-mode, git issues, and kan-ban style boards. Though I have only a few months’ experience working with teams to plan and prioritize a backlog, I am endearingly hopeful to have more soon.

Doing mathematics, I learned how to have problem-solving conversations with myself and others; doing data science, I learned additionally how to describe and implement a solution in its domain-specific language.

I am confident that I could both “create and sponsor new concepts” and “proactively investigate and solve technical issues”. For example, I happy toggling between object oriented and functional programming paradigms.

Having been a student and an amateur DJ for as long as I can remember, I suppose I have done just about everything described in Daft Punk’s Technologic to every MIME type of data described in the RFC 6838.

At least I have the decency to know I’ve plagiarised2 nothing. But, in all seriousness, aside from successfully implementing a RESTful API, I have wielded audacity, mixxx, alsa, hydrogen, json, requests, youtube-dl, nginx, exiftool, easytag, ffmpeg, pandas, NumPy, etc. to create, acquire, modify, deliver, and destroy digital content and its metadata. Specifically, I used exiftool, pandas, and NumPy in the image processing workflow at NCAR. As an example of how I might use these otherwise illicit skills for good, I am confident that I could “monitor content delivery processes and queues” while “troubleshooting and resolving issues” arising therein.

To be explicit. A subset of the tag cloud of technical tools I am confident using professionally looks like: apache, bash, git, debian, gcloud, pickle, MongoDB, MySQL, nginx, numpy, pandas, PostgreSQL, python3, scipy, SQLAlchemy, and unittest. I would need to “book up”, but I could also use: C, Java, and Amazon Web Services.

notes

  1. Tom can be contacted at tcram@ucar.edu. https://staff.ucar.edu/users/tcram

  2. Gotta give credit where credit is due. Beyond that, I interpret the definition of fair use in 17 U.S. Code Sec. 107 rather broadly.