Embedded Software Engineer

No Results Found 

📍 Dubai, United Arab Emirates 🇦🇪

full-time
senior
Posted —

Key Skills

C++CLinuxSTM32MQTT

Industry

AutomotiveConsumer Electronics

Job Description

Job Summary:

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.

The Embedded Software Engineer will need to learn a thorough understanding of the functionality provided by the company products, the interaction of sub-components and aspects of deployment and integration with third party systems.

Job Description:

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
  • Proven Experience with:
    • 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 the following:
    • Qt Quick and QML
    • Relevant certifications (e.g., Agile Certifications, SDLC) are plus.
    • Proficiency in utilizing STM32 development tools (e.g., STM32CubeMX, debuggers).

Personal Attributes
  • Be able to self-manage time to work across multiple facets of the project and juggle multiple responsibilities at the same time to meet project deliverables
  • Be able to work independently with minimal supervision and in teams depending on project requirements
  • Have strong problem solving and analytic capability with the ability to create innovative solutions
  • Able to learn new skills and concepts quickly and thoroughly and able to understand and evaluate complex data models
  • Have a strong desire to achieve your best at any task undertaken and a commitment to success
  • A strong customer based ‘can do’ mindset focused on understanding and addressing customer needs

Worker Type:

Regular

Number of Openings Available:

1