Strategic context and Value proposition
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.
Responsibilities
- 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
Management KPIs
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.Other relevant information
Report to R&D Head of Service Enablers in Madrid within one of the different teams that participate in the system development.
This role is based in Madrid, with some European travel required.
Experiences and Qualifications
Must have requirements
10+ years’ experience in the following areas :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 methodologyDominion of Clean and Solid principles paradigmsLinux development, services, APIs, and specially on Yocto or other embedded distributionsCMake and GNU ToolchainGreat knowledge on DBUS and / or other IPC mechanismsGreat knowledge on git and continuous integrationMasters or Degree in Engineering, Computer Science or IT related background.Fluent conversation in English.Secondary requirements
Experience developing embedded systems on LinuxKnowledge of data driven middlewares such as DDS or other IoT standards like MQTT can be a plusProduct oriented profileAttention to detail, quality and excellence on documentation and fine tuningStrong fit with our Company DNA
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 quicklyCommitted to Making a Difference : When we say we will do something, we deliver with excellence. We are accountable, focused and operate with disciplineAlways 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.#J-18808-Ljbffr