Senior Quality Assurance Engineering Manager — EchoStar (Move Networks / SlingTV group)
November 2015 – February 2016
- Managed a QA Automation team of 10–15 employees at multiple onshore and offshore locations.
- Coordinated QA automation efforts for the SlingTV platform across multiple platforms and multiple engineering teams.
- Prepared and began execution of cross-platform automated testing efforts.
Quality Assurance Manager — Attensity (acquired by inContact)
September 2012 – September 2015
- Managed a QA and Documentation team of 10–14 employees at multiple locations.
- Implemented process improvements that reduced time-pending-QA of tickets from an average of 26 days per issue to fewer than 4 days per issue by involving QA engineers early in the scoping and development process, increasing internal training on testing methodologies and internal products, and improving Jira workflows and reporting mechanisms to provide more visibility and accountability.
- Worked with technical and non-technical stakeholders to increase accountability and improve product and code quality before code was available to QA engineers by obtaining team lead, manager, and executive buy-in for implementation of TDD processes and training, formal peer reviews of all code changes, and increased QA involvement in the design, scoping, and planning phases of development.
- Traced complex problems from application behavior, errors, and log files through to identification of environment configuration problems or bugs in code with proposed patches submitted to development.
- Advanced troubleshooting of data loss or data inconsistencies in all environments (dev, QA, staging, and production) through a complex product environment spanning multiple data centers, RabbitMQ clusters, clusters of processing nodes (Java and C++ processes), redis instances, Tomcat application servers, Jetty-based websocket servers, and data stores (Vertica, HBase, MongoDB, and MySQL).
- Mentored QA engineers and developers on QA process, encouraging an environment of quality.
- Continued to actively participate in the QA process at technical and low levels.
- Encouraged and modeled improvements in cross-team and cross-department communications.
- Reduced final regression test passes from 36-person weeks to 3-person weeks through a combination of additional QA engineer training as well as selective selection of areas of the application suite to focus on and test cases to run to hit all areas directly impacted by changes, areas with a history of being problematic, and high-profile or critical areas.
- Reduced the number of post-release defects discovered by a factor of 10 through improved regression test selection, increased awareness of and focus on real-world application usage, and an increase in product quality focus starting at the design phase.
- Consistently advocated for product and corporate quality and quality improvements.
- Worked with multiple engineering teams to standardize on one set of development process workflows and to implement those processes in Jira as customized workflows.
- Aided in the transition from traditional software delivery to a SaaS platform deployment model including changing development and QA workflows from one application instance per individual to a shared (and eventually two separate) development and QA environment across all product teams.
- Worked with support and services teams to better convey customer needs and areas of pain to the QA and development teams, which provided more insight into real-world product usage for use in test scenarios.
- Managed the internal Jira and Confluence instances, including creation and implementation of custom Jira workflows and Confluence blueprints as team, product, and corporate needs arose.
- Engaged QA staff in the release window and release validation processes, as well as post-release monitoring. This provided ongoing feedback for the first few days after deployment to the executive team, and also led to improved communication between Engineering, Operations, and Support teams.
- Helped to develop a positive, collaborative, and productive post-mortem process and discussion forum involving all stakeholders and involved technical individuals after major failures for root cause analysis and process improvement while eliminating finger pointing and inter-departmental politics from the discussion. This led to increased trust and communication between all teams.
Senior Quality Assurance Engineer — Team Lead — Attensity (acquired by inContact)
May 2011 – September 2012
- Produced test plans and test strategies as well as regular product and project risk assessments for executive-level visibility into development and testing progress.
- Developed prototype automation framework using JUnit and Sikuli to test HTML and Flex UI layers.
- Developed environment deploy and reset scripts for full SaaS environment product and non-Saas products using bash scripts on Linux (RedHat, CentOS, SuSE) and a combination of bash scripts under Cygwin and Windows Shell scripts on Windows (consumer and Server product lines).
- Developed and implemented scale testing procedures and guidelines for performance and load enhancements of Analyze 6, a Java application using HTML and Flex for the UI layer and Vertica for the datastore.
- Developed and implemented reliability testing procedures and guidelines across the complete product suite including goals and expectations for release criteria as well as post-release defect levels.
- Developed new test cases for finding bugs in multiple enterprise software products.
- Performed black box and exploratory testing on Analyze 6, Attensity's flagship product at the time.
Senior Quality Assurance Engineer — Team Lead — Northwest Research
February 2010 – May 2011
- Developed and executed test plans and automation architecture using JUnit, Selenium, and custom shell scripts for a 1.0 product delivery on a multi-million dollar contract built on a stack of JBoss, Java, PostgreSQL, and solr technologies.
- Developed deploy scripts for clustered multi-server CI and production environments using a combination of bash and Windows Shell scripts launched from Hudson (now Jenkins) CI server and based on detailed checklists developed for use in production deploys.
- Configured and maintained multiple QA environments based on Windows Server and Linux systems. Environments consisted of MS SQL and PostgreSQL databases, IIS and JBoss application servers, ColdFusion and Java code bases, and a solr cluster for indexing.
- Developed and validated detailed checklists for use during deployments to improve consistency, communication, and reliability. Checklists developed in conjunction with input from development and IT/Ops, and validated prior to production deployment by QA manual and automated deploy to non-production environments.
- Developed requirements definitions and product architecture decisions.
Software Engineer — Omniture (acquired by Adobe)
August 2007 – November 2009
- Wrote and maintained tools used in the localization process using Bash, PHP 5, and MySQL.
- Developed back-end management system for localization infrastructure using symfony under PHP 5.
- Coordinated translation effort for 4 PHP and Java based products across multiple development teams with synchronized deployments, a documentation team, and translation vendors.
- Simplified translation procedures for UI text and product documentation through the development of coordination tools using a combination of bash scripts and tools, Java code, and PHP code against a MySQL datastore.
Software Developer — Quest Software
November 2006 – August 2007
- Designed and implemented a stand-alone configuration tool for real-time monitoring enterprise software.
- Produced bug fixes and implemented new features in Quest Management Xtensions for MOM, an enterprise operations management software package using C++ and C#.
- Designed and wrote SNMP based management packs for QMX for MOM.
Quality Control Engineer — Vintela / Quest Software
August 2004 – November 2006
- Installed and configured operating systems and applications on Windows and Linux in the test lab.
- Built test environments on multiple platforms (Linux, Unix, and Windows).
- Developed new test cases for finding bugs in various enterprise software products.
- Architected, developed, and administrated a web-based open source test case database system (OpenTCDB) using PHP/MySQL (TCDB) and C#/ASP.Net/MSSQL (OpenTCDB) saving over $80,000 versus a commercial solution.
- Developed a Windows service test controller and RPC API integrating TCDB 2.0 (via XML-RPC) and MOM 2005 (via the MOM 2005 SDK) using C#.
- Automated existing test cases using various software applications.
- Worked closely with development to find, track, and reproduce bugs.
- Developed and maintained custom Windows, Linux, and Solaris imaging solutions saving thousands of dollars over a commercial solution.
- Maintained test lab hardware extending the life of most hardware 2–3 years beyond expected EOL.
- Installed and administered Microsoft MOM 2005 and SMS 2003 environments.
Volunteer Admin — UVPM
June 2014 – May 2016
UVPM is a local chapter of a Utah non-profit focused on providing a support group and social community for individuals struggling to fit into the local culture. UVPM serves over community 2300 members and offers many different opportunities for support including: structured group discussion and processing sessions, structured and unstructured classes and learning opportunities, and a myriad of social and community activities for all ages.
- Responsibilities include: coordinating events and volunteers, moderating online forums, and managing technical needs (Google Apps, Facebook and Meetup groups, etc.)
June 2012 – Current
I have worked on multiple local, remote, and online-only non-profit or community awareness projects assisting with technical and design needs.
- Projects include: organizing mid-size (80+ people) community events and trips, multiple outreach websites, Google Apps setup and organization, and general IT support and consulting.
- Technical aspects include: design and implementation of WordPress and custom websites; WordPress use and administration training; Google Apps setup, configuration, and training; and feasibility reviews of technical proposals.