Company:
Qualcomm India Private Limited
Job Area:
Engineering Group, Engineering Group > Software Engineering
General 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.
Minimum Qualifications:
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience.
OR
Master's degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
OR
PhD in Engineering, Information Systems, Computer Science, or related field and 1+ year of Software Engineering or related work experience. - 2+ years of academic or work experience with Programming Language such as C, C++, Java, Python, etc.
Qualification and Experience:
- Bachelor's degree in Engineering, Information Systems, Computer Science, Electronics
- At least 6 to 8 years of experience in below areas
- Prior work on embedded products
- Knowledge of building continuous integration pipelines
- Understanding of bug databases and how to use them, for example Orbit
- Experience with git, A thorough understanding of software configuration management especially using Git
- Good understanding of build systems
- Good understanding of debug techniques
- Good Understanding of Linux software architecture
- Good understanding of configuration management
- Designing and optimizing deployment scripts and processes
- Good knowledge of GNU/Linux Shell scripting
- Proven success in taking ownership of CI systems for embedded products that require extensive hardware testing infrastructure
- Good understanding of embedded software, this will help understanding the CI system for the products
Skills:
- C, Python scripting, bash script programming
- Linux System concepts
- Linux Kernel Internals and driver concepts
- Exposure to distributions: debian, openwrt, yocto
SCM tools: git, repo
Automation development experience with Github, Jenkins
- Prior experience in Continuous Integration and Build System is a plus
- Strong debugging and problem-solving skills
- Passionate about the Build and Integration and software automation
- Knowledge in managing source control systems, software versioning, Git branching strategies and integrations on multiple projects and repositories.
- Excellent communicative, interpersonal and leadership skills with ability to work efficiently in both independent and teamwork environments.
Key Responsibilities:
- Collaborate cross-functionally with stakeholders to gather and understand the requirements
- Participate in setting standards for various stages in project lifecycle
- Lead the team to deliver a high-quality product on a defined schedule
- Highlight risks and gaps early in the project life-cycle to identify the correct path forward
- Evaluate new tools and technology to ensure an automated and stable environment
- Doing Impact analysis (arch, tech teams, baseline), providing inputs to leads, propose Branching strategy & interim milestones
- Ensure meeting release criteria for key customers - Sanity, Stability, Conformance Test Suites, Power, Perf, fine-tuned testing based on need
- Task definition and work breakdown including time estimation
- Ability to work with minimal requirements and manage multiple tasks
- Collaborate closely with Software and Test Teams
- Excellent understanding of CI systems
- Maintain the current CI system including defect investigation