TSC Subsea is a specialist provider of subsea inspection, integrity, and technology driven solutions supporting the global energy industry. Along side of NDT Global , TSC Subsea combines deep subsea expertise with access to industry leading inspection technologies, advanced data insights, and integrity management capabilities.
NDT Global is recognized worldwide for its leadership in inline inspection and asset integrity solutions, including ultrasonic technologies such as Pulse Echo, Pitch and Catch, Phased Array, Acoustic Resonance (ART Scan), as well as ultra high resolution Magnetic Flux Leakage (MFL) services.
Through this group structure, TSC Subsea benefits from a strong technology backbone while maintaining a focused, agile approach to subsea operations and customer delivery. Innovation is central to both TSC Subsea and the wider NDT Global. By continuously advancing inspection technologies, analytical methods, and digital capabilities, we deliver reliable, data driven insights that help customers operate safely, efficiently, and sustainably. These capabilities enable asset owners to make informed decisions, optimize infrastructure performance, reduce operational risk, and support long term integrity strategies.
Purpose
The Firmware Developer is responsible for owning the design, development, and delivery of embedded firmware for hardware-based systems, ensuring solutions are reliable, efficient, and fit for purpose. As the primary firmware point of contact, the role operates with a high degree of autonomy across the full development lifecycle, from initial design through to validation and field deployment.
Working within a cross-functional engineering environment, the Firmware Developer collaborates with hardware, software, and quality teams to define requirements, resolve technical challenges, and ensure successful system integration. The role is accountable for firmware quality, performance, and compliance, while also driving improvements in development practices, testing approaches, and overall product robustness.
Responsibilities
- Firmware Engineering & Technical Delivery
- Design, develop, and maintain robust embedded firmware for microcontrollers and hardware platforms, with a focus on performance, reliability, and maintainability.
- Debug, test, and validate firmware on target hardware using tools such as oscilloscopes, logic analyzers, and debuggers.
- Implement and optimise hardware interfaces and communication protocols, including UART, SPI, I2C, CAN, and Ethernet.
- Develop and maintain low-level drivers and board support packages (BSP), supporting system integration across hardware and software components.
- Own firmware design and architectural decisions for assigned systems, making informed technical trade-offs to meet performance, resource, and project constraints.
- Create and maintain clear technical documentation, including design specifications, interface definitions, and test procedures.
- Project Support & Collaboration
- Collaborate effectively with hardware engineers, software teams, and project managers to define requirements and deliver integrated solutions.
- Take full ownership of firmware components or features, ensuring timely delivery against project milestones.
- Lead by example in code quality, contributing to and reviewing code to maintain consistency and robustness across the codebase.
- Quality, Standards & Compliance
- Apply coding standards (e.g., MISRA C) and embedded best practices to produce reliable, maintainable code.
- Ensure firmware complies with relevant safety, regulatory, and cybersecurity standards.
- Identify, drive, and implement improvements to development, testing, and integration processes.
- Learning & Mentorship
- Continue developing expertise in embedded systems, including RTOS, embedded Linux, and modern toolchains.
- Provide guidance and informal mentorship to Engineers where applicable, including knowledge sharing and code reviews.
- Contribute to reusable components, internal tools, and documentation to enhance team efficiency.
- Health, Safety & Environment (HSE)
- Adhere to all HSE policies, procedures, and safe working practices.
- General Responsibilities
- Support field deployment, integration, and troubleshooting of firmware, including diagnosing and resolving issues in operational environments.
Competence requirements
- Essential
- Bachelor’s degree (or equivalent experience) in Electronic Engineering, Embedded Systems, Computer Engineering, or a related discipline.
- Proven experience (typically 2–5 years) in embedded firmware or low-level software development, with the ability to work independently on assigned systems.
- Strong proficiency in C/C++ for embedded systems, with solid understanding of memory management, concurrency, and direct hardware interaction.
- Hands-on experience with microcontrollers and embedded platforms, including both bare-metal and RTOS-based development.
- Practical experience implementing and debugging hardware communication protocols such as UART, SPI, I2C, CAN, and Ethernet.
- Experience of PID for BLDC motor control.
- Strong debugging and diagnostic skills, using tools such as JTAG/SWD debuggers, oscilloscopes, and logic analyzer to resolve hardware–firmware issues.
- Experience with version control systems (e.g., Git), build systems, and structured testing/validation approaches.
- Good understanding of the embedded software development lifecycle, including integration, verification, and deployment to target hardware.
- Ability to take ownership of firmware components, manage priorities, and deliver solutions aligned to project timelines.
- Strong problem-solving skills and ability to collaborate effectively within cross-functional engineering teams.
- Desirable
- Experience with real-time operating systems (RTOS) and/or embedded Linux environments.
- Familiarity with coding standards (e.g., MISRA C) and development in safety-critical or regulated environments.
- Experience of STM32 & ESP32 microcontrollers.
- A working knowledge of Protobuf.
- Exposure to hardware-in-the-loop (HIL) testing and automated test frameworks.
- Experience supporting firmware in field deployments or operational environments.
Benefits
- Full benefits package effective immediately for employees and their dependents
- Competitive pension matching program to secure your future
- Flexible time options to suit your personal and professional needs
- Supportive mentorship programs and career development opportunities
- Ongoing training to keep your skills sharp and help you grow
- Regular social events and programs to foster team spirit