Senior C++ Software Engineer

Avacone Ag — United Kingdom · Posted ~1 day ago

Senior Full-time

Skills

Modern C++ Software architecture Multithreading Performance optimization API development Software testing System design C++ APIs

🔓 Log in to save this job, tailor your resume & track your apply process — 7 days free, no card needed.

Log in to add to target list

Summary ✨ AI‑Generated

A technology organization is looking for a senior C++ engineer to develop reliable, scalable, and high-performance software. The position involves modern C++, multithreading, architecture, APIs, performance optimization, testing, and close collaboration with technical stakeholders.

Highlights

Hands-on senior engineering role focused on high-performance software, architectural design, complex systems, and meaningful technical decision-making across the full development lifecycle.

Description

Position Overview We are looking for an experienced Senior C++ Software Engineer to design, develop, and maintain high-performance, reliable, and scalable software solutions. The ideal candidate has strong expertise in modern C++, software architecture, multithreading, performance optimization, and complex software systems. You will work closely with software engineers, architects, product teams, and other technical stakeholders to develop robust solutions and contribute to technical decisions throughout the complete software development lifecycle. This position requires strong hands-on engineering skills, a structured problem-solving mindset, and the ability to work independently in technically demanding environments. Key Responsibilities Design, develop, test, and maintain high-quality software using modern C++Develop robust, scalable, and high-performance software components and applicationsDesign and implement software architectures, modules, APIs, and interfacesWrite clean, maintainable, efficient, and well-documented codeAnalyze existing systems and identify opportunities for optimization and modernizationTroubleshoot complex technical issues and perform root cause analysisOptimize software for performance, memory usage, latency, stability, and reliabilityDevelop and maintain multithreaded and concurrent applicationsParticipate in architecture and technical design discussionsConduct code reviews and ensure adherence to software engineering standards and best practicesDevelop automated unit, integration, and system testsSupport continuous integration and continuous delivery processesCollaborate with cross-functional and international development teamsContribute to technical documentation and software specificationsSupport the integration of software components with existing platforms and systemsMentor less experienced engineers and contribute to knowledge sharing within the teamEvaluate new technologies, libraries, frameworks, and development approaches Requirements Required Qualifications Bachelor's or Master's degree in Computer Science, Software Engineering, Electrical Engineering, or a comparable technical discipline7+ years of professional software development experienceStrong professional experience with C++, ideally C++17, C++20, and/or C++23Excellent understanding of:Object-oriented programmingGeneric programming and templatesSTLMemory managementSmart pointers and RAIIMultithreading and concurrencyData structures and algorithmsDesign patternsSoftware architecture principlesStrong experience developing software in Linux environmentsExperience with debugging, profiling, and performance optimizationGood understanding of network and inter-process communication conceptsExperience with build and dependency management tools such as CMake, Conan, or vcpkgStrong experience with Git and modern source-control workflowsExperience with automated testing frameworks such as Google Test, Google Mock, Catch2, or comparable technologiesExperience working with CI/CD pipelinesStrong analytical and problem-solving capabilitiesAbility to analyze and improve complex existing codebasesStrong communication skills and ability to collaborate within international teamsProfessional working proficiency in English Essential Technical Skills C++17 / C++20 or newerSTLMultithreading and concurrencyMemory managementLinuxCMakeGitUnit and integration testingDebugging and profilingSoftware architecture and design patternsPerformance optimization Strong Advantage Experience with one or more of the following would be beneficial: BoostPythonBash / Shell scriptingTCP/IP, UDP, REST, gRPC or other communication protocolsDistributed systemsReal-time or low-latency systemsIPC and asynchronous programmingDockerKubernetesCloud platforms such as AWS, Azure, or GCPConan or vcpkgJenkins, GitLab CI, GitHub Actions, or similar CI/CD platformsStatic code analysis toolsSonarQubeValgrindGDBClang tooling and sanitizers Software Engineering Expectations The Senior C++ Software Engineer should demonstrate strong knowledge of professional software engineering practices, including: SOLID principlesClean CodeTest-driven or test-oriented developmentCode review practicesAutomated testingContinuous integrationSecure coding principlesSoftware lifecycle managementTechnical documentationPerformance and reliability engineering Seniority Expectations As a Senior Engineer, you are expected to: Take ownership of technically complex components and solutionsMake sound architectural and implementation decisionsIdentify technical risks early and propose appropriate solutionsWork independently while collaborating effectively with the wider engineering teamChallenge technical decisions constructively when requiredImprove engineering standards and development practicesSupport and mentor other developersTranslate business and technical requirements into reliable software solutions Personal Competencies Strong analytical and structured thinkingHigh level of ownership and accountabilityQuality-oriented engineering mindsetAbility to work independentlyStrong troubleshooting capabilitiesExcellent attention to detailCollaborative and solution-oriented approachAbility to communicate complex technical topics clearlyComfortable working in international and multidisciplinary environments Nice to Have Experience with embedded or real-time software developmentExperience with highly available or mission-critical systemsExperience with high-performance or low-latency applicationsExperience modernizing legacy C++ applicationsExperience with regulated or highly controlled environmentsExperience working in Agile/Scrum development teamsKnowledge of cybersecurity and secure software development practicesExperience mentoring or technically leading engineering teams