Qualcomm Technologies Inc., the maker of the industry-leading Snapdragon SoCs, is the largest provider of complete chipset solutions for Microsoft Windows-on-Snapdragon products. Qualcomm is committed to developing solutions for the next generation of Windows-on-Snapdragon devices.
The ideal software engineer will act as a key member of an Agile Scrum Team and play a pivotal role in the end-to-end lifecycle of all Windows-on-Snapdragon product lines. Strong software development skills will allow you to gather requirements, design, and develop device power management, CPU/DDR power and perf management, Thermal management and related features for Windows OS based products. Communication and collaboration skills are essential and as part of Windows power software team you will be interacting and coordinating with internal and external teams.
Looking for a self-starter with excellent people skills and software design and development aptitude to match.
The Ideal Candidate will have:
- Embedded Windows software and good driver programming skills.
- Solid understanding of Operating System concepts.
- Windows and/or Linux kernel and driver development experience.
- Understanding and experience in implementing power/thermal management driver software.
- Strong understanding of C/C++, Shell Scripting or Python skills and hands-on experience on debugging ARM or other SoC embedded systems.
- Strong communication and interpersonal skills.
- Strong problem solving and debugging skills.
- Ability to co-ordinate across stakeholders and drive towards task completion.
This role requires to be onsite in our Redmond office.
Minimum Qualifications:
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 1+ year of Software Engineering or related work experience.
OR PhD in Engineering, Information Systems, Computer Science, or related field.
- 2+ years of academic or work experience with Programming Language such as C, C++, Java, Python, etc.
Preferred Qualifications:
- Master's Degree in Engineering, Electrical Engineering, Computer Science or related field.
- 8+ years of Software Engineering or related work experience.
- C/C++ programming.
- Windows OS internals knowledge and experience
- Device driver programming and debugging with WinDbg, JTAG/other tools.
- Processor architecture and cache subsystem.
- Experience with PC software - System BIOS, UEFI, ACPI, Drivers, Applications
- ARM assembly
- Embedded OS (Kernel architecture, OS services heap, memory, multi-core, multi-threading, and crash debugging).
- Knowledge of OS/system performance profiling and optimization techniques.
- Communication, written & interpersonal skills, motivation, the ability to learn quickly.