Erik Johnson

resume@erikj.me

Full-Stack Software Engineer / Generalist Specializing in Ruby on Rails

Experienced software engineer with a passion for providing robust solutions built with contemporary technologies and practices. Interested in emerging technologies, containers, DevOps, weather / environmental / scientific data, Raspberry Pi, time-series databases, geospatial data. I have a passion for learning and applying new things and sharing what I've learned with colleagues and learning from them.

Education

Master of Science, Physics, West Virginia University

Bachelor of Science, Physics, Departmental Honors, Mathematics Minor, Truman State University

Experience

National Center for Atmospheric Research (NCAR), Boulder, CO

Software Engineer III, 2013 - present

Software Engineer II, 2011 - 2013

Designed, developed and deployed customizable, responsive, mobile-friendly web applications, gems and utilities for NSF atmospheric-research field projects using Ruby on Rails, Rails generators, Rspec, Ruby Minitest, Cinch IRC-bot library, Docker, Docker Compose, MySQL, JavaScript, CoffeeScript, AJAX, Haml, Bootstrap, OpenLayers, OpenStreetMaps, jQuery UI, Twilio, Backbone.js, inReach GPS devices and inReach Outbound API.

Developed, maintained and administered web application for requesting scientific facilities, using Ruby on Rails, third-party REST API, Nginx, Docker, PostgreSQL and CoffeeScript.

Performed cross-browser, cross-operating-system (OSX, Linux, Windows, Android, iOS) QA of developed web applications using virtual machines, simulators, emulators and mobile devices.

Developed and supported custom Vagrant boxes and Vagrant-based development workflow using Packer and Puppet.

Developed and supported Docker images following a number of different patterns and for a variety of use cases.

Supervised and mentored junior staff, providing guidance in Ruby, Rails and software-engineering practices.

Zeitbyte, New York, NY

Systems Engineer / Administrator, 2009-2011

Developed log-processing application in Python w/ FTP, Geo-IP, MySQL APIs and regular expressions to download and parse CDN log data. Refactored MySQL schema to optimize relational integrity and performance.

Administered database and web servers in QA and production: managed and optimized daemon configurations. Developed and deployed Ruby-on-Rails application to popular social-networking site using social-networking API and mark-up language.

Developed and managed software to backup log files and database dumps and upload to AWS S3.

Deployed and maintained Subversion version control, Redmine project management and Nagios monitoring systems on AWS EC2.

Independent Consultant

Application Developer, 2001 - 2002, 2009 - 2011

Developed and enhanced web sites and applications for clients using Ruby on Rails, AJAX, Passenger, Capistrano, Python w/ Twitter, RSS and social-networking APIs.

medSage Technologies, Pittsburgh, PA

Software Engineer, 2007 - 2009

Developed and deployed web applications via Object-Oriented Design and Test-Driven Development using Ruby on Rails, RESTful Authentication, AJAX, RSpec, Passenger and Capistrano.

Administered production and QA web-application servers and virtual machines running Nginx and Apache.

Global Science & Technology, Fairmont, WV

Software Engineer, 2002 - 2007

Performed research & development for analysis of legacy / reused flight software systems, as Technical Lead and Senior Software Engineer for the NASA Legacy Project at NASA's Independent Verification & Validation Facility (2005-2007). Developed and deployed web application application for software-reuse analysis, using Ruby on Rails, AJAX, PostgreSQL and Open-Source libraries.

Developed software for analysis and geo-location of GOES-satellite GVAR-format weather data for the NOAA CLASS Project, served as GOES / GVAR subject-matter expert (2002-2005).

iPlayOutside, Morgantown, WV

Application Developer, 1999 - 2001

Developed and deployed web applications for content-driven web magazine and for timing / scoring of 24-hour mountain-bike racing events produced by client Granny Gear Productions, developed w/ popular web-scripting language, PostgreSQL and Apache.

WVU Plasma Physics Lab, Morgantown, WV

Research Assistant, 1996 - 1999

Developed plasma sources, measurement instruments and software for WVU Q-Machine.