Posted in

Embedded Software Engineer – Software Engineering

Embedded Software Engineer – Software Engineering

CompanyQualcomm
LocationSan Diego, CA, USA
Salary$Not Provided – $Not Provided
TypeFull-Time
Degrees
Experience LevelEntry Level/New Grad, Junior

Description

Development of IPC and VM specific Drivers for Inter Processor Communication, Diagnostic features and System Level features on products spanning all of Qualcomm’s Automobile chipset portfolio. In addition to significant ownership of the drivers involved, the engineer will also be expected to design, test and document these drivers for internal and external consumption.

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.

Preferred Qualifications:

  • Experience in C and Data structures, preferably in developing Linux kernel.
  • In-depth knowledge of Linux Kernel functionality and architecture especially driver module.
  • Excellent debugging and problem-solving skills in Linux Kernel. Familiar with ARM CoreSight architecture will be a plus.
  • Familiar 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:

  • 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. The responsibilities of this role do not include:
  • Financial accountability (e.g., does not involve budgeting responsibility).
  • Influence over key organizational decisions.
  • Role in strategic planning.

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.

Essential: Bachelors in Engineering (Computer Science/Electrical Engineering)

Preferred: Masters in Engineering (Computer Science/Electrical Engineering)

Benefits

Not Specified