Senior Embedded Software Engineer - Linux Kernels, ARM, X86
San Jose, CA, United States On-site
Salary not listedJobFig found this opening at its original source and checks that it remains available.
About the role
Company Description A Network Processor Company Job Description Responsibilities: • Work as part of a dynamic software team on various processors • Software development work will include learning of network processor hardware products, protocol stacks, existing software on those products and other related software tools. The development work includes supporting/maintaining existing software and development for new RFCs/protocols. • Help customers in porting and optimizing their existing applications to OCTEON or other processors. • Additional knowledge of Linux Device Drivers and C Programming is required. • Work also involves trouble shooting and resolving complex software issues – especially in multi-core environment. • Qualifications Requirements: • Minimum: Bachelor’s Degree in Computer Science, Electrical Engineering, or equivalent. M.S. preferred. • 5+ years of experience in embedded system programming. • Excellent programming skills – C, C++and assembly (preferably MIPS, candidate will need to learn ARMv8) • Strong knowledge of networking protocol stacks (TCP/IP, UDP, IPsec, SSL, 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. • Knowledge of various debugging tools (EJTAG, probes, logic analyzers, etc.). • Linux kernel and device drivers (networking, PCI, etc.). • Understanding of low level CPU architecture. • Working experience with multi-core/multi-CPU environments. • Some understanding of HW/SW virtualization concepts • Effective interpersonal, teamwork, and verbal/written communication skills; able to interface internally and externally with all levels of the organization. • Diligent, detail-oriented, and willing to take initiative and handle assignments with minimal supervision. Inherent sense of urgency and accountability; able to multi-task in a dynamic, fast-paced environment. • Knowledge of OCTEON/MIPS CPU architecture Additional Information
What you'll bring
- Minimum: 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, IPsec, SSL, 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.
- Knowledge of various debugging tools (EJTAG, probes, logic analyzers, etc.).
- Linux kernel and device drivers (networking, PCI, etc.).
- Understanding of low level CPU architecture.
- Working experience with multi-core/multi-CPU environments.
- Some understanding of HW/SW virtualization concepts