Job Role: Embedded C++ Developer
Client - Enfabrica
Location: Durham, NC
Summary
Join an ambitious and highly experienced team of silicon and hyperscale data center systems experts as a functional emulation embedded software engineer. Our team is motivated by a singular mission: to revolutionize the performance and scalability of next-generation distributed computing infrastructure. You have the opportunity to build a groundbreaking new category of product, working alongside some of the industry's most talented hardware and software engineers to create truly disruptive infrastructure solutions that delight our customers.
We are seeking a talented Software engineer to join our team focused on functional emulation of hardware I/O devices and network simulation. In this role, you will be involved with developing components required to emulate various pieces of I/O pipelines in a hardware virtualized environment. This software will provide the glue between Linux kernel drivers, networking components, I/O devices and other real HW components.
Roles and Responsibilities:
Develop Server and I/O components of Functional Emulation
Drive development of shared, common libraries required by device models
Work with HW team on definition of what should be emulated
Write C/C++ emulation models of silicon components
Own Unit Test of Functional Emulation framework
Desired Knowledge and Skill Set:
Strong C/C++ coding skills, good understanding of algorithms and data structures; golang and python experience would be a plus
Experience with working on Linux OS. Kernel/low level driver experience would be a plus.
Knowledge of modeling and simulation environments such as QEMU
Experience working closely with hardware engineers regarding component design of CPUs, memory, networking devices, storage devices and other server based I/O technologies
Good knowledge of TCP/IP and other networking protocols
Familiarity with variety of software debugging, troubleshooting and system profiling tools
Experience building common software libraries used by development teams
5+ years of software development experience