Software Engineer - ASIC Driver Development

Barefoot Networks, Inc. - Santa Clara, CA

Full-timeEstimated: $110,000 - $140,000 a year
Skills
Barefoot Networks is a team of visionaries, experienced technologists and engineers with a proven track record of success who have created a blueprint for designing and operating the world’s fastest and most programmable networks. Our team is driven by deep engineering skills and a love of cutting-edge projects. We are building the world’s fastest switches that are also fully programmable, ensuring the network can adapt to meet the emerging needs of applications and empower users to write solutions rapidly, and to innovate broadly. We believe that when the network is fully programmable—that is, both the control plane and data plane are under the control of the end user— the networking industry will enjoy the same innovative explosion as we have seen in software.

Programmable data planes will enable a whole new ecosystem of advanced networking applications, and the field of possibility is mind-bogglingly wide. It ranges from advanced network monitoring, analysis, and diagnostics, to building a large-scale data analysis platform, to embedding some middle-box functions in switches/routers, and to jointly designing a network and the apps running on the network. We're just starting to scratch the surface of novel and exciting networking applications, and we're looking for passionate engineers who can join this amazing journey with us.

Job Summary:
Design and develop software and tests for networking ASIC drivers.

Primary Responsibilities:
Responsible for the definition, design, development, test, debugging, release, enhancement and maintenance of driver software for networking devices.
Write design specifications and functional specifications for software architecture design
Develop and define new software product features
Perform complex system level tests, enhance and resolve issues in existing codes and perform unit testing and integration testing
Enjoy working in a start-up environment. Able and willing to wear multiple hats and do what it takes to get the job done

Minimum Qualifications:
Knowledge and experience of complex software design for embedded systems and networking/telecommunications systems
Software development experience on real time (Linux, QNX, VxWorks) or embedded systems.
Excellent programming skills in C
Experience in designing and developing high-performance switching and routing software
Strong knowledge of operating system architecture such as memory management, IPC, scheduling, task switching, concurrent memory access, event driven programming.
Background in software design, implementation and debugging.
Strong communication, teamwork and problem solving skills are essential.
Education: MSEE/CS

Preferred Qualifications:
Experience with design and development in at least one of the areas
Data plane firmware/microcode and data plane drivers
QoS and traffic management drivers
Port and Serdes/PHY drivers
PCIe, DMA drivers and Linux Kernel Modules
MSEE/CS with 2+ years, or BSEE/CS with 4+ years of experience in a software development position.

Barefoot Networks is an Equal Employment Opportunity Employer. The company provides equal employment opportunities to all qualified applicants without regard to race, sex, sexual orientation, gender identity, national origin, color, age, religion, protected veteran or disability status, or genetic information.