- Location
- SG
- Type
- Full-time
- Department
- Engineering
- Seniority
- Lead
- Experience
- 5+ years
- Education
- Bachelor
- Closing date
- Today
- Source
- Vincere
Description
C++ Software Engineer (Technical Lead) - Singapore
What's on offer:
- Location : Singapore
- 12 months contract - highly extendable
Role
About the Role
We are looking for an experienced C++ Software Engineer (Technical Lead) to lead the design, development, and delivery of customised middleware solutions.
In this role, you will be responsible for translating technical and system requirements into reliable software solutions, overseeing day-to-day development activities, and ensuring seamless integration with other systems.
You will also take an active role in software development, provide technical guidance to junior engineers, and ensure that all deliverables meet quality, performance, and integration standards.
Key Responsibilities
- Lead the design, development, integration, and testing of C++ middleware and software interfaces.
- Oversee software development activities, including task planning, prioritisation, technical coordination, and delivery timelines.
- Analyse system and technical requirements and translate them into software specifications and development plans.
- Design and develop software architecture, including data models, communication protocols, message handling, and system interfaces.
- Develop C++ components for system communication, data conversion, protocol integration, and message processing.
- Collaborate with customers, internal engineering teams, and third-party vendors to address technical requirements and integration challenges.
- Establish and maintain software development standards, including coding practices, code reviews, version control, and testing procedures.
- Provide technical guidance, mentoring, and supervision to Junior Software Engineers.
- Prepare and maintain technical documentation, including software design documents, interface specifications, test reports, and release documentation.
- Conduct software testing, debugging, troubleshooting, and root-cause analysis to ensure software quality and reliability.
- Support software deployment, system integration, commissioning, and post-delivery technical support.
- Identify and manage technical risks, development challenges, and integration issues throughout the project lifecycle.
Requirements
- Bachelor's degree in Computer Science, Computer Engineering, Electrical/Electronic Engineering, or a related technical field.
- Minimum 5 years of professional software development experience, with strong hands-on experience in C++.
- Proven experience developing and delivering production-level C++ applications.
- Experience in middleware development, software integration, communication interfaces, or system integration solutions.
- Strong knowledge of modern C++ programming principles (C++11 or later).
- Experience working with Linux-based development environments.
- Familiarity with Git and software configuration management.
- Experience in software debugging, testing, troubleshooting, and defect resolution.
- Ability to understand technical specifications, system requirements, and interface documentation.
- Good communication skills and the ability to collaborate with customers and cross-functional engineering teams.
- Experience leading or mentoring junior developers is highly desirable.
Preferred Qualifications
- Experience with communication protocols such as TCP/IP, UDP, multicast, serial communication, REST APIs, or RPC.
- Familiarity with data formats such as JSON, XML, YAML, CSV, Protocol Buffers, or binary data formats.
- Experience with development tools such as CMake, Make, Conan, vcpkg, Docker, and CI/CD pipelines.
- Understanding of software security practices, including secure coding, authentication, access control, and vulnerability management.
- Experience working with industrial, embedded, maritime, defence, automation, or other complex system integration environments.
- Previous experience leading a small software development team or mentoring junior engineers.