General Summary :
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.
Qualifications :
B.Tech / M.Tech in Electronics / Computers / ElectricalsPrincipal Duties and Responsibilities :
Skills / experience : Around 1-3 yrs of experience.Thorough Embedded C programming knowledge & experience (especially pointers, structures, linked lists etc.,) & Assembly programming knowledge Hands OnExperience for Device Driver development with any of standard protocols such as SPI, UART, USB etc.Thorough RTOS knowledge and experience (Mutex, spinlocks, Queues, Signaling, Events, Deferred function calls & Callbacks, Multi-thread & Multi-process environments, Concurrency Scenarios etc.,), Linux Knowledge, Kernel & User Space knowledge Thorough experience of Operating systems, Microprocessor / computer architecture.Strong analytical and debugging skills Hardware and architectural knowledge / experience (Processor Architecture, Cache, interrupts, Memory barriers, Strong ordering etc.,)Emulator, simulator environment & JTAG debugging knowledge / experienceNice to Have - Hands On Experience or knowledge for Inter Processor Communication Protocol, Debug Logging framework, Heap Management & Timer implementationsLevel of Responsibility :
Works under supervision.Decision-making affects direct area of work and / or work group.Requires verbal and written communication skills to convey basic, routine factual information.Tasks require multiple steps which can be performed in various orders; some planning, problem-solving, and prioritization must occur to complete the tasks effectively.