Senior Embedded Software / Firmware C++ Engineer
HEGSØ Search & Consulting is tasked with finding a skilled Senior Embedded Software / Firmware C++ Engineer, for our client, a leading technology and development company.
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.
- Embedded software development experience: highly skilled
- Experience with a complete life cycle of an embedded software system
- Proficient in C and C++
- Knowledge of modern OS coding techniques, IP protocols, and hardware interfaces
- Expert level knowledge of Linux OS architecture and components
- Knowledge of software and application design and architecture
- Knowledge of UML and other modelling methods
- Understanding of software quality assurance principles and Build tools
- A technical mindset with great attention to detail
- Self-driven with a successful track record in Embedded Software development
- Able 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 assistance
- In 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 peers
- Good 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)
- Knowledge of technologies around Mathematics, Software and real time Sensor systems
- Experience with the hardware layer in sensors systems (controller boards, integration of multiple boards into one solution etc.)
- Experience with distributed software systems
- Preferably some experience with FPGA implementations or experience running software on dedicated hardware solutions
- Experience with GPU coding techniques
- Experience with Software design, Build systems, Git, Jira, etc.
- Embedded Software engineer for a specific product line as primary responsibility, that will be “yours” to manage
- Development of Embedded Software and Firmware solutions in our Sonar and Navigation products more broadly, depending on skills various roles may fit you
- Active 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 software
- Develop 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 system
- Communicate concepts and maintain dialogue with the rest of the development team, from downstream embedded software processing through the chain to UI systems
- Ensure software meets all requirements of quality, security, modifiability, extensibility etc.
- Evaluate and communicate potential software architecture problems
- Propose improvements in software architecture of existing software
- Keep up with the latest technology and tools, keep the software development level standards high
- M.Sc., Software development or similar
- Experience with relevant comparable software design
Proficient in English language, written and spoken
About the company
Teledyne 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: firstname.lastname@example.org.