My work history

Home

Acivilate

I work for Acivilate, a small startup with an office in the ATDC, in Midtown Atlanta. We are building a platform for Returning Citizens and the people they work with in government and the non-profit sector. I mainly work on the front-end, which is a single-page application written with React, along with a number of companion technologies (e.g. React Router, Relay, mobx).

Because we are a small team actively developing this product, I rely heavily on tools like Jest and Enzyme (unit-testing for React), Flowtype (type-checking for JavaScript), and ESLint (another static analysis tool that enforces code style and other good practices) to move quickly on my development without sacrificing quality.

Here is a list of some of the more well-known technologies I use on the front-end:

  • Babel
  • ESLint
  • Flowtype
  • Jest
  • React
  • Reflexbox
  • Relay
  • Tachyons
  • Webpack
  • mobx

Monsanto

I really enjoyed my time at Monsanto, which has a great developer community, and provides those developer teams with a lot of support. I worked on several teams in the ‘Product Development’ organization, which exists sort of as a consultancy to produce software solutions for Monsanto’s different business divisions. I worked in the ‘Field’ Platform, meaning my business partners were involved with work ‘in the field’ on actual farms or in greenhouses.

I came at a time when a lot of teams were moving from building Java-based software for the desktop towards web-based software, where JavaScript for the client and server was starting to be adopted by many teams. In general, developers on teams were expected to be ‘full-stack’ and adopted to varying degrees processes from Scrum and Extreme Programming (e.g. ceremonies, pair/mob programming, continuous delivery).

I also came in at a time where Product Development was taking cues from other parts of the industry, emphasizing things like product design and user experience, adopting and contributing to open-source software, and leveraging cloud-based platforms (namely AWS and Google Cloud) instead of on-premise infrastructure.

Some of the well-known technologies I used:

  • Angular 1
  • ArcGIS JavaScript API
  • Backbone + Marionette
  • Cloud Foundry
  • Coffeescript
  • Express
  • MongoDB
  • React
  • Redux
  • Redux-Saga
  • Redux-Thunk
  • Restify
  • Scala
  • Solr
  • Spring
  • Swagger
  • DynamoDB

ADM Associates

At ADM, I was a consultant mainly to energy-efficiency program managers at different national utilities. A lot of my time was spent analyzing and visualizing data using Excel and R to produce reports that were filed on behalf of the utility.

It was through writing so much R code, that I discovered functional programming (R has first-class functions and, in some libraries a pipe operator %>% that is like Elm and F#'s |> operator), which got me more interested in other programming languages.

Academia

I earned a M.S. in Applied Mathematics at San Diego State University, where I wrote a thesis on the Braid Group and how to perform computations on such a strange structure (way different than writing programs for matrices or floating-point numbers).

I then started, but did not complete a Ph.D. in Applied Mathematics at the University of California, Merced, where I did work on more traditional types of scientific computing, specifically electromagnetism.

As part of my academic work, I did a lot of coding in languages like MATLAB, Maple, Mathematica, and R. These languages were good for what they were, but did not have (at the time at least) the tooling or features to build complex software (even though people would try!).