
Principal Software Engineer for Data Center SOC
- Vancouver, WA
- Permanent
- Full-time
Software EngineeringGeneral Summary:As a leading technology innovator, Qualcomm pushes the boundaries of what's possible to enable next-generation experiences and drives digital transformation to help create a smarter, connected future for all. Qualcomm Security Engineers perform security assessments, develop company products, and collaborate across functions to ensure performance metrics and product requirements are met.General Summary:As a Principle Software Engineer, you will contribute to the design, development, and optimization and commercialization of software solutions for Qualcomm's next-generation data center platforms. You will collaborate closely with cross-functional teams and lead a team of Engineers and contribute to the advancement of critical technologies such as virtualization, memory management, scheduler and Linux Kernel.Key Responsibilities:Develop and enhance features in the Linux Kernel, particularly in areas such as virtualization (KVM), scheduling, and memory management (IOMMU).Optimize power and performance management technologies like DVFS for next-generation ARM-based systems.Collaborate with cross-disciplinary teams to ensure the successful delivery of high-performance, scalable software solutions.Debug and resolve complex software issues using tools like JTAG debuggers.Contribute to upstream open-source projects, including the Linux Kernel, as part of Qualcomm's commitment to the open-source community.Drive improvements in system software for ARMv8 and ARMv9 based platforms.Analyze system requirements, understand and propose corresponding system architecture. Create and maintain technical documentation for system architecture, requirements, and development processes.Pre-Silicon Development on the FPGA based platform and QEMU.Preferred Qualifications:Strong experience in Linux Kernel development, especially in areas such as virtualization (KVM), schedulers, and memory management and ACPI.Expertise in virtualization technologies and performance tuning of hypervisors.Solid knowledge of ARMv8 and ARMv9 architecture and its extensions like MPAM, Confidential Compute (CCA) and embedded systems.Solid understanding of computer system architecture (core, cache, memory models, bus architecture, etc.). Experience in Board and SOC bringup, Device drivers, peripheral buses (SPI, I2C, USB), Memory controllers for DDRFamiliarity with tools like SCM tools (e.g., GIT) and debugging technologies like JTAG debuggers.Prior contributions to open-source projects (e.g., Linux Kernel).Strong debugging skills and practical experience with ARM based platforms.Proficiency in using tools and frameworks for system and software performance management.Hands-on experience with software development methodologies for data center applications.Master's degree in a related field is a plus.Minimum Qualifications: • Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 8+ years of Software Engineering or related work experience.
OR
Master's degree in Engineering, Information Systems, Computer Science, or related field and 7+ years of Software Engineering or related work experience.
OR
PhD in Engineering, Information Systems, Computer Science, or related field and 6+ years of Software Engineering or related work experience.
- 4+ years of work experience with Programming Language such as C, C++, Java, Python, etc.
- Master's or PhD in Electrical Engineering, Computer Engineering, Computer Science, or related field.
- 12+ years of Security Engineering experience or related work experience.
- 4+ years of experience with Programming Language such as C, C++, Java, Python, System Verilog, etc.
- 3+ years of work experience in a role requiring interaction with senior leadership (e.g., Sr. Director and above).
- 3+ years in a technical leadership role with or without direct reports.
- Leverages expert Security knowledge and experience to achieve highly critical engineering business objectives.
- Develops highly critical new hardware and software security features and updates features into existing products; leads team to ensure security of all products is maintained throughout the product lifecycle.
- Serves as a technical expert for performing highly advanced security assessments and evaluation of company products, including vulnerability and risk assessments, threat analysis, and security code reviews to identify potential design and implementation vulnerabilities.
- Develops highly critical security architectures and designs for products and sub-systems and leads cross-organizational teams to adopt and implement them.
- Identifies and drives remediation for security risks and vulnerabilities, responds to product security incidents, and collaborates with high-level customers and stakeholders regarding product security related issues.
- Serves as a technical expert for the development and deployment of highly critical processes, trainings, and tools that result in secure product development.
- Provides supervision to direct reports.
- Decision-making is significant in nature and affects work beyond immediate work group.
- Requires verbal and written communication skills to convey complex information. May require negotiation, influence, tact, etc.
- Has a great degree of influence over key organizational decisions.
- Tasks often require multiple steps which can be performed in various orders; extensive planning, problem-solving, and prioritization must occur to complete the tasks effectively.