Staff Embedded Platforms Software Engineer

QualcommSan Diego, CA
$153,537 - $202,200

About The Position

This individual leads, plans, synthesizes ambiguous or conflicting requirements and performs the complex responsibility of the development, creation, and modification of general computer applications software, specialized utility programs, and advanced embedded system features. Analyzes user needs and develops software solutions. Creates and owns detailed technical designs and corresponding documentation for complex software and embedded system features, ensuring clarity and alignment across stakeholders. 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. Presents technical designs to project and departmental teams and incorporates feedback as appropriate. 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. Completes assigned coding tasks to specifications on time without significant errors or bugs. Adapts to changes and setbacks in order to manage pressure and meet deadlines. Collaborates with others inside project team to accomplish project objectives. Communicates with project lead to provide status and information about impending obstacles. Quickly resolves complex software issues and bugs. Independently and collaboratively performs deep, tool-driven debugging on embedded platforms to resolve complex system-level issues. Gathers, integrates, and interprets information specific to a module or sub-block of code from a variety of sources in order to troubleshoot issues and find solutions. Seeks others' opinions and shares own opinions with others about ways in which a problem can be addressed differently. Participates in technical conversations with tech leads/managers. Anticipates and communicates issues with project team to maintain open communication. Makes decisions based on incomplete or changing specifications and obtains adequate resources needed to complete assigned tasks. Prioritizes project deadlines and deliverables with minimal supervision. Resolves straightforward technical issues and escalates more complex technical issues to an appropriate party (e.g., project lead, colleagues). Writes readable code for large features or significant bug fixes to support collaboration with other engineers. Determines which work tasks are most important for self and junior engineers, stays focused, and deals with setbacks in a timely manner. Unit tests own code to verify the stability and functionality of a feature. Acts as a strong contributor at design reviews and project meetings and communicates and implements a development plan.

Requirements

  • Master's Degree (or foreign academic equivalent) in Electrical Engineering, Computer Engineering, Computer Science or related degree field.

Responsibilities

  • Develops, creates, and modifies general computer applications software, specialized utility programs, and advanced embedded system features.
  • Analyzes user needs and develops software solutions.
  • Creates and owns detailed technical designs and corresponding documentation for complex software and embedded system features.
  • Analyzes and designs databases within an application area.
  • Modifies existing software to correct errors, adapt to new hardware, or improve performance.
  • Analyzes user needs and software requirements to determine design feasibility within time and cost constraints.
  • Confers with systems analysts, engineers, programmers and others to design systems and obtain information on project limitations, capabilities, performance requirements, and interfaces.
  • Presents technical designs to project and departmental teams and incorporates feedback.
  • Stores, retrieves, and manipulates data for analysis of system capabilities and requirements.
  • Designs, develops, and modifies software systems using scientific analysis and mathematical models.
  • Completes assigned coding tasks to specifications on time without significant errors or bugs.
  • Adapts to changes and setbacks to manage pressure and meet deadlines.
  • Collaborates with others inside project team to accomplish project objectives.
  • Communicates with project lead to provide status and information about impending obstacles.
  • Resolves complex software issues and bugs.
  • Performs deep, tool-driven debugging on embedded platforms to resolve complex system-level issues.
  • 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.
  • Seeks others' opinions and shares own opinions about problem-solving approaches.
  • Participates in technical conversations with tech leads/managers.
  • Anticipates and communicates issues with project team.
  • Makes decisions based on incomplete or changing specifications and obtains adequate resources.
  • Prioritizes project deadlines and deliverables with minimal supervision.
  • Resolves straightforward technical issues and escalates more complex technical issues.
  • Writes readable code for large features or significant bug fixes.
  • Determines important work tasks for self and junior engineers, stays focused, and deals with setbacks.
  • Unit tests own code to verify stability and functionality.
  • Acts as a strong contributor at design reviews and project meetings.
  • Communicates and implements a development plan.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service