Modaxo is a global organization bringing together businesses that collectively focus on advancing new technologies and innovations for people transportation. With more than 40 companies representing over 34 brands, Modaxo comprises over 3,300 people, operating from almost 40 countries around the world.
“Modaxo’s expertise, global bench strength, and singular focus on People Transportation make it a great home for technology companies that share our vision to efficiently move the world’s people” – Bill Delaney, CEO, Modaxo
Purpose of the Role
The Embedded Software Engineer will be required to build and develop complex company solutions from conception to completion of software projects working on different technologies and platforms. This role will require participation in all aspects of the team including the creation and elaboration of business requirements, functional/design specifications, development, testing, deployment, and maintenance of our existing products.
Key Duties and Responsibilities
Working under general guidance, autonomously undertake the following responsibilities in a quality and time efficient manner:
-
Develop interactive Linux application using C++ and QT
-
Design, develop, and maintain high-performance embedded applications using C for STM32 microcontrollers.
-
Integrate third-party libraries and middleware into the firmware architecture.
-
Debug and troubleshoot software issues to identify and resolve problems effectively.
-
Contribute to code reviews and provide constructive feedback to improve code quality.
-
Develop and maintain build scripts for packaging and deploying software effectively.
-
Troubleshoot build issues and identify potential build system improvements.
-
Stay up to date with the latest advancements in CMake and best practices for build automation.
-
Ability to follow rigorous Software Development Life Cycles including testing and verification
-
Ability to interface with clients to analyze and document product requirements, estimate level of effort and translate clients’ business requirements and objectives into technical applications and solutions
-
Assist in the design of software applications to meet both functional and technical requirements
-
Provide 2nd-level support as required to regional customer support staff
Education and Experience
-
Tertiary qualification in Engineering, Computer Science, Electronics or other related technical field.
-
More than 4 years of experience in developing applications using C++ and C
-
Linux environment and build scripts
-
Experience with Drivers and Libraries
-
Software development using both agile and waterfall methodologies
-
Experience with the following:
-
Embedded application development using C.
-
Designing X11 based interactive user interfaces (UI).
-
OBD2 and CAN bus integration.
-
RTOS frameworks
-
Communications protocols like TCP/UDP/HTTP, MQTT
-
Knowledge with Qt Quick and QML
-
Relevant certifications (e.g., Agile Certifications, SDLC) are plus.
-
Proficiency in utilizing STM32 development tools (e.g., STM32CubeMX, debuggers).