About the company
This position is listed on behalf of a partner company, which manages all applications and next steps. Our partner is looking for an Embedded Linux Engineer based in the United States.
Responsibilities
- Design, develop, integrate, debug, and maintain Linux-based software for embedded networking and retransmission devices
- Maintain and enhance an existing OpenWrt-based firmware solution, including Linux image configuration, custom packages, package feeds, system services, first-boot behavior, and device configuration
- Support the migration of existing device capabilities to next-generation ARM-based hardware and a Linux-based architecture
- Develop and maintain image-building, packaging, provisioning, deployment, update, and release workflows
- Assist with bootloader configuration, Linux kernel integration, board-support packages, cross-compilation, device trees
- Build and maintain software, scripts, and automation tools using Python, Bash, C, C++
- Implement, maintain, and troubleshoot networking functionality, including interface configuration, routing, DNS, DHCP, firewalling, Wi-Fi, cellular or modem integration, and secure communications
- Develop and maintain REST APIs, web-based configuration interfaces, and device-management capabilities
- Create and maintain unit, integration, system, simulation, and hardware-connected tests
- Contribute to GitLab merge-request reviews, automated build and test pipelines, release processes
- Support secure software development through vulnerability remediation, certificate management, authentication and authorization, software-update integrity, dependency management, and CVE analysis
- Maintain design specifications, build instructions, API documentation, test procedures, and operational guides
Requirements
- Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical discipline
- At least five years of relevant professional software development experience, including a minimum of five years developing, integrating, testing, or maintaining Linux-based systems
- Demonstrated experience developing software with Python, Bash or shell scripting, and C or C++
- Strong knowledge of Linux system configuration, debugging, networking, package management, and software deployment
- Experience developing, integrating, and debugging software for ARM-based and/or Intel or x86-based devices
- Practical experience with embedded Linux distributions or build systems such as OpenWrt, Buildroot, Yocto, or equivalent technologies
- Experience with cross-compilation, embedded Linux image creation, software packaging, and deployment to embedded targets
- Experience configuring and troubleshooting Linux networking components, including interfaces, routing, DNS, DHCP, firewalls, and Wi-Fi
- Experience developing or debugging REST APIs, device-management applications, or web-based configuration interfaces
- Proficiency with Git and GitLab-based development workflows
- At least two years of experience building, maintaining, or troubleshooting automated CI/CD pipelines
- Experience developing unit, integration, system, or hardware-in-the-loop tests for software running on Linux-based systems or embedded devices
Conditions
- Fully remote, individual-contributor opportunity