- Location
- San Diego, CA,US, US
- Workplace
- Remote
- Type
- Full-time
- Department
- Engineering
- Seniority
- Senior
- Education
- PhD
- Source
- Eightfold
Description
Your responsibilities may include, but not limited to, Design, development and integration of SoC firmware features, diagnostics and test capabilities for QCT boot platforms. Design, development and integration of SoC firmware features, diagnostics and test capabilities for QCT boot platforms. Strong coordination and collaboration across wide range of technical areas to include software, hardware, ASIC, integration, architecture, and emulation teams. Paying attention to the details during all phases of firmware design, development, integration, testing and release - Work with Emulation, HW design teams, as necessary, in verifying and debugging firmware, driver and resolving platform issues Efficient and secure (ie. cognizant of not exposing security exploits) coding plus driving code review of firmware logic updates with all required stakeholders On time execution of defined tasks and deliverables, driving dependencies with other teams to closure Triage of software issues, defect investigation and problem resolution. Technical documentation including APIs, manuals, and user guides. Skills and Experience We are looking for engineers from a range of backgrounds and experience, including graduates and experienced kernel and systems developers. An understanding of computer architecture, operating systems, and kernels. IOMMU and ARM SMMU knowledge Hypervisors and virtualization. Experience with multi-processing or multi-threading, concurrency, and synchronization. Writing device drivers and interfacing hardware. Use of debugging tools such as GDB, Lauterbach Trace32 and understanding assembly. Real-time OS. Toolchains and systems libraries (libc etc). Python, shell scripting and Linux based development environment. Test development and test automation. Contributing to open-source projects. Demonstrated independent software design, good analytic and problem-solving skills. Any automotive and functional safety experience may also be relevant The team is responsible for the hypervisor software layers that plays a key role in platform security and performance. The team has built hypervisor and SMMU expertise and continues to develop innovative features, enhancements, and use-cases. The role will include interfacing with large software stacks such as Bootloaders, Linux and TrustZone - which provides the opportunity to interact with teams around the world. -- Responsibilities We are looking for a highly motivated engineer and team player who is passionate to learn new technologies and write low level firmware that drives hardware and SoC. Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience. OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience. OR PhD in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience. 2+ years of work experience with Programming Language such as C, C++, Java, Python, etc. Master's Degree in Computer Science, Engineering, or related field. 4+ years of Software Engineering experience. 1+ year of work experience with Git, Perforce, or Source Code Management System. Strong understanding or experience with C. An understanding of computer architecture, operating systems, and kernels. Linux, kernel, bootloader or OS development experience. ARM CPU architecture knowledge. IOMMU and ARM SMMU knowledge Hypervisors and virtualization. Experience with multi-processing or multi-threading, concurrency, and synchronization. Writing device drivers and interfacing hardware. Experience with secure coding. Use of debugging tools such as GDB, Lauterbach Trace32 and understanding assembly. Real-time OS. Toolchains and systems libraries (libc etc). Python, shell scripting and Linux based development environment. Good communication and presentation skills. Test development and test automation. Contributing to open-source projects. Demonstrated independent software design, good analytic and problem-solving skills. Any automotive and functional safety experience may also be relevant.