Software Engineer - Host and Network IO
Develops host and network I/O software spanning server nodes, custom networking, and Cerebras hardware. The role requires strong systems and networking expertise, including TCP/RoCE, packet analysis, embedded systems, and hardware/software co-design.
About the job
Responsibilities
- Develop x86 and ARM software exposing next-generation hardware I/O capabilities for AI and HPC application teams.
- Govern a generic I/O API used by multiple internal teams.
- Develop control and configuration subsystems that interact directly with Cerebras hardware.
- Debug network performance in large AI clusters.
- Gather and analyze network statistics and packet traces to identify and resolve bottlenecks and other inefficiencies.
- Develop tools and telemetry to improve visibility into network and I/O datapaths.
- Optimize CPU and memory utilization using kernel-bypass and zero-copy techniques.
- Integrate advanced networking technologies and protocols.
- Lead cross-functional technical projects involving software, hardware, and multiple teams.
- Communicate effectively with teams and stakeholders.
Requirements
- Master's or PhD in Computer Science or Electrical Engineering with at least 1 year of industry experience, or at least 3 years of industry experience.
- Experience working in large software environments.
- Experience with embedded systems, hardware/software co-design, and some driver development.
- Familiarity with network protocols such as TCP and RoCE, and network debugging tools such as Wireshark, or willingness to learn.
- Familiarity with network switch environments such as Arista and Juniper, or willingness to learn.
- Strong analytical skills, attention to detail, and willingness to learn unfamiliar systems.
Benefits
- Opportunity to work on a large-scale AI platform and AI supercomputer.
- Opportunities to publish and open-source AI research.
- Startup environment with job stability and a collaborative, learning-oriented culture.
Skills
C/C++, X86, Arm, Socket Programming, Rdma Verbs, Tcp, Roce, Wireshark, Embedded Systems, Driver Development, Kernel Bypass, Zero-Copy
Similar jobs
Backend Engineering jobsBuild and scale backend identity and access management services supporting Reddit’s users and engineering systems. The role requires distributed backend systems experience, IAM expertise in authentication or authorization, programming proficiency, and cloud infrastructure skills.
Build and improve Tailscale’s client-side networking and connectivity software across clients, routers, exit nodes, and customer integrations. The role requires substantial networking experience, low-level programming proficiency, and expertise in routing, VPNs, NAT traversal, and performance optimization.
Backend software engineer responsible for building and maintaining distributed claims technology systems, owning features through deployment, and collaborating with stakeholders and insurance partners. Requires at least three years of professional experience and expertise in object-oriented programming, distributed systems, and databases.
Software engineer responsible for improving credit-card transaction authorization, reducing customer friction, and building proactive fraud and risk controls. Requires 4+ years of professional coding experience, strong product sense, and hands-on transaction-data investigation.
Build and scale Ruby on Rails backend services for rewards, incentives, and loyalty features in a high-throughput platform. The role owns complex feature delivery, contributes to architecture, mentors junior engineers, and requires 3+ years of professional software engineering experience.