C/C++ Software Engineer
Role details
Job location
Tech stack
Job description
In response to strategic growth and the ongoing evolution of their product portfolio, our Client is seeking a skilled Software Engineer specialising in C/C++ to join their R&D team. This pivotal role is designed to contribute significantly to the development of their flagship network emulation products, directly impacting the company's ability to deliver innovative solutions. The successful candidate will work on complex, performance-critical software, helping shape the future of network testing technology within a fast-paced environment., * Lead the design, implementation, and upkeep of sophisticated backend software components, ensuring functionality aligns with product requirements.
- Collaborate closely with product managers to translate high-level specifications into tangible software solutions.
- Contribute to the architectural development and continuous improvement of system software to guarantee high performance, scalability, and adaptability.
- Provide accurate estimations of development tasks and deliver high-quality code within agreed deadlines.
- Participate in quality assurance activities, including reviews, testing, and documentation, to ensure robust and reliable products.
Requirements
- Degree in Computer Science, Software Engineering, or a comparable discipline.
- Minimum of five years' experience in software development, with at least two specialising in Linux environments using GNU tools such as gcc and gdb.
- Proven expertise in C++ programming, leveraging object-oriented design principles.
- Strong understanding of network programming and multithreaded application development.
- Ability to break down complex problems and estimate work accurately.
- Excellent communication skills, both written and verbal, with a track record of collaborative teamwork.
- Experience mentoring junior developers and supporting their growth.
Desirable Skills & Experience
- Practical experience with CI/CD pipelines, Jenkins, and GitHub Actions.
- Familiarity with high-performance or real-time systems programming.
- Knowledge of DPDK, JavaScript, Docker, or cloud services such as AWS and Terraform.
- Previous involvement in automation, containerisation, or advanced systems architecture design.