We are looking for a Sr. level system software / firmware engineer, with broad experience developing software and firmware for complex communications / SoC semiconductors, to fill a critical vacancy in the System Level Silicon Validation team. The ideal candidate is very comfortable with both hardware and software, understands system concepts related to multi-core x86 SMP server architectures and PCI, is comfortable working in a pre-production silicon development environment on large scale emulation platforms, and has a demonstrated expertise developing both device driver software (Linux user and kernel mode) and embedded firmware for PCIe-based networking and storage controller products. The ideal candidate will also possess excellent written communication skills, with an ability to generate clear, accurate. and complete ASIC validation test plans to drive silicon validation activities in pre-production / emulation phases.
REQUIRED SKILLS AND EXPERIENCE
-BS in CECS or EE required -Onsite in Irvine 5 days/week -15-20+ years of software and firmware development experience in both Linux OS and embedded firmware environments -Experience developing embedded firmware, kernel mode device drivers, and user mode application software -Demonstrated understanding of system level concepts, including: • Kernel and User Mode Software Partitioning • Host Device Driver / Hardware Interfaces • PCIe Protocol • Interrupts (INTA, MSIx) • DMA Concepts • Physical and Virtual Memory Management • Complex Data Structures and Multi-Process / Multi-Threaded Software Architectures • Hardware Virtualization Concepts (IOMMU, SR-IOV, Multi-Tenant Architectures) • Networking Concepts (all layers) • Low level device and block level programming for complex SoC platforms -Demonstrated expertise in hardware and software debug, including: • Ability to work with system bus analyzers and network protocol analyzers • Comfortable with In Circuit Emulators and low level ARM CPU debug environment • Trace buffer and post-mortem analysis / troubleshooting • Ability to work with hardware design engineers to capture and analyze digital wave forms • Additional / Desired Experience: • Block Storage, Network Stack Offload, Custom Protocol Offload (NVMe, RDMA, Crypto/Compression) • Network QoS and Traffic Shaping • Experience with scripting languages to drive automation (Python, Tcl) • Ability to work with ASIC Architects, Designers, and Verification Engineers to: • Create new product architectures • Develop Software Test Architecture documents • Coordinate and Develop broad scale System Level Silicon Validation test plans