Engineer I, Smart Switch Software Development
Job description
About the role
You will write, debug, and maintain embedded C code for user-space daemons, shared libraries, and Linux kernel modules that run on resource-constrained ARM64 and MIPS switch platforms. You will implement well-scoped pieces of L2/L3 networking features under guidance, including VLANs, STP/RSTP, LLDP, IGMP snooping, LACP, and ACLs. You will work hands-on with switch hardware in the lab, using serial consoles, traffic generators, packet capture, and JTAG to validate behavior on real silicon. You will take ownership of bug tickets from the field, reproduce issues on hardware, isolate root causes across the kernel, driver, and application layers, and deliver fixes with regression coverage. You will read IEEE and IETF standards, study existing codebases, and translate requirements into correct, conformant firmware implementations. You will participate actively in code reviews as both author and reviewer, asking good questions and documenting what you learn for the team. You will use AI coding agents such as Claude Code, Cursor, and GitHub Copilot daily to accelerate ramp-up, generate boilerplate, explore unfamiliar code, draft tests, and assist with debugging.
Key facts
What you'll do
- Embedded C Development: Write, debug, and maintain embedded C code for user-space daemons, shared libraries, and Linux kernel modules running on resource-constrained ARM64 and MIPS switch platforms while following team coding standards to produce efficient, defensive, and production-ready code.
- Drivers & Platform Bring-Up: Assist senior engineers in developing and maintaining device drivers, board support package (BSP) code, and the hardware abstraction layer (HAL) that connects the switch ASIC SDK to higher-level firmware components.
- L2/L3 Protocol Work: Implement well-scoped pieces of L2/L3 networking features under guidance, including VLANs, STP/RSTP, LLDP, IGMP snooping, LACP, and ACLs by reading relevant IEEE/IETF standards, studying existing code, and shipping correct, conformant implementations.
- Bug Fixes & Debugging: Take ownership of bug tickets from the field and internal QA, reproduce issues on physical hardware, isolate root causes across kernel, driver, and application layers, and deliver fixes with appropriate regression coverage using standard debugging tools.
- Hardware Lab Work: Work hands-on with switch hardware in the lab environment, using serial console, traffic generators, packet capture, and JTAG when necessary to validate firmware behavior on real hardware before merge.
- Code Reviews & Learning: Participate actively in code reviews as both author and reviewer, ask insightful questions, document findings and learnings, and grow your understanding of the full firmware stack over time.
- AI-Augmented Development: Use AI coding agents on a daily basis as part of your workflow for code generation, debugging, learning, and accelerating ramp-up while developing the judgment to know when to verify AI output against datasheets, standards, and hardware behavior.
- Collaboration & Ownership: Collaborate closely with senior engineers across development, validation, and product teams to deliver well-scoped features, communicate progress, and align on quality and timeline expectations.
Requirements
- B.Tech/B.E. or M.Tech/M.E. in Computer Science, Electronics, Electrical, or a related field.
- 0-2 years of professional experience with a strong foundation in embedded systems and networking concepts.
- Strong programming fundamentals in C, including pointers, memory management, structures, bit manipulation, and the standard library.
- Working knowledge of Linux as a development environment, including shell, GCC toolchain, GDB, Make, and Git.
- Foundational understanding of computer networks, including the OSI model, Ethernet, IP, TCP/UDP, ARP, VLANs, and subnetting.
- Familiarity with operating system concepts such as processes, threads, scheduling, interrupts, and memory layout.
- Curiosity about embedded systems and a willingness to read datasheets, standards documents, and existing codebases to learn new hardware and protocols.
- Comfort using AI coding assistants such as Claude Code, Cursor, or GitHub Copilot in academic projects, internships, or personal work.
- Strong written and verbal communication in English with the ability to collaborate effectively with team members across time zones.
Nice to have
- Coursework, internship, or project experience in embedded systems, RTOS, microcontrollers, or device drivers.
- Exposure to Linux kernel internals, driver development, and debugging at the kernel level.
Practical notes
This role is based in Bengaluru, India, and is a full-time engagement. The position is entry-level and does not require prior professional experience beyond the specified 0-2 years range. Structured mentorship, clear ownership of well-scoped features, and a defined growth path to Engineer II within 18-24 months are provided. As an AI-augmented team, you are expected to use AI coding agents as part of your daily development workflow.