Lead Software Engineer - Linux Device Drivers responsible for software development, maintenance, and troubleshooting of network processors. Requires 5+ years of experience in embedded system programming, knowledge of networking protocol stacks, and experience with Linux kernel and device drivers.
Requirements
- Bachelor’s Degree in Computer Science, Electrical Engineering, or equivalent
- 5+ years of experience in embedded system programming
- Excellent programming skills – C, C++, and assembly
- Strong knowledge of networking protocol stacks (TCP/IP, UDP) and application level protocol (HTTP, FTP, SMB, etc.)
- Knowledge of Ethernet and related switching architectures
- Proven experience with solving real-time embedded issues, including: threading, optimization, memory management, interrupt handling, etc.
- Experience in troubleshooting, performance analysis, and performance optimization for embedded systems
- Linux kernel and device drivers (networking, PCI, etc.)
- Understanding of low level CPU architecture
- Working experience with multi-core/multi-CPU environments
- Knowledge of OCTEON/MIPS CPU architecture
- Previous experience in Deep Packet Inspection Software would be a plus