Job Title: Embedded Software Engineer
FLSA Status: Exempt
Department: Food Service Engineering
Reports To: Engineering Manager - Electrical Engineering
Position Summary:
As an Embedded Software Engineer, you will collaborate with the Leadership Team to develop innovative real-time embedded systems that drive advanced cooking appliances and equipment for the quick service restaurant industry. This role is integral to achieving [Company Name]'s vision by applying your engineering expertise to create robust, reliable software that meets our high standards for quality and performance.
Essential Roles & Responsibilities:
- Software Development: Design and develop embedded controller software using C/C++ and modern software development tools. Implement real-time operating systems (RTOS) and UML-based graphic state machine design tools with auto-coding support.
- System Integration: Collaborate with electrical hardware engineering to integrate control blocks within distributed modular systems, ensuring seamless hardware/software integration.
- Quality Assurance: Utilize change management processes, code design reviews, and other tools to ensure product consistency and robustness. Create comprehensive test plans to verify and validate software.
- Cross-Functional Collaboration: Work closely with other engineering teams to create test instructions, coordinate new product development activities, ensure agency compliance, and facilitate production releases.
- Documentation: Prepare and maintain detailed documentation required for manufacturing products, including electronic control algorithms and software specifications.
- Continuous Improvement: Stay updated with the latest industry trends and technologies, continuously seeking ways to improve software design and development processes.
Essential Skills & Qualifications:
- Embedded Software Development: Strong experience in developing embedded software using C/C++. Familiarity with project setup and configuration using tools like Microchip MPLAB Harmony or ST Microelectronics STMCube.
- RTOS Expertise: In-depth knowledge of RTOS-based application development, with experience in FreeRTOS, OpenRTOS, or embedded Linux.
- UML and Design Tools: Proficiency in UML-based design tools such as Quantum Leaps QP is highly desirable.
- IDE and Debugging Tools: Experience with embedded development IDEs like MPLAB and in-circuit debuggers/programmers (e.g., Pickit, MPLAB Real ICE, STM STLink).
- Electrical Engineering Tools: Competency in using electrical engineering measurement tools, including oscilloscopes, digital analyzers, and network communication protocol analyzers (CAN, RS485/232, SPI, Ethernet, USB).
- Problem-Solving & Communication: Excellent organizational, interpersonal, and communication skills with a strong ability to solve technical problems and work both independently and as part of a team.
- Technical Literacy: Proficiency in MS Office and experience with MRP and QAD systems.
Education & Experience:
- Education: Bachelor’s degree in Electrical Engineering (BSEE), Computer Engineering (BSCE), or a related field.
- Experience:
- Minimum 5 years of embedded software development experience, preferably with QP graphic framework for embedded systems.
- At least 2 years of experience working with RTOS and Linux-based systems, with integration experience in Quantum Leaps state machine framework preferred.
- A minimum of 3 years of experience in code reviews and structured development processes, with desired experience in GIT repository source management.