Description: The Software Quality Engineer (SWQE) is responsible to oversee the entire development and production processes for software and firmware which include contract review, requirement definition, design generation, production, testing and operations and maintenance activities. The success of the software and firmware products depends on process compliance, product conformance, the quality of the product as well as the product’s ability to hit the market on time and budget. It is the responsibility of the SWQE to monitor these items.
The SWQE defines the processes to be implemented on assigned programs for complete oversight of the program activities. These processes are further broken down into tasks to allow collaboration with the program team to ensure continued compliance to all requirements, verification of a defect-free quality product that meets customer needs and monitoring of the processes and product for any trends which need addressed. The SWQE is responsible for proactive reporting of all known and potential issues and risks to the program team, management, and external customers as required.
A SWQE's tasks may include, but are not limited to the following (applies to both software and firmware products):
Interface with Quality, Engineering, Management, Customers (including customer representatives like FAA QRO, DCMA, etc.), Suppliers and Subcontractors to ensure contractual requirements are met.
Review contract, statement of work, and subcontracts for understanding of all requirements.
Generate Basis of Estimates (BOEs) and verify applicable Work Breakdown Structures (WBS) for Software Quality Assurance.
Develop and implement audit plans to assure compliance to internal requirements and external standards per program requirements (CMMI Level 3, DO-178, DO-278, ED-109, AS9100, ISO 9001, AS9115, DO254, etc.)
Manage budgets other Quality staff (Quality Engineers and Technicians).
Interface with other functions for understanding of Software Quality expectations and collaboration for a Quality product.
Program interface for internal and external company audits.
Provide inputs on functional requirements, advise on design and test strategies.
Review all program plans, deliverables, manuals, release notes, etc. for completeness and compliance.
Review materials and participate in all gate reviews to approve requirements, design, test strategies, etc.
Generate metrics, perform trend analysis and use the data to drive improvements.
Review code (deliverable and test) to ensure end item meets customer requirements and is tested completely.
Utilize defect tracking database for management of product issues.
Perform and document risk analysis.
Develop standards and procedures to determine product quality and release readiness.
Support generation of test plans.
Support generation and performance of manual and automated tests to proactively discover any bugs or issues with the software (Unit under test and test sets/scripts, etc.).
Verify all requirements have been met and tested.
Review user interface for consistency and functionally and identify any potential problems a user might encounter.
Record/verify test progress and results.
Drive innovation and streamline overall testing processes.
Collaborate with Software Engineering to certify DevOps pipelines used in development and verify changes as rolled out.
Verify or actively participate in the identification, isolation, and tracking of bugs throughout testing.
Research and analyze product features being tested and provide input to the test teams for improvements.
Research new tools, technologies, and processes to drive process improvements in all aspects of the program life-cycle.
Support and verify control of source code, configuration management and change management.
Bachelor’s Degree in Computer Science, or Engineering with a minimum of 4 years of prior relevant experience.
Experience with programming languages C, C++, C#, Java, Python or other object-oriented design concepts.
Lean, Six Sigma, continuous improvement and AS 9100/ISO 9001 and AS9115 quality systems experience.
Preferred Additional Skills:
Knowledge of quality assurance principles and software development lifecycles.
Minimum of Green Belt certification preferred.
Understanding of software configuration and change management practices.
Ability to work effectively on a team yet maintain professional Quality independence.