Skills and Technology
- Expert in TDD and other automated testing techniques.
- Familiar with Erlang, Rust, Haskell, Java, C, Python, and ActionScript.
- Familiar with frontend technologies Sass and SCSS, Haml, and Typescript.
- Proficient with PostgreSQL and Elasticsearch, familiar with MySQL, Redis, and other data stores.
- Proficient Linux user, also familiar with Windows and OSX development environments.
- Familiar with AWS, GCP, and Azure cloud providers.
- Proficient with git and other source control tools.
- Proficient with Buildkite, TravisCI, Github Actions, and other CI services.
- Contributor to numerous open source projects such as the Ruby language, rubyfmt, webmock, rspec, chef and minitest.
- Background in technical support, QA, and tutoring.
Chef, Software Developer II, January 2017 - December 2020
Contributed to development of microservice applications in Erlang, Golang, Angular, and Typescript, and Ruby CLI applications and their supporting open source libraries. Focused on writing clean, well-tested code and tackling tech debt to improve maintainability, doing code reviews and bug triage, and mentoring junior team members. Highlights include adding automated accessibility testing for a frontend UI, re-implementing a library as a feature in an application to remove a burdensome integration point between multiple products, and debugging thread-safety issues in a Ruby app to reduce CI build flakiness.
Estately, Software Developer, March 2015 - December 2016
Performed development on a Ruby on Rails app and supporting Ruby services and projects. This included designing and implementing features across the application stack, mentoring junior devs, code reviewing and pair programming, identifying unused and inefficient legacy code that could be removed or refactored, and debugging persistent, intermittent problems across the stack and test suite.
Harvest Exchange, Software Developer, January 2013 - February 2015
Led the development of a small startup's web product written in Ruby on Rails. Primary duties were refactoring and optimizing the data model, API development for an in-house iOS app, integrating with 3rd party API providers as integral data sources, maintaining and reimplementing full-text search with Elasticsearch and PostgreSQL, and making the deployment and monitoring streamlined and reliable.
Substantial, Software Developer, July 2011 - December 2013
Responsible for full stack development of customer websites using Ruby and Rails. Responsible for the entire lifecyle: gathering requirements with the 3rd party client, implementing desired interactive and visual design, designing and implementing the data model and backend, and deploying and maintaining web applications.
HP (formerly Melodeo), Software Engineer II, June 2010 - July 2011
Developed a framework for building Ruby daemons that communicated with AWS's SQS and SNS, enabling easier development of workers that process long-running tasks and pipelines while standardizing configuration, deployment, and monitoring. Implemented a Ruby web service to run on desktop PCs that acted as an intermediary between a Windows application, S3, and other applications that used Eventmachine to enable multi-threaded transferring of data while remaining responsive to user input.
Melodeo, Software Engineer, September 2006 - June 2010
Developed Ruby daemons combining input from web services and user data to produce distilled data used in web applications. Involved consuming large XML documents, full-text searching with Sphinx, and de-normalizing data in MySQL.
Melodeo, Software Test Engineer, September 2005 - September 2006
Managed all QA operations for mobile phone applications. Involved creating and executing manual test plans, maintaining a bugtracker and wiki of all QA activity, automating documentation generation and application build customization, and managing the activity of interns.
- BSc in Computer Science from Boise State University, June 2005.