Staff Engineer, Data Centre Software Test Engineer
Qualcomm
About the Role
As a Software Engineer at Qualcomm, you will design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs that launch cutting-edge, world-class products. You will collaborate with systems, hardware, architecture, and test engineers to design system-level software solutions and gather information on performance requirements and interfaces.
Key Responsibilities
- Create software/firmware test plans, addressing requirements traceability matrix and test coverage, with respect to feature requirements.
- Design, develop, execute, and maintain automated software/firmware test suites for the purpose of verifying quality and compliance of Qualcomm products at functional, integration, and system levels.
- Manually test, where appropriate, the customer experience of installation and deployment of Qualcomm hardware and software in a mobile, compute, and automotive environment.
- Assist in the creation of a Quality Engineering/Release Engineering process with emphasis on continuous integration and continuous deployment.
- Assist in achieving production-level software readiness, implement customer use-cases, workload analysis models, workload creation, and collaborating with other teams on bring-up/debug/diags.
- Focus on ensuring that existing Operating Systems and customer usage environments run well, while identifying strong opportunities for enhancements, from a power and performance perspective.
- Leverages advanced software knowledge and experience to design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs.
- Analyzes user needs, software requirements, and time and cost constraints to design and customize software for optimal operational efficiency.
- Designs and implements software modules for large-scale products and systems.
- Participates in and leads design, coding, unit testing, debugging, and integration efforts to ensure projects are completed to specifications and schedules.
- Performs complex code reviews and regression tests as well as triages and fixes issues to ensure the quality of code.
- Collaborates with individuals outside the software function (e.g., Hardware, Systems, and Test engineers) to ensure solutions work with other components of a specific project.
Requirements & Tech Stack
- Experience with programming languages such as C, C++, Java, Python, etc.
- Experience in software/firmware validation.
- Demonstrated software test engineering in SW/FW engineering with focus on Data Center Servers.
- Strong understanding and experience in software/firmware test automation techniques.
- Extensive experience working with operating systems like Ubuntu Server, RHEL, SUSE, or Windows Server.
- Experience developing automated software/firmware test cases for server platforms, supporting bring-up and production SW releases.
- Prior Experience with SW/FW integration at BIOS/UEFI, BMC firmware, Operating System for x86/ARM64/RISC-V 64bit for server platforms.
- Strong understanding of Server firmware Standards, open-source Implementation and specifications for ARM64-based servers.
Qualifications
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.
- OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience.
- OR PhD in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
- 2+ years of work experience with Programming Language such as C, C++, Java, Python, etc.
- 8+ years of experience in Software/Firmware Validation.
- 5+ years of demonstrated software test engineering in SW/FW engineering with focus on Data Center Servers.
- Strong programming skills with experience in C and/or Python programming languages.