Senior Software Engineer - Kernel Services
Company: Qualcomm
Location: San Diego
Posted on: March 14, 2025
Job Description:
Company:Qualcomm Technologies, Inc.Job Area:Engineering Group,
Engineering Group > Software EngineeringGeneral Summary:Qualcomm
is seeking an embedded software engineer with 2 to 6 years of
experience for the Core Platform Kernel Services Software team. The
Core Platform Kernel Services software team develops and deploys
drivers and Kernel Services responsible for achieving IPC and
System level Debug to multiple subsystems on Qualcomm SOCs. These
SOCs serve customers across the Mobile Handset, Compute,
Automotive, XR/AR, Cloud AI, IoT and IIOT market segments. The
Kernel Services team develops protocols and algorithms that are
central to critical operations performed by all functions of the
SOC such as Sensing, Image Capture, Audio functions among hundreds
of others. The team owns, maintains and develops drivers across
multiple operating systems including, QuRT OS, Windows, Linux, QNX,
FreeRTOS, Zephyr among others. The team actively develops open
source solutions to achieve highly performance efficient and
feature rich yet configurable IPC across subsystems. The team
actively engages with the Open Source community to upstream and
augment associated solutions as well.The multiple number of drivers
and Services constantly evolve and find utility in various
applications across multiple tiers of application across chipsets.
The team works actively with OEMs, ODMs, Carriers, OS providers,
etc. to perform requirements analysis towards catering to new and
complex use cases on a regular basis. The successful candidate will
not only have the opportunity to contribute significantly to all
stages of software development, documentation, design,
implementation and testing but also will have the opportunity to
own and define roadmaps for significant areas of the IPC stack.The
opportunity to significantly contribute to a team that is central
to every chipset that Qualcomm produces puts a great deal of
responsibility to deliver high quality and highly performing
solutions on a regular basis. The successful candidate should have
a growth mindset willing to constantly learn new technologies and
adapt to new requirements from evolving use cases. It is an
expectation from all successful candidates to innovate and
efficiently productize these innovations to achieve market
differentiation across our product families.Minimum
Qualifications:
- Bachelor's degree in Engineering, Information Systems, Computer
Science, or related field and 2+ years of Software Engineering or
related work experience.ORMaster's degree in Engineering,
Information Systems, Computer Science, or related field and 1+ year
of Software Engineering or related work experience.ORPhD 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:Ideal candidates will demonstrate the
following:
- Experience in C and Data structures.
- In-depth knowledge of Windows development environment and
functionality and architecture especially driver module.
- Excellent debugging and problem-solving skills in Linux Kernel.
Familiar with ARM CoreSight architecture will be a plus.
- Good understanding of CPU Architecture, Memory and Bus
architecture and how that impacts software performance.
- Able to debug complex problems across multiple layers of
hardware, OS, compiler, and drivers.
- Experience with Windows OS, Visual Studio/LLVM compiler and
Windows Performance Analyzer (WPA) tools is preferred.
- Experience in Compiler and JIT technologies is a plus.
- Experience with optimizing for popular CPU software benchmarks
is a plus.
- Familiarity with ETM will be a plus.
- Experience on Python/Perl will be a plus.
- Assembly and C++ language experience is a plus.Principal Duties
and Responsibilities:Develops, creates, and modifies general
computer applications software or specialized utility programs.
Analyzes user needs and develops software solutions. Designs
software or customizes software for client use with the aim of
optimizing operational efficiency. May analyze and design databases
within an application area, working individually or coordinating
database development as part of a team. Modifies existing software
to correct errors, allow it to adapt to new hardware, or to improve
its performance. Analyzes user needs and software requirements to
determine feasibility of design within time and cost constraints.
Confers with systems analysts, engineers, programmers, and others
to design system and to obtain information on project limitations
and capabilities, performance requirements and interfaces. Stores,
retrieves, and manipulates data for analysis of system capabilities
and requirements. Designs, develops, and modifies software systems,
using scientific analysis and mathematical models to predict and
measure outcome and consequences of design. The responsibilities of
this role include:
- Working under close supervision.
- Taking responsibility for own work and making decisions with
limited impact; Impact of decisions is readily apparent; errors
made typically only impact timeline (i.e., require additional time
to correct).
- Using verbal and written communication skills to convey basic,
routine information about day-to-day activities to others who are
fully knowledgeable in the subject area.
- Completing most tasks with multiple steps which can be
performed in various orders; some planning and prioritization must
occur to complete the tasks effectively; mistakes may result in
some rework.
- Exercising some creativity to troubleshoot technical problems
or deal with novel circumstances.
- Using deductive problem solving to solve moderately complex
problems; most problems have defined processes of
diagnosis/detection; some limited data analysis may be
required.Level of Responsibility:
- Communicates issues with team lead and peers.
- Adapts to changes and setbacks to meet deadlines.
- Communicates with project lead to provide status and
information about impending obstacles.
- Collaborates with others inside project team to accomplish
project objectives.
- Gathers, integrates, and interprets information specific to a
module or sub-block of code from a variety of sources to
troubleshoot issues and find solutions.
- Collaborates with individuals within domain to complete the
team's work.
- Stays focused and deals with setbacks in a timely manner.
- Seeks out learning opportunities to increase own knowledge and
skill.
- Completes assigned coding tasks to specifications on time
without significant errors or bugs.
- Resolves straightforward software issues and bugs within a
reasonable amount of time.
- Actively seeks answers for new challenges.
- Prioritizes project deadlines and deliverables with close
supervision.
- Is receptive to others' suggestions about ways in which a
problem can be addressed differently.
- Escalates technical issues to an appropriate party (e.g.,
project lead, colleagues).
- Networks with colleagues within domain to gain insight, ideas,
and connections.Educational Requirements:
- Minimum: Bachelors in Engineering (Computer Science/Electrical
Engineering)
- Preferred: Masters in Engineering (Computer Science/Electrical
Engineering)Qualcomm is an equal opportunity employer. If you are
an individual with a disability and need an accommodation during
the application/hiring process, rest assured that Qualcomm is
committed to providing an accessible process. You may e-mail or
call Qualcomm's toll-free number found . Upon request, Qualcomm
will provide reasonable accommodations to support individuals with
disabilities to be able participate in the hiring process. Qualcomm
is also committed to making our workplace accessible for
individuals with disabilities.To all Staffing and Recruiting
Agencies: Our Careers Site is only for individuals seeking a job at
Qualcomm. Staffing and recruiting agencies and individuals being
represented by an agency are not authorized to use this site or to
submit profiles, applications or resumes, and any such submissions
will be considered unsolicited. Qualcomm does not accept
unsolicited resumes or applications from agencies. Please do not
forward resumes to our jobs alias, Qualcomm employees or any other
company location. Qualcomm is not responsible for any fees related
to unsolicited resumes/applications.EEO Employer: Qualcomm is an
equal opportunity employer; all qualified applicants will receive
consideration for employment without regard to race, color,
religion, sex, sexual orientation, gender identity, national
origin, disability, Veteran status, or any other protected
classification.Qualcomm expects its employees to abide by all
applicable policies and procedures, including but not limited to
security and other requirements regarding protection of Company
confidential information and other confidential and/or proprietary
information, to the extent those requirements are permissible under
applicable law.Pay range and Other Compensation & Benefits:
$111,300.00 - $166,900.00The above pay scale reflects the broad,
minimum to maximum, pay scale for this job code for the location
for which it has been posted. Even more importantly, please note
that salary is only one component of total compensation at
Qualcomm. We also offer a competitive annual discretionary bonus
program and opportunity for annual RSU grants (employees on
sales-incentive plans are not eligible for our annual bonus). In
addition, our highly competitive benefits package is designed to
support your success at work, at home, and at play. Your recruiter
will be happy to discuss all that Qualcomm has to offer - and you
can review more details about our US benefits at this .If you would
like more information about this role, please contact .
#J-18808-Ljbffr
Keywords: Qualcomm, San Diego , Senior Software Engineer - Kernel Services, IT / Software / Systems , San Diego, California
Didn't find what you're looking for? Search again!
Loading more jobs...