JOB SUMMARY:
As an Embedded Software Engineer, you will be responsible for developing and maintaining software and electronic systems for advanced measurement and process control tools. This includes designing embedded architectures, programming microcontrollers, and collaborating across teams to support multiple projects from concept through production.
ESSENTIAL DUTIES AND RESPONSIBILITIES:
1. Design, develop, and maintain embedded software for drivers, control algorithms, and user interfaces
2. Define specifications, architecture, and requirements for software projects
3. Program microcontrollers using C, C++, and Assembler
4. Integrate and validate new product designs and improve system scalability
5. Conduct failure analysis, feasibility studies, and assess third-party/open-source software
6. Document software packages and electronic circuit designs for internal and external use
7. Stay current with technological trends, tools, and development strategies
8. Support cross-functional teams during pre- and post-production phases
9. Align requirements and improvements with internal stakeholders and suppliers
10. Manage software versioning, testing, and release documentation
11. Participate in project planning and supplier negotiations
REQUIRED EDUCATION AND EXPERIENCE:
12. Bachelor’s degree in electronics, physics, software engineering, or related field, or 5+ years of experience in embedded systems
13. Proficient in Assembler, C, and C++ programming languages
14. Experience with embedded software development, electronics, and circuit design
15. Skilled in development tools, version control systems, and Linux configuration
16. Familiarity with agile methodologies and build systems like YOCTO (preferred)
17. Strong communication skills and ability to work in cross-functional teams
18. Willingness to travel occasionally and manage multiple projects simultaneously