Senior Embedded Software / Firmware C++ EngineerHEGSØ Search & Consulting is tasked with finding a skilled Senior Embedded Software / Firmware C++ Engineer, for our client, a leading technology and development company.Job Purpose:As an embedded C++ engineer in this team, you will be exposed to a broad range of technical topics. Sensor systems produce massive amount of real-time data, and we perform massive computations of data to reach the data products ready for UI rendering. Data throughput happens at Gbit speed, so highly efficient computations, hardware optimized programming is performed in the instruments before handing over data products to the UI layer. We perform signal processing in FPGA’s and GPU’s: you will have a challenging and interesting job, producing products for real tough applications and interesting customers globally.We support all sensor product lines from a shared software framework, delivering multiple embedded software systems based on same platform. We work with logic/math execution in highly efficient C/C++ code.The primary role as an engineer for embedded software requires that you can oversee and comprehend a complex system architecture, close to the hardware with software execution taking place under an operating system and in embedded systems running in FPGA micro-kernels or various micro controllers.It is important that you lean more towards the hardware side of software execution than to the PC side. We are running operating systems inside our sensors, but they are highly embedded and stripped down to assure good real time performance, and if need be for hard real-time performance we run schedulers on top. The software is critical for timing and data throughput; hence a solid understanding of hardware and software execution is required.If your interests are in technical products and high-performance computing we offer a rare and unique opportunity to join a team of maritime domain experts with great passion for building products.Essential skills:Embedded software development experience: highly skilledExperience with a complete life cycle of an embedded software systemProficient in C and C++Knowledge of modern OS coding techniques, IP protocols, and hardware interfacesExpert level knowledge of Linux OS architecture and componentsKnowledge of software and application design and architectureKnowledge of UML and other modelling methodsUnderstanding of software quality assurance principles and Build toolsA technical mindset with great attention to detailSelf-driven with a successful track record in Embedded Software developmentAble to drive smaller projects from start to finish, able to break down the problems into manageable parts, oversee complexity in a system and isolate if/when there are knowledge gaps to get team assistanceIn larger projects spanning many man-years of effort, work as a Team player with strong problem-solving ability and a can-do mentality, dividing the workload between peersGood communication skills on technical level, ability to work with distance distributed teams, ability to participate in customer meetings for integration support from time to time (engineers to engineers)Desirable skills:Knowledge of technologies around Mathematics, Software and real time Sensor systemsExperience with the hardware layer in sensors systems (controller boards, integration of multiple boards into one solution etc.)Experience with distributed software systemsPreferably some experience with FPGA implementations or experience running software on dedicated hardware solutionsExperience with GPU coding techniquesExperience with Software design, Build systems, Git, Jira, etc.Key Responsibilities:Embedded Software engineer for a specific product line as primary responsibility, that will be “yours” to manageDevelopment of Embedded Software and Firmware solutions in our Sonar and Navigation products more broadly, depending on skills various roles may fit youActive part of the team, also with the hardware engineers throughout projects related to FPGA boards, data acquisitions, up/downstream communication, how to manage massive data throughput through hardware and softwareDevelop embedded software in C / C++, implement the ‘heart’ of our sensors systems by integrating the actual data input streams, sensor command and control and UI communication into one coherent systemCommunicate concepts and maintain dialogue with the rest of the development team, from downstream embedded software processing through the chain to UI systemsEnsure software meets all requirements of quality, security, modifiability, extensibility etc.Evaluate and communicate potential software architecture problemsPropose improvements in software architecture of existing softwareKeep up with the latest technology and tools, keep the software development level standards highEducation:M.Sc., Software development or similarExperience with relevant comparable software designLanguage skills:Proficient in English language, written and spokenAbout the companyTeledyne Reson A/S is part of Teledyne Marine, a group of cutting-edge subsea technology companies under Teledyne Technologies Inc. Through acquisitions and collaboration over the past ten years, Teledyne Marine has evolved into an industry powerhouse bringing Imaging, Instruments, Interconnect, Seismic and Vehicle technology together to provide total solutions to the customers. Teledyne Marine operates in the hydrographic, offshore, dredging, defence & security and marine research business areas. Teledyne Reson A/S, located in Slangerup, is Teledyne Marine’s global centre of excellence in submarine acoustic imaging and solutions.If you are interested, please contact: Chief consultant Anders Hegelskov, telephone: +45 30356405 / Mail: email@example.com.