--- title: Why Software Engineering? author: Colton Grainger 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.