Fortinet

Embedded Software Engineer

Fortinet

full-time

Posted on:

Location Type: Hybrid

Location: SunnyvaleCaliforniaUnited States

Visit company website

Explore more

AI Apply
Apply

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