Resume - Robert Helmer

Email: rhelmer@rhelmer.org
Web: https://rhelmer.org
Github: https://github.com/rhelmer
Phone: 415-686-8543

Professional Experience
Firefox Architect - Mozilla Corporation https://mozilla.com

Duration: 06/2015 to present, Full-time

Responsible for the Add-ons/Extensions Manager in Firefox

Joined Firefox TAG (Technical Architecture Group), advised on the future of Firefox front-end.

  • Contributed to and advised the WebExtensions implementation.
  • Fixed bugs and added features to built-in Firefox add-ons manager, did regular triage of the open bugs, and conducted code reviews for both staff and volunteers
  • Helped move built-in Firefox features (Hello, Pocket) to extensions (aka add-ons)

Currently a peer on Firefox, Toolkit, Testing Infrastructure - owner on Socorro and MoPad/Etherpad modules per the Mozilla module system.

Senior Web Developer - Mozilla Corporation https://mozilla.com

Duration: 09/2010 to 06/2015, Full-time

Returned to Mozilla to work on big data problems around crash collection/reporting and performance test results.

  • Served as technical lead on high-volume crash collecting and reporting system (Socorro, aka crash-stats.mozilla.com), built with Python, PostgreSQL, S3, RabbitMQ and Elastic Search
  • Led rewrite and migration of Socorro front-end from PHP to Mozilla's standard Django-based framework Playdoh (later moved away from Playdoh to more vanilla Django)
  • Created Eddy project for on-demand testing of FirefoxOS third-party apps, using Python, Flask, Celery and RabbitMQ
  • Developed features and fixed bugs on Mozilla Etherpad install
  • Contributed directly to upstream Etherpad project, on JS rewrite (formerly known as Etherpad Lite)
  • Worked with open-source community to integrate contributions, support external installs, and make the testing, documentation and installation process better
  • Reimplemented front-end of performance graph system Perf-o-Matic, aka graphs.mozilla.org (demo video)
  • Constant improvements to development environments, making life better and more productive for co-workers and overall community (providing vagrant configs, automating and reducing laborious manual processes)
  • Fixed lots of bugs

VP of Technology - CustomWeather http://customweather.com

Duration: 06/2008 to 09/2010, Full-time, 24x7 oncall

Returned to CustomWeather to lead small, awesome team to deliver top-notch weather service.

  • Managed projects and worked directly with customers to deploy custom solutions
  • Moved colocated infrastructure to hybrid cloud/colo/remote
  • Built AWS-powered distributed map tile service for weather mapping project (also worked on frontend, supported Bing and Google Maps/Earth)
  • Lead new and existing GIS and weather projects
  • Added features and fixed bugs in Java/J2EE Tomcat real-time weather service
  • Developed reporting system using jQuery, flot, and PostgreSQL
  • Deploy fully redundant remote datacenter
  • Drove releases, automated release process
  • Developed unit and functional tests in Python and Java
  • Tracked and improved site performance and uptime

Build & Release Engineer - Mozilla Corporation http://mozilla.com

Duration: 04/2006 to 04/2008, Full-time

Build/release engineer, primarily automation and maintenance of current build farm (Tinderbox) as well as improving QA and release management procedures. Focused on improving the lives of developers and testers. Managed releases for Firefox and Thunderbird.


Senior Systems Engineer - CustomWeather http://customweather.com

Duration: 03/2003 to 04/2006, Full-time, 24x7 oncall

System/network administrator, programmer and build/release engineer for custom weather processing software. Worked directly with customers to define and deliver on needs.

  • Developed J2ME weather application for Siemens Mobile
  • Developed weather site for Al Jazeera
  • Add features to/fix bugs in custom mapping, XML generation and weather processing applications
  • Set up backups and monitoring for server infrastructure
  • Automated install/configuration of servers using CFEngine
  • Planned and implemented fully remote server management (lights-own power management, remote console, remote automated or manual install, etc.)

Consulting

Duration : 03/2003 to 03/2004, 24x7 oncall

Unix System Administrator, CustomWeather http://customweather.com

System administration for professional weather data service.

Duration : 11/2002 to 03/2004, 24x7 oncall

Unix System Administrator, Weblogic Administrator - Dollartree Corporation http://www.dollartree.com

Transition from Vectiv-hosted real-estate application to Dollartree's Virginia datacenter. Provided remote and on-site support.

Unix System Administrator / Build & Release Engineer - Skeva, Inc. http://www.skeva.com

System administrator, build&release engineer for health care application developer and their clients.

  • Set up JBoss as NT service for Kaiser pilot project
  • Set up backups and monitoring for server infrastructure

Unix System Administrator / Programmer - Aeronet Communications http://www.aeronet.net

System administrator, programming and customer support for small web hosting company.

  • Set up backups and monitoring for server infrastructure
  • Developed custom PHP photo management application

Unix System Administrator, Build & Release Engineer, Weblogic Administrator - Vectiv Corporation http://www.vectiv.com

Duration: 03/2001 to 11/2002, Full-time, 24x7 oncall

Took over as system administrator, release manager, build/release engineer for hosted real estate application developer.

  • Set up backups and monitoring for server infrastructure
  • Improved build infrastructure
  • Improved logging and created log reporting system

AnyHosting Services http://anyhosting.com

Independently owned and operated Web Hosting company Open-source code on github, docker-based

Open Source Software
  • Mozilla Socorro Crash collection+processing system for Firefox, Firefox OS, Thunderbird. Mostly Python and Django, small bit of C++
  • Symbol APIRust version of symbolication service (re-associates local stripped binaries with remote debug symbols, as a REST service) written in Rust
  • CrashCatcher Crash collection+processing prototype in Go
  • RustBSDPrototype reimplementation of FreeBSD userland in Rust
  • Eddyon-demand perf testing service for third-party FirefoxOS apps
  • Etherpad Contributor on Etherpad (formerly Etherpad-Lite)
Cloud services
Migrated and managed large production systems on Amazon AWS, Heroku
Operating Systems
Extensive installation, support and development on: Linux/Unix (Ubuntu, Debian, RedHat/RHEL, Fedora, CentOS, FreeBSD, Solaris) MacOS X Server/Desktop, Windows Server/Desktop
Programming Languages
Python, Javascript (ES6) (frontend and backend with Node.js), Java (J2ME/J2EE), Shell (bourne/bash/c), C, Perl, PHP, Go, Rust
Markup and Declarative Languages
XML, HTML, XSLT, CSS
Databases
PostgreSQL (PostGIS spatial and JSON), Oracle (spatial), MySQL, SQLite
Map/Reduce key/value store ("Big Data")
Hadoop/Hbase, Pig
Search
ElasticSearch
Message queueing
RabbitMQ, Amazon SQS
Continuous Integration, Configuration Management and Version Control
Git, Jenkins, Puppet, Subversion, CVS, SVK, Mercurial, CFEngine, Tinderbox, Ant, Make, CruiseControl, Buildbot