Electrical Foreman
Listed on 2026-01-01
-
Software Development
Software Engineer, Embedded Software Engineer
Embedded Software Engineer - Linux
Embedded Software Engineer is required to play a vital role to design and build custom IoT edge devices and deliver scalable, maintainable, and resilient solutions on‑time and on‑budget for one of our best clients in Michigan. In this role, you will architect, implement, and deploy IoT solutions running on embedded Linux, and other platforms, and work closely with their clients, their internal design and engineering teams, and their external development partners.
This is a growing, dynamic company that offers multiple career paths, both technical and in leadership. The work will be a mix of remote and on‑site. If you're hungry to work on the latest technologies and ready to roll up your sleeves on challenging projects, then this is the company for you.
Responsibilities- Provide technical expertise for the design and delivery of embedded Linux solutions that include sensors, wireless communication, battery/power management, edge analytics, real‑time control, and more.
- Work closely with internal and external stakeholders to understand the client’s technical requirements and then design and specify software architectures to meet these requirements.
- Assist product owners and project managers with quoting new development projects by defining software development tasks and phase deliverables, identifying dependencies and areas of risk, and estimating development effort.
- Design and develop software within an Agile framework, using Scrum, Kanban, and other methodologies.
- Leverage your knowledge and experience to mentor the development team on best practices for software design, development, and testing.
- Lead technical status updates in your area of expertise. Communicate architectural and design rationale and present learnings and their impact on product performance during customer update calls.
- BSEE, CE, or CS with 5+ years of embedded systems development experience.
- Solid understanding of standard embedded Linux components: cross‑compilation toolchain, Buildroot, multi‑stage boot loader environment, kernel image, device tree, root file system, Busy Box, and system initialization.
- Must have verbal, written, and presentation skills, with the ability to communicate complex technical concepts to technical and non‑technical professionals at all levels of the organization.
- Fully competent at developing software in a team‑based environment using Git version control tools: commit cadence, branching, merging, pull requests, and code reviews.
- Knowledge of the Linux development environment: scripting languages, command line interface, and standard utilities.
- Strong comprehension of object‑oriented and scripting languages, with experience in C/C++ and Python.
- Experience with software technologies such as real‑time operating systems, inter‑process communication and coordination, MQTT, protocol buffers and other serialization techniques, containerization, databases, and design of APIs and messaging protocols.
- Experience with embedded system IO technologies: GPIO, SPI, UART, and I2C.
- Basic knowledge with Dev Ops practices: continuous integration, automated testing, remote device monitoring and management, and deployment of software updates to devices in the field.
- Mid‑Senior level
- Full‑time
- Management and Manufacturing
- Professional Services
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).