
Embedded Software Engineer
Fortinet
full-time
Posted on:
Location Type: Hybrid
Location: Sunnyvale • California • United States
Visit company websiteExplore more
Salary
💰 $96,800 - $118,300 per year
About the role
- Participate in the development and maintenance of existing and next-generation firewall product suites.
- Design, implement, and maintain core platform modules for embedded networking and security appliances.
- Develop and enhance low-level software components, including device drivers, kernel modules, and board support packages (BSPs).
- Take ownership of significant areas of the codebase for both new feature development and maintenance or redesign of existing product areas.
- Support all phases of the software development life cycle, including requirements gathering, design, implementation, testing, validation, and deployment.
- Collaborate closely with hardware teams on board bring-up, platform integration, debugging, and validation of new systems.
- Optimize software for performance, scalability, memory efficiency, reliability, and maintainability.
- Debug and resolve complex issues across hardware and software layers using a structured and systematic approach.
- Contribute to embedded platform architecture, software design decisions, and long-term technical improvements.
- Participate in code reviews, CI/testing, and development best practices to ensure high-quality deliverables.
- Follow secure coding practices and support the development of security-focused product features.
- Continuously contribute to product improvements in performance, scalability, reliability, and maintainability.
Requirements
- Bachelor’s degree or advanced degree in Computer Science, Electrical Engineering, or a related field.
- Strong proficiency in C and/or C++ programming.
- Experience with embedded Linux systems and low-level software development.
- Solid understanding of operating system concepts, including memory management, processes, concurrency, and multi-threaded systems.
- Strong problem-solving and debugging skills, with the ability to analyze complex multivariate problems and drive efficient resolution.
- Understanding of L2-L4 network protocols and networking fundamentals such as TCP/IP, routing, and switching.
- Experience with hardware interfaces such as SPI, I2C, UART, PCIe, or similar system interfaces.
- Familiarity with debugging and validation tools such as GDB, JTAG, oscilloscopes, or logic analyzers.
- Good written and verbal communication skills, including the ability to work effectively across teams.
Benefits
- medical
- dental
- vision
- life and disability insurance
- 401(k)
- 11 paid holidays
- vacation time
- sick time
- comprehensive leave program
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard Skills & Tools
CC++embedded Linuxdevice driverskernel modulesboard support packagesoperating system conceptsnetwork protocolsmemory managementmulti-threaded systems
Soft Skills
problem-solvingdebuggingcommunicationcollaborationownershipanalytical skillsstructured approachattention to detailadaptabilityteamwork