Degree in Computer Engineering, Computer Science, Electrical Engineering, or equivalent experience.
5+ years of professional firmware development experience.
Strong proficiency in C and C++ for real-time embedded systems.
Extensive experience developing on embedded microcontrollers running RTOS.
Significant experience with multithreaded embedded software design and implementation.
Hands-on experience with peripheral interfaces including CAN, Ethernet, SPI, I2C, UART, ADC, and PWM.
Experience with networking protocols such as TCP, IP, and UDP.
Comfort working in a lab environment using oscilloscopes, logic analyzers, CAN tools, soldering irons, and related equipment for integration and debugging.
Solid understanding of software architecture, algorithm development, data structures, and modular, maintainable code design.
Demonstrated ability to deliver high-quality, production-ready firmware in a real-time environment.
A test-driven mindset, with unit testing, validation planning, and quality practices embedded in the development process.