Required Skills: Docker, Podman, Bash, Python, networking protocols, TCP/IP stack
Job Description
Role: Embedded/Firmware Engineer
Location: Andover, MA – Onsite Role
Duration: 12+ Months
Job Summary:
- We are seeking a highly motivated firmware engineer with extensive Linux expertise to join our team.
- You will play a key role in developing and maintaining our Linux-based products, focusing on both the core infrastructure and real-time application development.
Key Responsibilities:
- Linux distribution development: Build and maintain Yocto Projects or other Debian distribution, create customized Linux operation systems tailored to industrial needs, troubleshoot Linux kernel-level issues.
- Recipe maintenance & creation for new targets and requirements.
- Real time application development: Design, develop and test real time applications for critical Linux-based embedded systems using appropriate programming languages (e.g., C, C++).
- OPC UA, Modbus TCP, MQTT, HTTP, Redfish Middleware that needs to be real-time. (100% C)
- Linux Kernel and Real-time Linux
- Debugging and Troubleshooting: Debug, analyze, and resolve complex hardware and software issues to ensure optimal system performance and security and perform unit tests. Kernel level debugging a must.
- Code Quality Enhancement: Develop high-quality, well-tested code through comprehensive unit testing and debugging.
- Needs to assess current code base (HIGH PRIORITY).
- Technical Documentation: Contributing to writing detailed specifications, design documents, Build Guides, Implementation Guides, and Whitepapers based on industry standards and internal requirements.
- Problem Solving: Demonstrate exceptional analytical and problem-solving skills for rapid troubleshooting and solution development._
Mandatory skills and skill proficiencies required for this position
- Education: Bachelor's or Master's Degree in Electrical Engineering, Computer Engineering, or a closely related field with an emphasis on embedded systems.
- Experience: Real time application development experience with Linux development environment and Agile program environment.
- Technical Expertise: Solid foundation in C/C++ programming, debugging, troubleshooting in Linux and other operation systems.
- Operating Systems: Proven experience customizing Yocto projects and Linux kernel configurations.
- Networking: Knowledge of networking protocols and communications concepts, especially those pertinent to industrial automation.
- SDLC and Tools: Experience with the full software development lifecycle, agile methodologies (Scrum), and tools like Git and GitHub.
- Communication and Teamwork: Excellent verbal and written communication skills, with the ability to collaborate effectively
Optional skills and skill proficiencies for this position
-
Experience with embedded systems development.
-
Experience with containerization technologies (e.g., Docker, Podman).
-
Experience with scripting languages (e.g., Bash, Python).
-
Knowledge of networking protocols and TCP/IP stack.