We are seeking a Senior Software Engineer to lead the design, development, integration, and delivery of customized C++ middleware and software interfaces. The role combines hands-on development with technical leadership and customer collaboration.
Key Responsibilities
- Lead the design, development, integration, and testing of C++ middleware and software interfaces.
- Translate customer and system requirements into software architecture, designs, and acceptance criteria.
- Develop solutions for inter-system communication, protocol conversion, data transformation, message routing, and interface monitoring.
- Lead software activities including task planning, estimation, code reviews, build management, testing, and release.
- Collaborate with customers, engineering teams, and third-party vendors to resolve technical and integration issues.
- Mentor junior engineers and provide technical guidance and code reviews.
- Prepare technical documentation, including design specifications, interface documents, test procedures, and release documentation.
- Support deployment, commissioning, customer integration, and production issue resolution.
- Identify and mitigate technical, integration, cybersecurity, and delivery risks.
Required Skills & Experience
- Bachelor’s degree in Computer Science, Computer Engineering, Electrical/Electronic Engineering, or a related discipline.
- 5+ years of software development experience, with strong hands-on expertise in C++.
- Experience developing production-grade software for distributed, embedded, industrial, maritime, defence, communications, or integration-intensive systems.
- Experience with middleware, software interfaces, communication gateways, protocol adapters, or data integration.
- Strong knowledge of modern C++ (C++11 or later).
- Hands-on experience with Linux, Git, debugging, profiling, and automated testing.
- Ability to interpret system requirements, interface specifications, and communication protocols.
- Strong technical documentation, communication, and problem-solving skills.
Preferred Skills
- TCP/IP, UDP, multicast, REST APIs, RPC, or publish-subscribe/messaging systems.
- JSON, XML, YAML, Protocol Buffers, ASN.1, or binary data formats.
- CMake, Make, Conan, vcpkg, Docker, and CI/CD.
- Secure software development, authentication, access control, certificates, and vulnerability management.
- Experience in regulated, safety-critical, high-availability, maritime, defence, or industrial environments.
- Experience mentoring engineers or leading small development teams.