Co-founder - Sock Drawer (2015 - Present)
Jack of all trades in this open-source organization. Hats include:
- Subject matter expert in all things testing. Along with my co-founder Accalia, the subject matter expert in all things development, we created many pieces of software that attained 100% unit testing out of the box. I have run usability studies, integration tests, security scans, and suggested multiple architecture revisions based on testability and maintainability.
- Build Engineer. I introduced many build and deployment tools to ensure that we are constantly getting feedback from production to improve our craft
- Project Manager: On the StoryBB project, I am acting as a project manager as well as a backend developer. I have introduced kanban boards, collected status from the distributed team, and charted the milestones for this Agile project.
- Backend developer: I have worked in Node.Js using TDD principles to engineer everything from an integration with Slack to the REST API for our new forum project. In particular, I am proud of being the tech lead on the SockMafia module, which is the single most complex Sockbot plugin to date.
Software Developer (Platform Ops) - Dealer Tire (Apr 2017 - Present)
Responsible for maintaining and developing tools to help developers become more productive and operations keep our systems running. Highlights include:
- Maintenance of JIRA, Bamboo, and individual tools and scripts to help our Continuous Integration pipelines run smoothly and efficiently. Much of this was done using Ansible, to ensure repeatability and tracability of changes to the servers.
- Administration of out in-house Docker implementation using Rancher, including host configuration and maintenance, overall architecture, and host monitoring. This includes the development of several control panels that use the Rancher APIs to perform common maintenance tasks, such as upgrading an application or taking down a host; these tools were written primarily in Node.JS and designed for Docker.
- Containerizing several of our existing applications and building new deployment pipelines for them.
- Evaluating, selecting, and implementing monitoring systems for our new container environment. Creating monitoring dashboards for developers and operations, implementing systems such as FusionReactor and AppDynamics, and providing training on the systems we use were all included in this work, as well as integrating systems together into a centralized Datadog instance.
- Responding to developer needs and handling one-off inquiries. This includes maintenance of developer VMs, optimizing CI plans, teaching use of git and Bitbucket, and providing advice on Node.JS programming.
QA Analyst - Dealer Tire (2014 - 2017)
Responsible for developing and implementing QA systems and best practices across our IT organization. Highlights include:
- Development of the company's first CI system, which we used to massively simplify the build and release process. This includes writing custom code to integrate test runners with legacy systems that were not architected for testing, as well as release scripts to deploy onto our various testing and production environments
- Administration of our JIRA system, which we use to track work products and bugs found during pre-production testing
- Weekly "teatime" sessions in which various topics in the quality domain are discussed on a technical level with the development and middleware teams
- Creating functional automation suites in Java for multiple products, integrated with the Sauce Labs service for cross-browser testing
- Advising on test case writing and manual testing best practices, including bringing code coverage metrics to version 6 of the flagship b2b application
- Creating performance tests that can be used during the build process to ensure that performance does not degrade over time
Web Developer (Contractor) - Dealer Tire (2013 - 2014)
Worked on various web development projects, including a revised CMS application and several backend service upgrades.
SQA Contractor - Diebold (2011 - 2013)
Worked on a team that automated and tested ATM software and utility software produced by Diebold using IBM Rational framework.
- Wrote test framework methods using IBM's Rational Functional Tester library, in Java.
- Worked closely with development to ensure that quality was built in from day one.
- Desgned, modeled, adn scripted test cases using Critical Logic's DTT and TMX products. These products allow the software to be modeled conceptually, and test cases to be automatically generated from the program model.
- Trained and mentored interns.
Freelance web development (2005-2007)
Worked part-time with local small businesses to create web sites and custom applications that would showcase the clients' products, including a gallery site for a photographer with a custom slideshow.