Role Overview
You will use your skills to develop real-time embedded software for our next generation controller products, working in small, self-motivated teams collaborating with global Scrum teams. You will be involved in all phases of software development from product definition to production release using Agile practices and Continuous Integration.
Responsibilities
- Develop real-time embedded software for next generation controller products.
- Collaborate with global Scrum teams and multi-functional teams including Software, Hardware, System Test, and Product Management.
- Use Agile software development practices and Continuous Integration.
- Break down problems and estimate time for development tasks.
- Demonstrate leadership through pair programming and code reviews.
- Drive premier quality in the development and support of products.
Requirements
- Bachelor's or Master's degree in Computer Science, Electronics & Communication Engineering, Electrical Engineering, or a related discipline.
- 4–6 years of experience in Embedded Software/Firmware Development on Intel x86 and ARM-based processors/controllers.
- Strong proficiency in C and C++ programming for high-performance, safety-critical software.
- Experience with real-time embedded software design using multi-threaded architectures under VxWorks or other commercial RTOS.
- Expertise in debugging using Wind River Workbench, GDB, JTAG, and memory analyzers.
- Implementation experience with industrial protocols like Modbus TCP/RTU, PROFINET, PROFIBUS, or DNP3.
- Knowledge of TCP/IP, UDP, and cybersecurity for industrial control systems.
- Experience in board bring-up and troubleshooting using Oscilloscopes, Logic Analyzers, and Protocol Analyzers.
- Proficiency with Agile/Scrum, CI/CD, and version control like Git or SVN.
Nice to Have
- Experience with Programmable Logic Controllers (PLC).
- Firmware development experience with Xilinx Ultrascale SOC.
- Experience in scripting languages like Python.
Skills
- C/C++
- RTOS
- Embedded Systems
- Agile
- Python