Senior Software Developer C++
Role details
Job location
Tech stack
Job description
We are looking for a Senior C++ Software Developer to join the team behind VDC Manager - Thinkproject's complete openBIM software, developed by industry experts and trusted by AEC professionals worldwide.
VDC Manager enables the merging of diverse data and information into BIM processes, including model checking and clash detection in 3D models, construction schedule creation and 4D simulation, quantity and dimension determination for cost calculations, and much more. As a senior member of the engineering team, you will take ownership of complex features, drive technical decisions, and help shape the future of one of Europe's leading BIM platforms.
What You Will Do Core Development
Architect, design, develop, and test new and existing features within VDC Manager Write clean, well-structured, secure, and testable modern C++ code (C++17/20) Take ownership of complex technical areas - from geometry processing and 3D rendering to data exchange and cloud connectivity Troubleshoot, debug, and upgrade existing systems with a focus on performance, scalability, and reliability
Technical Leadership
Drive technical analysis and research, including evaluation and selection of technical approaches and third-party components Define and enforce best practices within the development team (code reviews, CI/CD, testing standards, architecture patterns) Contribute to architectural decisions and provide technical guidance across the team Mentor and support mid-level and junior developers
Collaboration & Communication
Collaborate closely with Product Owners, UX designers, and BIM domain experts to translate requirements into robust technical solutions Demonstrate and present technical work to product owners and stakeholders in a clear and structured manner Work as part of a distributed, international team - contributing to technical discussions on implementation approaches and user interfaces Continuously learn and apply modern tools, frameworks, and engineering processes What you need to fulfill the role
Requirements
6-8 years of professional software development experience Expert-level knowledge of C/C++, including modern standards (C++14/17/20) Strong skills in software architecture, data structures, and design patterns Excellent problem-solving and analytical skills - able to diagnose and resolve complex technical issues Solid understanding of CI/CD pipelines, software quality practices (performance, scalability, security, testability) Fluency in English (written and spoken) - our working language across the engineering team
Strong Advantages
Experience with Qt for desktop application development Hands-on experience with graphics programming (OpenGL, DirectX, Vulkan, or similar) Knowledge of BIM concepts, workflows, and data formats (IFC, BCF) and/or experience in the AEC industry Experience with JavaScript (user scripts), Python (utilities and build tooling), or C# (plug-in development and web services for Thinkproject cloud connectivity) Familiarity with web services and REST APIs for cloud platform integration German language skills are a plus but not required
Benefits & conditions
Code Sample (Required) As part of your application, please share a C/C++ code sample - a function, class, or module that you wrote yourself and are proud of, or that best represents your coding style and preferences.
It does not need to be executable or a complete program It can come from a personal project or a previous role (anonymization is perfectly fine) You are welcome to supplement it with screenshots, videos, papers, or prototypes - anything that helps showcase your work and engineering thinking This is not a test - it is an opportunity to show us how you think and how you write code. What we offer Lunch 'n' Learn Sessions I Women's Network I LGBTQIA+ Network I Coffee Chat Roulette I Free English Lessons I Thinkproject Academy I Social Events I Volunteering Activities I Open Forum with Leadership Team (Tp Café) I Hybrid working I Unlimited learning
Employee satisfaction is our top priority. Our people make Thinkproject what it is today. We value a work environment where everyone can help shape our culture through open feedback and mutual respect. We believe that flexibility and a diverse benefits program are key success factors - for our employees and for our business.
We are an equal opportunity employer and welcome applications from candidates of all backgrounds, nationalities, and career paths.
Your contact: Preethika Ramdass, #content_zone { max-width: 834px; } #scheme_detail_data { width: 100%; display: table; margin-bottom: 10px; } .scheme-border { border: 1px solid rgba(220,223,226,0.8); } .scheme-margin { margin-top: 10px; } .scheme-display .scheme-content { font-size: 16px; padding: 14px 24px; background-color: #ffffff; line-height: 1.6; } .scheme-display .scheme-title { word-break: break-word; } .scheme-display .scheme-title h2 { margin: 0px; font-size: 28px; line-height: 2; padding: 0px; } .scheme-display .scheme-title ul { margin-bottom: 16px; } .scheme-display .video { width: 100%; height: 400px; } .scheme-display h2.scheme-headline { margin: 0px 0px 18px 0px; padding: 0px; } .scheme-display .content-images { position: relative; overflow: hidden; display: block; box-sizing: border-box; padding: 0px; } .scheme-display .content-images: not(: has(.content-images-frame)) { height: 335px; } #header_image { display: none; } #jobTplContainer ul.scheme-additional-data { margin-bottom: 0px; min-width: 40%; } .scheme-additional-data { float: left; margin: 0; padding: 0; list-style: none; } .scheme-additional-data li { list-style: none; margin: 4px 15px 0px -3px !important; } .scheme-additional-data li.left { float: left; } .scheme-display .slide-images: nth-child(2), .scheme-display .slide-images: nth-child(3) { display: none; } .scheme-display .slide-images { width: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); } .scheme-display .content-images-frame { position: relative; width: 100%; height: 335px; overflow: hidden; } .scheme-display .content-images-description { display: block; text-align: left; font-size: 1rem; line-height: 1.4; color: #000; padding: 8px 24px; border-bottom: 1px solid rgba(220,223,226,0.8); } .scheme-content .user-image { width: 100px; height: 100px; border-radius: 50%; float: left; line-height: 100px; background: no-repeat center center; background-size: cover; } .scheme-content .user-data { height: 100px; margin-left: 80px; } .scheme-content .user-data li { list-style: none; } i.fa-fw { margin-right: 5px; margin-left: 5px; } @media (max-width: 768px) { .scheme-additional-data li { display: block; float: none; } .scheme-display .content-images { height: 250px; } } @media (max-width: 650px) { .scheme-display .content-images { height: 250px; } } @media (max-width: 450px) { .scheme-display .content-images { height: 133px; } } #frame_zone { background-color: #ffffff; }