Gigs

My professional work in the software industry over the years. There is a bit of time between jobs here and there where I was working non-technical jobs and spending a lot of time on personal projects working to develop the skills needed to work in the industry.

Mozilla

Web Developer (May ‘12 - Sept ‘13)

This was my first time working in truly high scale development, both in traffic and in team size. It was also my first gig working with a purely remote team distributed across many timezones.

  • Started out working on addons.mozilla.org, reworking the use of redis as a part of the caching solution.
  • Worked on security critical sections of the site including the blocklist that Firefox uses to shut down bad addons and extensions in the wild.
  • Was moved over to working on marketplace.firefox.com as part of the payments team.
  • Integrated with multiple payment providers and built the security pin portion of the site.
  • Was involved in many of the architecture choices such as revamping deployment, moving to smaller services, and caching.

Aquameta

Senior Software Developer (Mar ‘10 - Feb ‘12)

I loved this company and learned a great deal while I was working there. It is where I cut my teeth on Django apps that needed more than just some more hardware thrown at them to scale.

  • Was part of a team that implemented, maintained, and extended a large Django application that powered 3 sites.
  • Scaled that application using celery for offloading and generous amounts of caching.
  • Upgraded Django between major versions twice. From 1.1 to 1.2 and from 1.2 to 1.3.
  • Wrote and encouraged the writing of both unit tests and functional tests.
  • Wrote and maintained one click deployment scripts using Fabric.
  • Interfaced with the clients regularly to gather requirements for features.
  • Guided the architecture of the application using community best practices and past experience.

Parthenon Software

Software Developer (Sept ‘09 - Nov ‘09)

This was a PHP shop I worked at for a short while. I did development on a well established code base.

  • Updated unit tests, allowing for more confidence that application was correct.
  • Met with clients to discuss and advise on what course to take for re-designing their software.
  • Implemented feature requests, fixing existing bugs in the module while adding the feature, resulting in cleaner, better documented code.
  • Participated in “brainstorming” sessions concerning design/testing details for various project.

Critical Path Software

QA Tester (May ‘08 - Aug ‘08)

Here I worked in the QA department testing software and hardware. The primary project I was hired for were 2 lines of computers that a company was going to release and they wanted some independant stress testing done in a wide range of activities. Online gaming, word processing, downloading content, watching HD video both streaming and off a Blu-Ray.

  • Learned to write very effective bug reports.
  • Wrote and executed test plans, tracking progress and reporting defects.
  • Worked with a team to decide on software milestones and requirements.
  • Set up many different hardware/software configurations for testing.
  • Wrote a tool using C++ to generate data for testing.
  • Assist in delegation of various portions of testing to help train new members of the team prior to product release.

Transim Technology

Intern Software Developer (Dec ‘05 - Aug ‘06)

This was my first foray into the world of software development at a company. The stack was a large java backend with a PHP layer on top with liberal use of Perl as glue.

  • Cleaned up and maintained several in-house tools written in Perl, Java, and PHP for processing and displaying circuit schematics.
  • Created a GUI for two of the in-house tools so that non-technical staff could assist in processing schematics that needed human interaction.
  • Implemented a secure login system with detailed permission setup.
  • Documented all of the above mentioned work, along with a large portion of a Java based webserver back-end.

I had a great time at this job and this, on top of my passion I already had, really sealed the deal as far as my desire to pursue software development as my career.