Software Quality Professional Download as PDF

Building a Culture of Quality

Background

Accomplished QA Professional with 14 years of experience in the software industry and 10 years of IT experience prior to that. Proven ability to build an environment of quality that lasts, manage the balance between complete test coverage and execution and the realities of the business side of a project, bridge gaps between engineering and project stakeholders, and excel at the challenge of initial releases and rewrites.

Areas of Expertise

  • Creating a corporate focus on quality
  • Release cycle formalization
  • Initial product releases and rewrites
  • Automation Framework Development
  • Test Automation (UI and API)
  • Complex system troubleshooting

Professional Experience

American Fork, UT | 2017–2018

Senior Software Quality Assurance Engineer (Team Lead)
2017–2018

Moved into this position to improve QA processes, coordinate and build out the test automation suite, and mentor junior team members and interns. Improved development and QA engineer coordination and implemented ways to reduce time spent by engineering on outside requests. Continued to serve as the point of contact for Customer Experience team escalations to engineering.
Key Contributions:
  • Reduced time needed for accurate regression testing by ~50% through the improvement and increase of QA engineer involvement early in the development lifecycle, the targeting of critical areas of new and existing functionality, and the identification and stressing of historically problematic areas of product functionality.
  • Decreased QA ticket pickup times by improving ticket visibility and the customization and standardization of Jira issue workflows.
  • Reduced escalations to engineering by ~75% by providing non-engineering employees with self-service functionality to submit, search for, and report on engineering tickets.
  • Implemented and drove a consistent bug triage process involving internal stakeholders from each department.

Senior Software Database Quality Assurance Engineer
2017

Hired to assist with backend testing, with a focus on data validation and test automation.
Key Contributions:
  • Jump started architecture and development of test automation frameworks for RESTful APIs.
  • Served as point of contact for Customer Experience team escalations to engineering.

Attensity (acquired by inContact)
Salt Lake City, UT | 2011–2015

Quality Assurance Manager
2012–2015

  • QA Team: 8–12 full-time employees and contractors, 2 sites (UT and CA), QA Engineers (Junior, Mid, Senior)
  • Doc Team: 2–3 full-time employees and contractors, 1 site (UT), Technical Writers (Junior, Senior)
Promoted to this role after the current manager left the company. Continued to advocate for product and corporate quality improvements, mentor QA engineers and developers on QA processes and best practices, and to build a culture of quality across the entire company. Aided in the transition from traditional software delivery to a SaaS platform including modifying engineering workflows from one application instance per engineer or tester to two shared non-production environments across the company.
Key Contributions:
  • Decreased the number of post-release defects discovered by ~90% through improved regression test selection, increased awareness of and focus on real-world application usage, and an improved focus on product quality from the earliest stages of a change forward.
  • Reduced final regression test pass length by 91.6% (36-person weeks to 3-person weeks) through:
    • Selectively testing areas of high-visibility or criticality as well as areas with a history of being excessively buggy
    • Carefully selecting areas of the application suite to test which were directly or indirectly impacted by changes
    • Testing a sample subset of unchanged functionality to validate continued expected behavior
  • Developed and implemented an 85% reduction of the time (26 days to under 4 days per issue) between development completing work on a code change and QA beginning to validate the change by:
    • Involving QA engineers early in the design, scoping, and development process
    • Writing initial test cases for a code change as soon as scope and behavior was determined rather than upon developer handoff to QA
    • Increasing internal training on testing methodologies and internal products
  • Increased visibility and accountability of code and test quality for both technical and non-technical stakeholders through:
    • Obtaining team lead, manager, and executive buy-in for implementation of TDD processes and training
    • Implementing formal peer reviews of all code changes
    • Improving and standardizing custom Jira workflows, reporting, and availability across the company
  • Engaged QA staff in the SaaS platform release window and validation process, as well as post-release monitoring to provide ongoing feedback for the first few days after deployment to the executive team. This also allowed for increased and improved communication between Engineering, Operations, and Support teams.
  • Encouraged and modeled improvements in cross-team and cross-department communications, especially with support and services teams to better understand customer needs and areas of pain, which provided more insight into real-world product usage for use in code changes and test scenarios.

Senior Software Quality Assurance Engineer (Team Lead)
2012

Stepped up to this role without being asked to when the current team lead left the company. Continued to improve and execute existing testing processes and to mentor junior team members. Took over and completed development of prototype automation framework in Junit and Sikuli from departed team lead.
Key Contributions:
  • Produced test plans, test strategies, and product and project risk assessments for executive-level visibility into development and testing progress.
  • Increased inter-team trust and communication through the implementation of a positive, collaborative, and productive post-mortem process and 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.
  • 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.

Senior Software Quality Assurance Engineer
2011–2012

Recruited to aid the growing QA and documentation team with developing and formalizing testing processes. Performed black box and exploratory testing on NLP-based analytics reporting platform. Mentored intern and junior team members.
Key Contributions:
  • Reduced test environment reset time by 96.7% (~5 hours to under 10 minutes) for an on-premise environment configuration on multiple Linux versions and Windows consumer and server products and supported underlying databases.
  • Developed and implemented reliability, scale, load, and performance testing procedures and guidelines across the complete product suite including goals and expectations for release criteria as well as post-release defect levels.

Northwest Research | Senior Quality Assurance Engineer (Team Lead)
West Valley, UT | 2010–2011

