Job Description:
We are seeking a highly skilled Embedded Systems Engineer with strong expertise in C programming, Linux-based development, and deep understanding of Layer 2/Layer 3 networking protocols. The ideal candidate will be responsible for designing, developing, and optimizing embedded software for networking devices and systems.
Key Responsibilities:
· Design and develop embedded software in C for networking products.
· Work on Linux kernel and user-space components for embedded platforms.
· Implement and troubleshoot L2/L3 protocols such as Ethernet, VLAN, STP, ARP, IP, TCP, UDP, DHCP, BGP, OSPF, and MPLS.
· Optimize performance and memory usage for embedded systems.
· Collaborate with hardware engineers to integrate software with board-level components.
· Conduct unit testing, integration testing, and validation of embedded software.
· Participate in code reviews and maintain high coding standards.
· Debug and resolve issues in embedded systems using tools like GDB, Wireshark, and JTAG.
Required Skills:
· Strong proficiency in
C programming
for embedded systems.
· Hands-on experience with
Linux kernel
, device drivers, and system programming.
· Solid understanding of
networking fundamentals
, especially
L2/L3 protocols
.
· Experience with
network packet processing
, routing, and switching.
· Familiarity with
cross-compilation
, build systems (Make, CMake), and version control (Git).
· Experience with debugging tools and protocol analyzers.
· Knowledge of embedded development environments and RTOS (optional but preferred).