Qualcomm SW Architecture Engineer in Bangalore, India
SW Architecture Engineer
Qualcomm Technologies, Inc.
CDMA Technology at http://www.qualcomm.com/about/businesses/qct
Engineering - Software
India - Bangalore
Qualcomms QCT Software Architecture team is helping build power efficient, embedded, next-generation system-on-chip solutions to enable advanced features in wireless devices. We are looking for software architects to work with cross functional teams to architect a complete solution that optimizes hardware and software performance for future products.
Experience in each of the following areas is required:
Solid understanding of CPU architecture (core, cache, memory models, multiprocessing, coherency etc.) and associated hardware blocks (cache controllers, timers, interrupt controllers etc.)
Exposure to developing/ analyzing/ modifying CPU centric system software for kernel, bootloader and power management software
Ability to design and implement prototype software to demonstrate and analyze new ideas and concepts
Ability to derive, document, and present high-level system requirements from the associated detailed technology requirements.
In addition, at least 3 years of prior industry experience in one or more of the following areas is required:
Exposure and good understanding of any multi-processor CPU Architecture (preferably ARM) either through development or debugging of system software or through in-depth analysis of benchmarking suites
Good understanding of CPU architecture concepts Pipelining, Exception handling, Cache hierarchy, Cache coherency, Memory Management, Low-Power states
Experience and good understanding of SOC memory architectures, including on and off chip memory blocks.
Experience in porting and debugging Linux or any Real-Time OS on to a new target
Software partitioning with emphasis on hardware requirements and the corresponding impact to cost, flexibility, scalability, and reusability.
Demonstrated ability and experience in working with global cross functional teams.
Skills and experience in the following areas is a plus:
Strong C and C++ programming skills along with good knowledge of data structures
Programming in ARM assembly language
Development of device drivers in Linux particularly in the area of power management
Experience in porting and debugging bootloaders like UEFI or uboot on to a new target
Exposure to working with debugging tools like Lauterbach Trace32
Exposure to compiling, loading and running software on pre-silicon platforms like models, FPGA, Palladium, Veloce etc.
Required: Bachelor's, Computer Science
EEO employer: including race, gender, gender identity, sexual orientation, disability & veterans status.