Recruited by a prior manager to build a new QA team and establish QA processes for a product migration and enhancement from a legacy codebase to a modern platform on a multi-million-dollar contract. Configured and managed multiple pre-production environments for development and QA use.
Key Contributions:
  • Developed and executed test plans and an 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.
  • Wrote and validated detailed deployment checklists which improved consistency, communication, and reliability during the product deploy process.
  • Implemented reusable deployment scripts based on the deployment checklists resulting in significant time savings when resetting development and testing environments.

Omniture (acquired by Adobe) | Software Engineer - Localization
Orem, UT | 2007–2009

Hired as the only localization engineer for all software products and in-product documentation. Responsible for all internalization code, tools, processes, and outsourced translation efforts.
Key Contributions:
  • Simplified translation procedures for UI text and product documentation through the development of a consolidated toolset across multiple products and development languages.
  • Developed back-end system for localization infrastructure using symfony under PHP 5.
  • Coordinated translation effort for 4 products across multiple internal teams and external translation vendors.

Lindon, UT | 2004–2007

Software Developer
2006–2007

Transitioned to a development role to fill a needed position on a two-person team. Contributed to all parts of the product codebase.
Key Contributions:
  • 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
2004–2006

Hired to build and maintain test lab hardware and operating system imaging processes for multiple flavors of Linux, MacOS, Unix, and Windows, including hardware and operating system versions that were several years beyond the product’s end of life date.
Key Contributions:
  • Architected and built an automation framework and toolset and an internal test case management suite resulting in a savings of more than $80,000 over the cost of a commercial solution.
  • Designed and implemented imaging and deployment solutions for all platforms resulting in an environment reset time decreasing 90% (~10 hours with heavy involvement to under 1 hour with minimal involvement).
  • Edited and validated user manuals and lengthy and complex API documentation as part of each product release.

Technical Experience

Testing Experience

  • API Testing
  • Integration Testing
  • Mobile Testing
  • Test Automation
  • UI Testing
  • Acceptance Testing
  • Load Testing
  • Manual Testing
  • Performance Testing
  • Regression Testing
  • Scale Testing
  • System Testing
  • Unit Testing

Testing Tools

  • Jira
  • Nightwatch
  • Postman
  • Selenium
  • SoapUI
  • Confluence
  • Docker
  • Git
  • GitHub
  • IntelliJ
  • Jenkins
  • JUnit, etc.
  • Subversion
  • TestLink
  • TestRail
  • Visual Studio

Languages

  • CSS
  • HTML
  • Java
  • JavaScript
  • SQL
  • Bash Scripting
  • JSON
  • PHP
  • Python
  • Regular Expressions
  • REST
  • SOAP
  • Windows Shell
  • XML

Server Platforms

  • Linux
  • MySQL
  • MS SQL Server
  • NodeJS
  • Tomcat
  • Apache
  • JBoss
  • MariaDB
  • PostgreSQL
  • RabbitMQ
  • Redis
  • SSH
  • Teradata
  • Vertica
  • Windows

Processes / Other

  • Analytics
  • Big Data
  • Process Improvement
  • Risk Assessments
  • SDLC
  • Agile: Scrum, Kanban
  • Change Management
  • Compliance
  • Continuous Integration
  • Data Visualization
  • Debugging
  • G Suite
  • Internationalization
  • Microsoft Office
  • SaaS
  • SOAP

Some experience or no recent experience

  • Active Directory
  • AWS
  • C#
  • Eclipse
  • MongoDB
  • Networking
  • Power Query
  • Security Testing
  • Sikuli
  • Solr
  • TDD
  • Virtualization
  • Wireshark
  • Zephyr

Community Involvement

UVPM | Volunteer Admin
Utah County, UT | 2014–2016

Volunteered to support the 2500+ member local chapter of a Utah non-profit with technical, logistical, and event planning needs. Supported the chapter in areas including: moderation of online and offline forum discussions, coordination of structured and unstructured classes and learning opportunities, and the planning and execution of a wide range of social and community activities for chapter members of all ages.
Key Contributions:
  • Tactfully moderated multiple heated online and offline arguments using clear-headed thinking to successfully defuse the situations.
  • Provided insightful and out-of-the-box insights to the chapter’s Head Admin and entire Admin team on a consistent basis.
  • Implemented and managed the technical needs of the chapter including: Google Apps, Facebook, and Meetup.

Volunteer Consultant
Utah County, UT | 2012–2016

Worked on multiple local, remote, and online-only non-profit or community awareness projects with technical and design needs.
Key Contributions:
  • Organized and led mid-sized (80+ people) trips and community events.
  • Designed and implemented WordPress and custom-built websites. Provided use and maintenance documentation and training to site owners and maintainers.
  • Provided IT support services for small non-profit groups in Utah and Arizona.

Education

Provo, UT

English Major
  • Technical Writing emphasis
  • Editing minor
Computer Science Coursework
Work Experience
  • Residential (dorm) IT support
  • College of Humanities IT support
  • Campus-wide open computer kiosk maintenance
  • Open access computer lab support & monitoring
Leadership Experience
  • Society for Technical Communication (Student Chapter) [President]
  • Quark (Sci-Fi/Fantasy club) [President]
  • Impact: Journal of Technical Communication [Editor-in-Chief]
  • DevHood (Microsoft sponsored development and technology club) [Leadership team]

References

Available upon request