Senior C++ Linux DeveloperStrategic Context and Value Proposition As a C++ developer, you will participate in the analysis, development, and integration of the software 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 the Linux open-source stack. Throughout the product development cycle, you will partner with software 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), 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, and deliver a technical solution design.Develop solutions using C++, IPC communications through DBUS and DDS middleware and integrated with different services on the system.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 the best possible experience to the customer.Bug fixing 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.Experiences and Qualifications Must Have Requirements 8+ years' experience in the following areas: C++ development using the highest standards of quality on object-oriented and metaprogramming paradigms, Test Driven Development and unit testing, Clean and Solid principles paradigms, Linux development, services, APIs, and especially on Yocto or other embedded distributions, CMake and GNU Toolchain.Great knowledge of DBUS and/or other IPC mechanisms.Great knowledge of git and gitflow paradigm.Masters or Degree in Engineering, Computer Science, or IT-related background.Fluency in written English.Secondary Requirements Experience developing embedded systems on Linux.Knowledge of video systems (video surveillance, IP cameras, video codecs) or audio (SIP, telephony) can be a plus.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 in documentation and fine-tuning.#J-18808-Ljbffr