The QUALCOMM SoC Infrastructure team currently has an opening for a junior level embedded software engineer focused on device driver development at the hardware/software interface. This role involves development activities for a range of low-level device drivers that directly control hardware, i.e. digital clocks, voltage regulators, GPIOs, interrupts, buses, etc. This position requires significant collaboration with hardware designers to understand, improve, and document hardware/software interfaces and candidates must be comfortable working across both hardware and software domains. Most software will be written in C and will run on a range of ARM and DSP based processors. Additional automation and tooling will be written in Python.
Required Competencies(All competencies are required upon entry)
- Analytical Skills - The ability to collect information and identify fundamental patterns/trends in simple to moderately complex data. This includes the ability to gather, integrate, and interpret information from several sources.
- Building Trusting Relationships - The ability to build trusting, collaborative relationships and rapport with different types of people and businesses. This includes delivering on commitments and maintaining confidential information, as well as being approachable, showing interest in the other person, and relating well to people regardless of personality or background.
- Communication - The ability to convey information clearly and accurately, as well as choosing the most effective method of delivery (e.g., email, phone, face-to-face). This includes using a technically sound communication style both verbally and in writing.
- Creating the New and Different - The ability to be creative. This includes the ability to produce breakthrough ideas, being a visionary, managing innovation, seeing multiple futures, having broad interests and knowledge, and gaining support in order to translate new ideas into solutions. This also includes the ability to plan and implement unconventional ideas and speculate about alternative futures without all of the data.
- Decision Making - The ability to make quick, accurate decisions. This includes the ability to weigh alternatives and take into account the impact of the decisions on people, equipment, or other resources.
- Getting Work Done - The ability to be organized, resourceful, and planful. This includes the ability to leverage multiple resources to get things done and lay out tasks in sufficient detail. This also includes the ability to get things done with fewer resources and in less time, work on multiple tasks at once without losing track, and foresee and plan around obstacles.
- Software Engineering - Knowledge of the overall process for developing new software. This includes knowledge of the roles and responsibilities of software engineering and other functions, major phases, checkpoints and deliverables. This also includes the ability to identify common issues and considerations for bringing a new product to the marketplace.
- Technical Troubleshooting - Knowledge of systematic approaches to solving common technical problems (e.g., hardware, software, application, operational). This includes the ability to identify problems and report and escalate problems according to established procedures. This also includes the ability to identify available resources for troubleshooting.
- Time Management - The ability to quickly prioritize mission-critical from less important or trivial work activities. This includes sensing what the next most useful thing is to work on, and focusing on the critical few tasks that add value while putting aside or delaying the rest.
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field.
- 1- 5 years of experience with Embedded Software Development
- 1-5 years of experience in C programming
- 1-5 years of experience in Python
- Lauterbach Trace32/JTAG debugging
- Perforce or other SCM tools
- ARM architecture
- Embedded software/device driver development for smartphone, Internet of Things (IoT), or other mobile devices
- Power management software
- Qualcomm products, i.e. MSMs, MDMs, etc.
- Frequently transports between offices, buildings, and campuses up to ½ mile.
- Frequently transports and installs equipment up to 5 lbs.
- Performs required tasks at various heights (e.g., standing or sitting).
- Monitors and utilizes computers and test equipment for more than 6 hours a day.
- Continuous communication which includes the comprehension of information with colleagues, customers, and vendors both in person and remotely.