
DevOps and Continuous Integration Engineer, Lead, Senior Staff or Principal
- Santa Clara, CA
- 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. As a Qualcomm Software Engineer, 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 that meet and exceed customer needs. Qualcomm Software Engineers collaborate with systems, hardware, architecture, test engineers, and other teams to design system-level software solutions and obtain information on performance requirements and interfaces.We are looking for an experienced Lead DevOps CI/CD Verification Engineer responsible for designing, implementing, and managing automated CI/CD pipelines and infrastructure. Manage hardware/software verification, emulation, and SOC automation. Supporting the Custom CPU SW and Server BU SW Engineering team. This role designs and deploys test automation solutions across various hardware platforms. You will lead a team, mentor engineers and set technical strategy and direction.Key Responsibilities:Collaborate with software and hardware teams to develop comprehensive systems and test plans for Pre- and Post-Silicon stages.· CI/CD Pipeline Management: Design, build, and maintain automated CI/CD pipelines using tools like Jenkins, GitLab CI, or GitHub Actions, ensuring smooth and efficient code deployment across various environments.· Infrastructure as Code: Implement and manage infrastructure using tools like Terraform, Ansible, or CloudFormation, automating infrastructure provisioning and configuration.· Cloud Platform Expertise: Manage and optimize cloud infrastructure on platforms like AWS, Azure, or GCP, ensuring scalability, security, and cost-effectiveness.· Containerization and Orchestration: Implement containerization and orchestration solutions like Docker and Kubernetes, enabling efficient application deployment and management.· System Monitoring and Troubleshooting: Monitor system performance, troubleshoot issues, and implement logging and alerting mechanisms to ensure high availability and reliability.· Collaboration and Communication: Collaborate with development, operations, and security teams to streamline workflows, resolve issues, and ensure seamless software delivery.· Security and Compliance: Implement and maintain security measures and ensure compliance with relevant standards and regulations.· Mentorship and Guidance: Mentor junior engineers, share knowledge, and foster a culture of continuous learning and improvement within the team.· Process Improvement: Identify areas for process improvement, implement new tools and technologies, and optimize workflows to enhance efficiency and reduce downtime.Minimum Qualifications: • Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 6+ years of Software Engineering or related work experience.
OR
Master's degree in Engineering, Information Systems, Computer Science, or related field and 5+ years of Software Engineering or related work experience.
OR
PhD in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.
- 3+ years of work experience with Programming Language such as C, C++, Java, Python, etc.
- Leverages advanced Software knowledge and experience to design, develop, create, modify, and validate critical 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 sophisticated software for optimal operational efficiency.
- Designs and implements software sub-systems for complex, large-scale products and systems.
- Leads design, coding, and testing efforts to ensure that projects are completed to specifications and schedules.
- Performs highly 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 increase leverage and design solutions that work with other components of a specific project.
- Writes detailed technical documentation for highly complex Software projects; reviews technical documentation for junior engineers.
- Works independently with minimal supervision.
- Provides supervision/guidance to other team members.
- Decision-making is critical in nature and highly impacts program, product, or project success.
- Requires verbal and written communication skills to convey complex information. May require negotiation, influence, tact, etc.
- Has a moderate amount of influence over key organizational decisions (e.g., is consulted by senior leadership to make key 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.