Expoint - all jobs in one place

The point where experts and best companies meet

Limitless High-tech career opportunities - Expoint

Qualcomm Principal Engineer Embedded Software Developer 
United States, California, San Diego 
107600883

21.11.2024

Job Area:

Engineering Group, Engineering Group > Software Engineering

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 8+ years of Software Engineering or related work experience.

Master's degree in Engineering, Information Systems, Computer Science, or related field and 7+ years of Software Engineering or related work experience.

PhD in Engineering, Information Systems, Computer Science, or related field and 6+ years of Software Engineering or related work experience.

• 4+ years of work experience with Programming Language such as C, C++, Java, Python, etc.

We are looking for an energetic engineer with solid hands-on software design and development experience on complex embedded computing platforms.

  • Candidate should have good knowledge in the wired peripheral interfaces like PCIe, USB, SPI/UART/I2C and has experience developing device drivers in QNX, Linux or other RTOSs.

  • 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.

Preferred Qualifications:

  • 5+ years of relevant experience in technology domains listed below.

  • Solid hands-on software design and development experience on complex embedded computing platforms.

  • Strong working knowledge of operating systems like QNX, Linux and other RTOSs

  • Demonstrated system software development experience including kernels, device drivers and board-support packages.

  • Working knowledge of peripherals and interfaces e.g., PCIe, SPI/UART/I2C, USB, Ethernet etc.

  • Strong programming experience in C/C++ , as well as hands-on experience debugging complex embedded software.

  • Experience using industry standard development tools - e.g. tool-chains, IDEs, configuration management etc.

  • Ability to contribute to all phases of software development - bring-up, design and deployment.

  • Demonstrated ability to work with engineers, partners and customers, and across the different geographical sites and technology domains.

  • Excellent verbal and written communication skills.

  • Deep understanding of OS internals scheduler, cache/memory handling, interrupt processing, MMU/SMMU, IPCs, virtualization/hypervisor etc.

  • Experience designing complex fault-tolerant safety systems, and designing in accordance to industry standard specifications(eg. ISO26262, ASPICE).

Principal Duties and Responsibilities:

  • Leverages advanced Software knowledge and experience to design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs.

  • Design, develop, code, test software modules

  • Gather customer requirements, distill requirements to software architecture, create software architecture documents.

  • Analyzes user needs, software requirements, and time and cost constraints to design and customize software for optimal operational efficiency.

  • Designs and implements software modules for large-scale products and systems.

  • Participates in and leads design, coding, unit testing, debugging, and integration efforts to ensure projects are completed to specifications and schedules.

  • Performs complex code reviews and regression tests as well as triages and fixes issues to ensure the quality of code.

  • Collaborates with individuals outside the software function (e.g., Hardware, Systems, and Test engineers) to ensure solutions work with other components of a specific project.

  • Writes detailed technical documentation for complex Software projects.

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.

:

$180,000.00 - $270,000.00