Why Software Engineering?

date: 2020-05-12

Because I want to contribute to a community of creative individuals in my hometown, Boise, I intend to pivot in my career trajectory to take an engineering position developing software and manipulating exotic datasets, rather than returning to graduate school at CU Boulder this Fall.

My immediate qualifications include

  1. a year of professional software engineering experience at the National Center for Atmospheric Research and
  2. background in mathematics and data science that drives me to produce high-quality software.

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

For example, at NCAR, I worked independently under two project scientists on the reduction of meteorological data from binary image files using Python and SQLAlchemy. Starting from scratch, 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 (meteorological time-series) metadata, and I developed this workflow to completion over a year.

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.

For example, I am confident that I could (i) quickly assimilate technical domain knowledge; (ii) proactively investigate and solve issues arising from questions posed by clients; and (iii) design well-documented data processing workflows.

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