To contribute meaningfully to the betterment of the software engineering profession, and the world, by exercising my strengths in leadership, mentorship, public speaking, and software development, both in my team and the community at large.
- Public Speaking
- *nix Server Administration
- Guessing (aka estimating)
- Rails Core contributor.
- Contributor to Elixir Mix and OTP guide.
- Author of multiple Ruby gems, some of which are actually useful.
- Creator of Venture, a Choose-Your-Own-Adventure-style conference presentation application.
- Write regularly at https://ernie.io.
- 8/2017 − Present
- New York, NY (remote)
- Tripled the size of the backend engineering team as our first backend engineering manager, hiring 10 engineers within my first 8 months, and managing the kind of cultural impact such an influx can have
- Successfully managed a wide-ranging reorganization, leading two product engineering teams consisting of the frontend, backend, QA and desktop engineers responsible for all of Splice's revenue-generating product offerings
- Designed both the Engineer and Engineering Management hiring processes, hiring 2 EMs to take on roles required in another reorganization
- Managed 18 direct reports, at peak, fully 2/5ths of our entire Engineering organization, while onboarding new managers
- Redesigned our iteration and engineering leadership meeting cadence/process for the entire technology team
- Mentored/coached engineering managers, both as peers and direct reports, as we grew the team
- Designed Engineering's on-call and incident response guidelines
- Acted in an advisory capacity to our VP Eng, serving in something akin to a "fractional Chief of Staff" role
- Drove other new processes and procedures to our now 50+ engineering team, gaining buy-in from cross-functional stakeholders
- Managed relationships with external consultancies and with business partners
- 1/2016 − 7/2017
- Seattle, WA (remote)
- Led the Developer Experience team, a team devoted to work that helps the rest of our team do more effective and enjoyable work at CareZone
- Migrated a mission-critical application's frontend code to ES6/Webpack build process
- Led efforts for a major version upgrade of our oldest application's framework
- Rolled out new on-call process for developers
- Created repository and tooling for runbooks for on-call troubleshooting/mitigation work
- Represented CareZone at numerous conferences and events
- 9/2014 − 12/2015
- nVisium, LLC
- Herndon, VA (remote)
Director of Engineering
- Wrote library to generate attractive, in-depth security assessment report PDFs from findings entered in an existing web app, saving hours of text-editing busy work per assessment
- Created a more humane development environment for team members by asking questions, streamlining heavyweight processes, and encouraging more open communication
- Advocated for TDD and other beneficial engineering practices in a young company without an existing engineering organization
- Stood up new infrastructure to support more streamlined development process
- Brought existing applications current with latest versions of languages/frameworks
- Represented nVisium at numerous conferences and events
- 10/2013 − 9/2014
- Appriss, Inc.
- Louisville, KY
- Drove test coverage and code quality on existing applications
- Led efforts to introduce pair programming into our workflow
- Evaluated/recommended new technology
- Mentored team members
- Gave internal tech talks on topics of interest to the broader company team
- 7/2013 − 9/2013
- San Francisco, CA (remote)
- Improved readability and maintainability of a monolithic Rails app.
- Made drastic performance improvements to code in the critical path of most web requests.
- Extracted and improved (from a performance and maintainability standpoint) a core part of our business, the recommendations engine.
- Made adjustments to our Git-based workflow to better suit our current needs.
- 6/2012 − 7/2013
- Washington, DC (remote)
Lead Software Engineer, E-mail Tools
- Directly managed team members of the team responsible for tooling for creation and scheduling of the majority of outgoing e-mail for LivingSocial.
- Make architectural decisions and interact with product and project management to determine priorities, provide estimates, and directly manage team members.
- Improved and extended our internal application for management of deals.
- Authored McFeely, the application that manages our e-mail templates, collects data from services around the network, and schedules our e-mail digest deliveries.
- Actively contributed to security improvements, including finding and fixing a Rails vulnerability in my first week on the job.
- Authored an internal Ruby gem that allowed us to not just delete lines of code, but shut down an entire web service that stood in the critical path involved in e-mail rendering and delivery.
- 10/2011 − 6/2012
- Rails Machine
- Savannah, GA (remote)
Lead Solutions Architect
- Architect Rails hosting solutions for current and prospective customers
- Assist customers, most of whom are early- to mid-stage startups, in troubleshooting performance bottlenecks and committing fixes to their repositories when needed
- Handle all incoming sales leads
- Update internal tools and company open source projects
- Lead daily standups to ensure all scheduled work is flowing smoothly through the system
- Other duties as requested by the CEO
- 9/2009 − 10/2011
- Mission Data
- Louisville, KY
- Lead Developer on multiple Ruby on Rails-based applications, including Figment.com
- Lead Developer for Tasting Table To-Go iOS application
- Systems architecture
- Client relations
- Project planning and estimating
- 10/2006 − 9/2009
- Insight Communications
- Louisville, KY
- Developed a number of internal Ruby on Rails applications
- Served as interim BMC Remedy Admin/Developer
- Lead developer on transition from Remedy to open-source ticketing system
- Evaluate and recommend new technology
- 6/2002 − 10/2006
- Charter Communications
- Louisville, KY
Sr. Application Developer
- Developed a Perl/Tk customer database, trouble ticketing, and equipment polling application used to support all of Charter Communications' commercial customers
- Co-developed a Perl-based SNMP cable modem monitoring and provisioning package used in Charter's cable systems throughout the country
- Managed development efforts involving a number of web-based applications and systems automation
- Mentored NOC personnel in programming techniques
- Served as a key technical resource to other divisions and Corporate in matters involving UNIX, programming, and security
- 6/1999 − 6/2002
- Charter Communications
- Greensburg, PA
Systems Administrator/Info Security Officer
- Coordinated transitioning of systems from Helicon Online to Charter Communications after acquisition
- Administered dozens of UNIX-based systems across the Mid-Atlantic region serving over 40,000 customers
- Developed numerous custom web-based applications in Perl and Java, saving hundreds of thousands in commercial software licensing fees
- Coordinated periodic security audits of the network
- Engineered the office firewall/NAT machine securing access to the Internet, corporate Intranet, and an NT-based billing server on its own subnet
- Interviewed job candidates
- 6/1998 − 6/1999
- QCOL, Inc.
- Markleysburg, PA
- Determined server specifications, built servers, and performed day-to-day administration of them
- Developed company web site and administration tools to simplify common tasks for company owners and other employees
- Handled all technical support calls during regular business hours
- 1997 − 6/1998
- Helicon Online
- Uniontown, PA
Technical Support Representative/Systems Administrator
- Assisted in office relocation to Greensburg, PA, training numerous new staff members hired locally
- Performed many UNIX administration tasks
- Supported residential end-users via phone and e-mail