Embedded Software Engineer (Hybrid Remote)
This position allows for 3 days per week remote / work from home. Salary: $130,000 - 160,000/yearWe are looking for a skilled and passionate Senior Embedded Software Engineer to build high-performance, resilient firmware and software for our next-generation networking and communications platforms.In this role, you will work close to the hardware—architecting, developing, and optimizing Linux-based networking applications, user-space services, and low-level system drivers using modern C++. You will partner directly with hardware, system architecture, and QA teams to take cutting-edge communications hardware from early bring-up all the way to deployment.ResponsibilitiesArchitect, write, and maintain clean, reliable, and high-performance C/C++ software for Embedded Linux targets.Design software protocols, control plane services, data path algorithms, and management interfaces for communications equipment.Customize and optimize Linux kernels, write device drivers (e.g., PCIe, Ethernet, SPI, I2C), and construct custom BSPs (Board Support Packages).Implement networking stack features and protocols (e.g., TCP/IP, VLAN, Routing, IPSec, TLS/SSL, SNMP, REST APIs).Collaborate closely with hardware engineers during new board bring-up, debugging early-stage hardware using logic analyzers, oscilloscopes, and JTAG/SWD probes.Build automated cross-compilation toolchains and integrate open-source packages into custom Linux distributions using Yocto Project or Buildroot.Perform system-level optimization for boot time, CPU utilization, memory footprint, and low-latency packet throughput.Write unit, integration, and functional test frameworks to ensure high code quality and multi-year field reliability.Apply secure coding practices to safeguard network communications, handling encryption, secure boot, and key management.Perform deep root-cause analysis on system crashes, memory leaks, concurrency issues, and race conditions using GDB, Valgrind, and system tracers.Participate in agile sprints, peer code reviews, and system architectural discussions.Contribute to continuous improvement in CI/CD pipelines, automated testing, and software documentation.Mentor junior and mid-level engineers in modern C++ practices and Linux system programming.QualificationsBachelor’s or Master’s degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent experience.5+ years of hands-on experience in embedded software development.Deep proficiency in C++ (C++11/14/17+) and C, with a strong focus on object-oriented design, multi-threading, and memory management.Advanced understanding of Embedded Linux internals, POSIX APIs, IPC mechanisms, and user/kernel-space architectures.Solid grasp of networking concepts, the OSI model, network sockets, and core TCP/IP protocols.Hands-on experience with modern build and configuration tools (Yocto, Buildroot, CMake, Git, GDB).