Overview:
We are looking for a talented and experienced Senior Embedded Systems Engineer with a strong background in C++ programming, embedded systems, and real-time development. The ideal candidate will be responsible for designing, developing, and maintaining embedded systems software that supports cutting-edge technology. You will work closely with cross-functional teams to ensure high-quality, reliable, and scalable software solutions in a fast-paced environment.
Key Responsibilities:
- Develop and maintain high-performance software for embedded and real-time systems.
- Implement and optimize software components using C++11 (modern C++) programming language.
- Work with industry-standard tools and frameworks, such as POCO C++ and BOOST C++.
- Collaborate with teams on the integration of various technologies, including HTTPS, API Rest, and MQTTS.
- Work on software solutions that are critical to mission-driven systems, ensuring reliability and efficiency.
- Contribute to the design and architecture of complex embedded systems, with a focus on modularity and scalability.
- Create, maintain, and optimize code for embedded platforms.
- Participate in the software lifecycle, including requirement analysis, design, implementation, testing, and deployment.
- Perform system-level debugging and troubleshooting.
Must Have:
- Strong expertise in C++11 (modern C++) programming and software development.
- Extensive experience in embedded and real-time system development.
- Knowledge of Python, UML, POCO C++, and BOOST C++ libraries.
- Hands-on experience with environments such as HTTPS, API Rest, and MQTTS.
Nice to Have:
- Masterβs degree in Computer Engineering or a related field.
- Familiarity with traffic light controllers and traffic management systems.
- Experience with ST microcontrollers and FreeRTOS.
- Knowledge of RUST programming language.
- Experience with QA processes and advanced testing techniques.
Skills & Qualifications:
- Strong problem-solving abilities and attention to detail.
- Excellent communication and teamwork skills.
- Ability to work in an Agile development environment.
- Ability to prioritize and handle multiple tasks efficiently.
- Passion for innovation and staying up-to-date with emerging technologies.