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. ORMaster's degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience. ORPhD 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.
Responsibilities
- Demonstrate consistent, high quality, on-time, independent execution on moderately complex technical tasks.
- Strong technical expertise and ownership for the modules ownedwith limited direction and oversight.
- Lead development efforts for Security software in C for embedded platforms on ARM / RISCV processors.
- Responsible for planning, time management, and quality of own deliverables and of the team.
- Follow defined methodologies, processes, and procedures for varioussoftware development activities.
- Triage, Debug, and resolve issues and bugs in the software through good problem-solving skills.
- Collaborate within and cross functional teams as required to ensure quality work products are delivered.
- Work on multiple assignments and demonstrate an ability and flexibility to cater to changing priorities.
- Effectively resolve ambiguities in requirements and priorities; And independently resolve blocking issues.
- Keep oneself up to date with industry trends and technology developments around the related areas of work.
Minimum Qualifications
- Bachelor's / Master's degree in Engineering, Information Systems, Computer Science, Electronics or related field.
- Minimum 1-3 years of experience in Embedded software development and programming in C / C++ / Assembly.
- Strong understanding of Embedded hardware, Computer Architecture and Operating System concepts.
- Good understanding of OS concepts such as tasks, signals, timers, priorities, deadlocks, stacks, etc.
- Understanding of RTOS fundamentals like multi-threading, interrupt management, cache / memory management etc.
- Understanding of YOCTO / OWRT / Android build framework.
- Exposure of Linux device driver development, debugging, system stability, etc.
- Experience in leading and driving software development activities independently and working with multiple teams.
- Good expertise and experience on product security for embedded devices, which may include a subset of the following skillsets : Symmetric & Asymmetric Cryptography, Device integrity & Authentication, Secure communications, Trusted execution environment, Protected virtualization Platform isolation techniques, Embedded / real time OS security, Vulnerability detection methods, Exploit mitigation techniques, Hardware access control, Secure provisioning and debug, Key management and applied cryptography
Desirable Qualifications
- Good understanding of and experience on embedded processor architectures like ARMv8 / 9 or RISC-V processors.
- Experience with code versioning tools (git / perforce) build tools (Makefiles / SConscript / Python), and debuggers like JTAG.
- Understanding of a broad range of topics Linux Kernel, Android Frameworks, Secure software development etc.