What are the responsibilities and job description for the Embedded Linux Engineer position at i2Systems?
About the Company
i2Systems is a leading manufacturer of advanced industrial control solutions serving mission-critical applications. This position represents a key role in our next-generation platform development.
About the Role
We're seeking an experienced Embedded Linux Engineer for a 6-month contract (with potential extension) to architect and implement a mission-critical embedded platform for our next-generation industrial control system. Join us at the ground floor of platform development and make fundamental architectural decisions on a modern ARM-based Linux platform.
Responsibilities
- Configure and maintain Yocto-based build systems for custom ARM hardware
- Design and implement dual-bank OTA update framework with safe rollback mechanisms
- Develop application management daemon for integrity checking, monitoring, and automatic recovery
- Customize device tree (DTS) configurations for custom peripheral support
- Review hardware schematics and ensure platform reliability for field-deployed systems
- Create modular build layers that can run locally or on cloud infrastructure
- Build image generation and packaging processes as part of OTA workflow
- Ensure platform can reliably recover from update or application failures
Qualifications
- Education:
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or related field
OR equivalent practical experience in embedded systems development
Experience:
- 5 years of professional embedded Linux development experience OR 3 years with demonstrated expertise in Yocto, OTA systems, and ARM platform bring-up
- Proven track record bringing up new embedded Linux platforms from scratch
- Demonstrated experience with production-grade embedded systems
Required Skills
- Expert-level proficiency with Yocto Project/OpenEmbedded build systems
- Strong experience with device tree (DTS/DTB) development and debugging
- Hands-on experience designing OTA/update systems with dual-bank or A/B partitioning
- Working knowledge of bootloaders (U-Boot preferred)
- Experience with ARM-based processors (NXP i.MX, Qualcomm, TI, Rockchip, or similar)
- Proficiency in C/C for low-level system programming
- Understanding of Linux kernel internals, system partitioning, and file systems
- Experience with system reliability mechanisms (watchdogs, health monitoring, recovery systems)
Preferred Skills
- Technical Skills (Nice to Have):
- Specific experience with NXP i.MX processor family
- CAN bus protocol knowledge and firmware update implementation
- Hardware schematic review and validation capability
- Experience with container technologies (Docker, LXC) for application isolation
- Systemd service development
- CI/CD pipeline development for embedded builds
- Linux kernel security hardening and vulnerability patching
- Familiarity with commercial OTA frameworks (Mender, SWUpdate, RAUC)
- Experience with cross-compilation toolchains
Git version control and collaborative development workflows
Additional Experience:
- Previous work in manufacturing or industrial control environments
- Experience with field-deployed systems requiring high reliability
- Background in mission-critical or safety-critical embedded systems
Pay range and compensation package
- Duration: 6 months (potential extension based on project needs)
- Rate: $75-110/hour depending on experience
- Start Date: ASAP
- Preferred: On-site in Morris, CT (collaboration with hardware/firmware teams)
- Remote considered for exceptional candidates with relevant experience
Equal Opportunity Statement
i2Systems is committed to diversity and inclusivity in the workplace.
To Apply
Please include in your application:
- Resume highlighting relevant embedded Linux platform work
- Brief description of the most complex OTA/update system you've designed or implemented
- Current availability and hourly rate expectations
- Links to any relevant open-source contributions (if applicable)
Salary : $155,000 - $229,600