Senior Software Developer (m/f/d) I/O Firmware
- Compensation
- Not disclosed
- Location
- DNK Hørsholm, Denmark
- Work setup
- Hybrid
- Seniority
- Senior
- Employment
- Not specified
- Experience
- Not specified
- Category
- Embedded
- Posted
Skills
Nice to have
- Experience with Microsoft Azure DevOps environments
- Experience with cybersecurity technologies and protocols, including TLS, DTLS, and secure element integration
- Knowledge of IPv4/IPv6, UDP/TCP, CoAP, MQTT-SN, and related networking technologies
- Experience with wireless communication stacks such as BLE and Thread
- Python, Bash, or similar scripting experience for test automation and tooling
- Familiarity with formal verification methods or model-based software design approaches
- Experience working within maritime, industrial automation, or safety-critical industries
Full description
Company Overview
NACOS Marine delivers advanced navigation, automation, and control systems for vessels worldwide. Our integrated solutions help ship owners and operators improve safety, efficiency, and sustainability at sea. With proven reliability, innovative technology, and dedicated support, we enable smarter maritime operations. Let’s shape the future of maritime technology together.
Role Overview
We are seeking an experienced Senior Software Developer (m/f/d) – I/O Firmware to join our R&D organization and play a key role in the development of embedded software solutions across NACOS Marine's product portfolio.
In this role, you will be responsible for the design, implementation, maintenance, and validation of embedded firmware components, including embedded operating systems, PLC execution frameworks, communication stacks, and state-machine-based control logic. Working closely with highly skilled software and hardware engineers, you will contribute to the development of secure, reliable, and real-time systems that support advanced maritime automation and navigation solutions.
In addition to your technical responsibilities, you will support agile development activities and facilitate collaboration within the SCRUM team environment.
Key Responsibilities
- Act as SCRUM Master within the development team, supporting agile processes and daily team coordination
- Design, develop, maintain, and optimize embedded firmware for resource-constrained systems using C and C++
- Develop embedded software for microcontroller platforms such as ARM Cortex-M, RISC-V, and similar architectures
- Design and implement communication protocol stacks and interfaces, including UART, SPI, I2C, CAN, TCP/IP, BLE, Zigbee, LoRa, Modbus, MQTT, and related technologies
- Develop transport, session, and application-layer functionality, including state machines, protocol framing, parsing, error handling, and retransmission mechanisms
- Define protocol specifications, packet formats, sequence diagrams, and system state models
- Optimize firmware performance with regard to latency, throughput, memory utilization, power consumption, and real-time requirements
- Implement cybersecurity features including authentication, encryption, secure boot mechanisms, and OTA update validation
- Integrate software solutions with RTOS environments such as Embedded Linux, FreeRTOS, Zephyr, and bare-metal platforms
- Develop and maintain automated test environments, unit tests, integration tests, and protocol validation frameworks
- Troubleshoot and debug complex firmware and communication issues using oscilloscopes, logic analyzers, protocol analyzers, and trace tools
- Collaborate closely with hardware, software, QA, and system engineering teams throughout the product lifecycle