Senior Embedded Software Engineer - Linux Kernels, ARM, X86
Ph7
San Jose (CA)
On-site
USD 120,000 - 160,000
Full time
14 days+
Get more replies from employers
Send a job-specific resume in minutes.
Start fresh or import an existing resume
Job summary
A leading technology company is seeking a Senior Embedded Software Engineer to join their dynamic software team. This role focuses on software development for network processors, requiring strong programming skills and extensive experience in embedded systems. The ideal candidate will have a Bachelor's degree in Computer Science or Electrical Engineering, with at least 5 years of relevant experience. If you're a detail-oriented professional with a passion for embedded systems and networking, we want to hear from you!
Qualifications
5+ years of experience in embedded system programming.
Strong knowledge of networking protocol stacks (TCP/IP, UDP, etc.).
Proven experience with solving real-time embedded issues.
Responsibilities
Work on software development for network processor products.
Support and maintain existing software and develop new protocols.
Help customers optimize applications on OCTEON and other processors.
Skills
C
C++
Networking Protocol Stacks
Debugging Tools
Multi-core Environment
Education
Bachelor’s Degree in Computer Science or Electrical Engineering
M.S. preferred
Job description
Senior Embedded Software Engineer - Linux Kernels, ARM, X86
Full-time
A Network Processor Company
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.
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)
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.).
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.