What Types of Jobs are Available in Software Assurance?

Many of the types of jobs available in software assurance are related to quality assurance and application testing, according to the Bureau of Labor Statistics. For example, a verification and validation specialist or process improvement technician will possess advanced software assurance skills related to testing, reporting and supporting software development projects. They will work with the entire systems development lifecycle (SDLC), which could include traditional waterfall approaches and modern Agile formats.

Quality Control Manager

Quality control managers have enhanced knowledge in software acquisition, systems and engineering. They are software quality assurance professionals who perform independent verification and validation of software codes, performance reviews, programming analysis and vulnerability testing. They may deal with cyber security, program protection, risk management and engineering impacts. Quality control managers must be able to interface with personnel on technical matters and effectively communicate with senior leadership who lack technical training. They may be responsible for developing software assurance metrics, policies, standards and development milestones. They strive to integrate and secure software development into multiple functional areas.

Software Project Manager

Software project managers have more general duties related to the oversight, coordination and monitoring of tasks and projects. They enforce policies, revise standards and introduce new metrics that guide software development efforts. They integrate and centralize software development practices and concepts across multiple technical areas. They may help oversee software code analysis, operational capacity baseline tests and service provider performance reviews. Software project managers develop briefings and provide status updates to staff, vendors, engineers and leadership. They need experience in software acquisition, systems engineering, independent audits and quality management system principles.

Software Engineer

Software engineers develop and maintain embedded, software and desktop applications. Software products may be related to image processing, medical diagnostics, data detection, user tracking, platform navigation or control algorithms. Their job involves the development of code for embedded simulations, experimental hardware and system integration. Their daily tasks may include evaluation tools, algorithm development, telemetry generation, specification documentation, program development and test implementation. Software engineers may use GUI applications, telemetry display tools, software-in-the-loop and hardware-in-the-loop tests. Software engineers are usually fluent in programming languages like C, C++ and C#. They should have experience in all phases of the Software Development Life Cycle.

Software Assurance Analyst

Software assurance analysts are responsible for developing, modifying and maintaining testing standards, quality methods and documentation procedures. They perform continuous testing of systems and applications to meet and address new challenges posed by external vendors, market trends and industry changes. Software assurance analysts closely interact with the software development and systems design teams. They implement software testing, maintenance processes and quality control methods. They may contribute to the implementation of software testing programs. They review software designs, change specifications, manual methodologies, automated tests and user interface layers. They may manage quality strategies, testability designs and industry best practices.

Related Resource: What Jobs are in Counterintelligence?

All of the types of jobs available in software assurance will require a bachelor’s degree in fields like computer science, programming, development and engineering. Job candidates will need experience with alternative operating systems, such as Linux, and Microsoft platform technologies like .NET, ASP.NET and SQL Server.