Embedded Software Engineer
Role details
Job location
Tech stack
Job description
We are seeking an experienced Embedded Software Engineer to join a growing engineering team focused on developing next-generation industrial control and automation products. This role involves designing and developing embedded software for real-time systems in a collaborative Agile development environment. The ideal candidate will have experience working with embedded systems, RTOS or Embedded Linux environments, low-level software development, and automated testing practices. Responsibilities Develop embedded software for industrial control and automation systems Design, implement, test, and maintain real-time embedded applications Work across various hardware and software environments including embedded RTOS and Linux platforms Participate in software architecture, design reviews, code reviews, and debugging activities Develop and maintain automated unit and functional test solutions Support continuous integration and continuous deployment (CI/CD) practices Collaborate within Agile/Scrum teams to deliver high-quality software solutions Troubleshoot and resolve complex embedded system issues Contribute to software quality, reliability, and performance improvements
Requirements
Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or related technical field 2+ years of professional embedded software development experience Strong programming experience in C and/or C++ Experience working with embedded RTOS or Embedded Linux systems Familiarity with debugging embedded systems using hardware or software debuggers Understanding of software development lifecycle and software engineering best practices Experience working in Agile development environments Preferred Qualifications Experience with low-level embedded software or device driver development Experience with automated testing tools and scripting languages such as Python Knowledge of communication protocols such as Ethernet, USB, or PCI Express Familiarity with industrial communication protocols Experience with ARM or Intel processor architectures Understanding of CI/CD pipelines and automated build systems Coursework or project experience related to embedded systems, operating systems, or computer architecture Technical Skills Embedded C/C++ RTOS / Embedded Linux Firmware Development Debugging Tools (GDB, JTAG, On-Chip Debuggers) Python Scripting