C++ / Qt Software Engineer

Tigerresgroup — United Kingdom · Posted ~6 hours ago

Skills

C++ Qt Linux Software Architecture Software Design Unit Testing Integration Testing Formal Verification Secure Software Development Code Review Root Cause Analysis

🔓 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

Join an R&D engineering team developing and maintaining sophisticated C++ applications in Linux environments with Qt. You will contribute to architecture and design decisions, write unit and integration tests, support verification activities, and review peer code. The role suits a collaborative engineer who values reusable, efficient, maintainable, safe, and secure software.

Highlights

Opportunity to work within a global R&D environment on sophisticated software applications for industrial markets. The role combines hands-on C++ development with architecture, testing, verification, secure development practices, and peer code review.

Description

C++ / Qt Software Engineer Role Overview The overall responsibility of the C++ Software Engineer is to design, develop and maintain software applications, working as part of the Global R&D organisation on products targeted towards the Onshore, Offshore and Transportation markets. Key Responsibilities Developing and maintaining C++ application software within Linux environments using Qt frameworkWriting code that is flexible, reusable, efficient and adaptable to changing requirementsContributing to software architecture and design decisionsWriting unit and integration tests; supporting formal verification activitiesWorking in a structured environment following safe and secure software development principlesReviewing the code of peers with a focus on correctness and maintainability Skills Required The successful candidate will: Proactively assess and eliminate root cause when faced with technical barriersBe a team player, comfortable working in a close-knit team and building strong professional relationshipsActively support less-experienced team members by helping them with their development, providing guidance and setting a good exampleTake responsibility for any failures in the project and take action to prevent them in the future, embracing and sharing the learningBe inquisitive to understand products and customer use casesBe able to work independently, proactively making decisions, problem solving and driving issues to a conclusionOrganise and communicate on own work activities aligned with wider business objectivesHave strong technical skills and a desire to develop theseDemonstrate strong technical ability with a commitment to continuous learning Knowledge & Experience Required 3+ years of professional software development experienceStrong proficiency in C++ with a solid understanding of object-oriented design, memory management, concurrency and SOLID design principlesExperience developing desktop or cross-platform applications using Qt framework (Qt Widgets and / or QML)Experience developing software on Linux platformsGood understanding of networking fundamentals, including TCP/IP, UDP and socket programmingExperience with build systems such as CMake and version control using GitAbility to read and contribute to technical specifications and architecture documentsExperience writing unit and integration testsAbility to read, understand and contribute to technical specifications and architecture documentationFamiliarity with CI/CD pipelines and automated build systems (beneficial)Exposure to containerised development environments (Docker) (beneficial)Familiarity with Agile software development methodologies (beneficial) Education & Qualifications Degree in Computer Science, Software Engineering or similar background