Senior Embedded Software Engineer

ESML SD Iberia Holding S A U
6 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Tech stack

API
Unit Testing
C++
CMake
Continuous Integration
Linux
Embedded Software
Message Queuing Telemetry Transport (MQTT)
Object-Oriented Software Development
Open Source Technology
Systems Development Life Cycle
Release Management
Software Requirements Analysis
Toolchain
Speech Recognition
Test Driven Development
GIT
Linux Development
Yocto
Solid Principles
Information Technology

Job description

As a C++ developer, you will participate in the analysis, development and integration of the SW that will be built for a new family of products, delivering the world's most advanced and intuitive smart alarm product suite.

This new range of products will be built on top of Linux open source stack. Throughout the product development cycle, you will partner with SW engineers, Functional Analysts, Testers and Software Designers to deliver an experience that our users will love.

The ideal candidate will be a senior developer using C++ on Linux systems. A deep knowledge of C++17 (and eventually C++20), and using state of the art technologies such as Boost is a must, both with object-oriented design and generic metaprogramming.

The candidates will need to have an outstanding knowledge of Linux and base most of their experience developing on this system., * Analyze features scope, functional and system requirements.

  • Participate in technical decisions, discussions and tradeoffs.
  • Produce Technical solutions, design documentation and detailed implementation tasks to be developed by other junior team members.
  • Develop solutions using C++ on an embedded system with multiple services communicating via different middlewares, within the context of a common data model and clear responsibilities.
  • Integrate with Yocto Linux build system, using CMake and systemd as the main tools on the device
  • Optimize performance, memory and power of resulting product to provide best possible experience to the customer
  • Bugfixing and correction of issues, following QA plans and release management, * Product Quality: customer satisfaction with product/product usage, traditional alarm product KPIs (supervision failure), ad-hoc product performance (voice recognition).
  • Development/delivery quality: Number of bugs after launch.
  • Delivery on time and budget., Report to R&D Head of Service Enablers in Madrid within one of the different teams that participate in the system development.

Requirements

Do you have experience in Unit testing?, Do you have a Master's degree?, + C++ development using highest standards of quality on object oriented and metaprogramming paradigms

  • Test Driven Development and unit testing as mindset and not just an imposed methodology
  • Dominion of Clean and Solid principles paradigms
  • Linux development, services, APIs, and specially on Yocto or other embedded distributions
  • CMake and GNU Toolchain
  • Great knowledge on DBUS and/or other IPC mechanisms
  • Great knowledge on git and continuous integration
  • Masters or Degree in Engineering, Computer Science or IT related background.
  • Fluent conversation in English.

Secondary requirements

  • Experience developing embedded systems on Linux
  • Knowledge of data driven middlewares such as DDS or other IoT standards like MQTT can be a plus
  • Product oriented profile
  • Attention to detail, quality and excellence on documentation and fine tuning, * Passionate in Everything We Do: Our people have a sense of energy that is unmistakable, one that drives us to delight our customers and focus on creating impact quickly

About the company

* Committed to Making a Difference: When we say we will do something, we deliver with excellence. We are accountable, focused and operate with discipline * Always Innovating: We believe that Innovation can be big or small; it's a continuous state of mind that inspires us to think differently and always make things better. We are risk takers and we learn continuously. * Winning as a Team: Our people know that by leveraging one another's strengths, investing in and developing our team's capability and by collaborating well, we will win. * With Trust & Responsibility: Operating with integrity is core to our success. We are humble, honest and value deep mastery and expertise. We do the right thing, always.

Apply for this position