We are seeking a talented and motivated Embedded software engineer to join our company. In this role, you will be responsible for designing, developing, and testing Embedded systems and software, as well as writing automation and scripting tasks. You will collaborate closely with hardware engineers, and other cross-functional teams to create efficient, reliable, and scalable Embedded solutions. The ideal candidate will have a strong background in Embedded systems, experience in Python, and a passion for problem-solving.
Responsibilities:
* Design, develop, and TEST Embedded systems and software for various applications.
* Develop, implement and maintain firmware for microcontrollers, processors, and other Embedded systems.
* Utilize Python for automation tasks, scripting, and testing of electro-optical systems.
* Conduct thorough testing and debugging of Embedded systems to ensure functionality and performance.
* Integrate software with hardware components, ensuring seamless operation and communication.
* Develop automated testing frameworks and scripts to streamline testing processes.
* Participate in design reviews, providing input on system architecture and design improvements.
* Provide Technical Support and troubleshooting for Embedded systems in production environments.
Requirements: * Bachelors degree in electrical engineering, Computer Engineering, Computer Science, or related field.
* At least 2 years of proven experience as an Embedded engineer, with a strong understanding of Embedded systems and software development.
* Proficiency in programming languages such as C for Embedded systems.
* Experience with Python for automation, scripting, and testing tasks.
* Experience with programming in C # under Windows OS.
* Hands-on experience with microcontrollers, and other Embedded system components.
* Familiarity with Real-Time operating systems (RTOS) and Embedded software development tools.
* An ability to read and understand schematics and datasheets.
* Experience with debugging tools and techniques for Embedded systems.
* Experience with communication protocols (e.g., SPI, I2C, UART) and interfacing with peripheral devices.
* Familiarity with version control systems such as Git or SVN.
* Experience with automated testing frameworks and tools (preferred but not required).
This position is open to all candidates.