You will be joining the Embedded Linux team, working on the LE Platform team, upgrading Yocto, feature bringup, triaging and debugging software failures and stability issues on Embedded Linux on our mobile MSM/SDX chipset family. The Embedded Linux Platform team is closely knit, agile workgroup of Image, Triage and Stability engineers reporting directly to the Platform Lead to drive to closure all issues leading up to commercial launches of our LE solutions.
- LE Platform bringup and support, Triaging software failures on the LE software stack.
- Investigation and debugging stability problems that are identified by the test teams.
- Identifying, verifying, and propagating fixes for the software failures.
- Working closely with development teams to support the Platform.
- Working closely with LE Platform and Tech team software leads to resolve all software issues gating commercial launches.
- Supporting teams outside the LE Platform team on all dependencies.
- Supporting our customers when required to resolve launch-gating issues.
Experience in the the following areas is a plus:
- Proven ability and interest in debugging complex embedded software systems.
- Strong background in Computer Science and fundamentals of debugging embedded software.
- Good working knowledge of C, C++ and Java.
- Strong ability to solve problems in a non-linear fashion.
- Prior experience with LE/Android and/or Qualcomm MSM software platforms.
- Technical understanding of Wireless Applications and Network Interactions with Handsets e.g., browser, messaging, email, app downloads, etc. is highly desired.
- Proven ability to develop and debug Embedded Linux and Android applications is highly desired.
- Experience with git and LE build systems is highly desired.
- Mature interpersonal skills with an ability to collaboratively work with many varied teams and resolve problems spanning many disciplines.
- Proven ability to work in a dynamic, multi-tasked environment
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+ years experience with Programming Language such as C, C++, Java, Python, etc.
- Excellent written and verbal communication skills
- 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.