onsite
Embedded Software Engineer - Puck Enterprises
Software Engineer
Design, develop, and maintain embedded firmware for manufacturing equipment, using C/C++ on RTOS and Linux platforms, while collaborating with hardware teams and applying debugging and version‑control best practices.
About the role
Key Responsibilities
- Design and implement embedded firmware in C/C++ for microcontroller‑based control systems.
- Develop and maintain real‑time operating system (RTOS) tasks, drivers, and communication stacks.
- Integrate and troubleshoot software on Linux‑based embedded platforms.
- Collaborate with hardware engineers to define interfaces, perform board bring‑up, and resolve hardware‑software issues.
- Write and maintain automated unit and integration tests, and manage code using Git.
- Provide technical support for fielded products, including firmware updates and bug fixes.
Requirements
- Bachelor's degree in Electrical Engineering, Computer Engineering, or related field with 2+ years of embedded software experience.
- Proficiency in C, C++, and Embedded C programming for microcontrollers.
- Hands‑on experience with RTOS concepts, task scheduling, and interrupt handling.
- Familiarity with Linux embedded environments and scripting in Python.
- Strong debugging skills using oscilloscopes, logic analyzers, and software tools (e.g., GDB, JTAG).