Skip to content
Search jobs inside your AI agent. Claude, ChatGPT, Claude Code, Codex, Gemini, Cursor and Grok
Connect

ADOMITA TECHNOLOGIES PTE. LTD.

NewBe an early applicant

Junior Software Engineer (C++ Middleware & Interfaces)

Posted Updated
Discussion

Description

About the role

Support the development, testing, integration, and maintenance of a customised C++ middleware solution and its associated software interfaces. The role provides hands-on implementation capability within a supervised engineering environment, with opportunities to develop expertise in C++, system integration, communications protocols, testing, and software configuration management.

Responsibilities

• Develop and maintain C++ software modules under the guidance of the Senior Software Engineer / Technical Lead.

• Implement middleware functions, software adapters, protocol handlers, message parsers, data-conversion logic, configuration functions, and diagnostic features.

• Support the integration of software interfaces between the middleware solution and customer, third-party, or internal systems.

• Write clean, maintainable, and well-documented C++ code in accordance with project coding standards and software-development processes.

• Develop unit tests and support integration, system, and acceptance testing activities.

• Investigate software defects, analyse logs and diagnostic data, reproduce reported issues, and support corrective actions.

• Prepare and maintain technical artefacts such as source-code documentation, test records, configuration files, software release notes, and installation instructions.

• Participate in code reviews and incorporate feedback from the Senior Software Engineer and project team.

• Use Git and approved configuration-management processes to manage source code, branches, baselines, and software releases.

• Support build, deployment, and test-environment setup activities, including Linux-based development and integration environments.

• Assist with customer demonstrations, factory acceptance testing, site integration, commissioning, and troubleshooting when required.

• Participate in technical discussions with system engineers and other disciplines to understand interface requirements, expected data flows, and integration constraints.

• Maintain awareness of software quality, cybersecurity, and configuration-control requirements relevant to the project.

Requirements

• Degree or diploma in Computer Science, Computer Engineering, Electrical/Electronic Engineering, or a related discipline.

• 2 to 3 years of relevant software-development experience.

• Good foundation in C++ programming, including object-oriented design, memory management, debugging, and standard data structures.

• Basic understanding of software-development lifecycle practices, including requirements, implementation, testing, defect tracking, and version control.

• Familiarity with Git or another source-control system.

• Familiarity with Linux or willingness to develop competence in a Linux-based software-development environment.

• Ability to read technical specifications, follow structured development tasks, and document work clearly.

• Strong analytical, problem-solving, and troubleshooting skills.

• Good teamwork and communication skills

Preferred Qualifications and Experience:

• Experience in C++, Linux, embedded systems, networking, middleware, or systems integration.

• Familiarity with TCP/IP networking, sockets, REST APIs, serial communications, or basic client-server architectures.

• Exposure to JSON, XML, YAML, CSV, or other structured data formats.

• Exposure to CMake, Makefiles, automated tests, CI/CD, Docker, or scripting using Python or Bash.

• Familiarity with unit-test frameworks for C++.

• Interest in communications systems, industrial automation, maritime systems, defence systems, IoT, robotics, or real-time software environments.

Skills

What Junior Software Engineering jobs ask for — and how much of it you have →
Apply

See also

Software Engineering jobs by country — openings, pay and top skills →