CRC Evans is seeking a highly motivated Embedded Software Engineer to be a key member of a specialized engineering team developing new products and performing core product enhancements.
· Design, develop, code, test, and debug software and applications for automatic welding machines and other welding and coating equipment.
· Work closely with internal & external clients to understand their needs and to address their issues.
· Responsible for interpreting, writing, and changing product/project requirements/specifications.
· Design/Select programming languages, software libraries, operating systems, software architecture, and communication protocols.
· Strong communication skills to interact with internal and external personnel.
· Attend regular team meetings to share project status, issues. and ideas.
· Shared responsibility for overall product functionality (not just software).
· Optimize software for efficiency and real-time performance, considering memory, processing power, and power consumption constraints.
· Develop and execute test plans to validate software functionality and system performance.
· Work closely with cross-functional teams, including mechanical, electrical, and digital engineers to achieve project objectives.
· Document software development processes, design specifications, and testing results.
B.E. / B.S. / M.E. / M.S. / M. Tech. / M.C.A. with minimum 7 years’ experience in software applications development in relevant field. (Computer Science/Computer Engineering/Electrical Engineering)
7 years’ experience in software applications development in relevant field. (Computer Science/Computer Engineering/Electrical Engineering)
· Sound experience with C language for developing firmware for embedded devices.
· Experience developing embedded applications using a Real-time Operating Systems.
· Experience developing low-level device drivers for Serial, CAN, SPI, Ethernet, wireless standards, etc.
· Working experience with common embedded toolchains (e.g. Keil, STM32CubeIDE) and Microsoft Visual Studio.
· Good understanding of ARM architecture (Cortex M3/M4, iMX).
· Experience with version control systems such as Git.
· Debug and troubleshoot software and hardware issues using oscilloscopes, logic analyzers, and JTAG.
· Strong problem-solving skills and the ability to work independently and as part of a team.