Munich (DE)
Wuppertal (DE)
Software Development
Fulltime
Published: 2026-07-07
What do we do?
Introducing Thinkproject Platform
Thinkproject is a European leader in the digitalization of the construction industry, with
offices and customers spanning Europe and beyond.
Founded in 2000 — when construction project planning was still predominantly manual — Thinkproject was built on deep industry expertise and a mission to make complex
construction projects manageable. Today, we call it Construction Intelligence: software
that makes construction projects more efficient, safer, more punctual, and above
all, more sustainable.
VDC Manager is one of the flagship products in our portfolio — a complete openBIM
platform at the intersection of 3D modeling, process management, and data
intelligence.
What your day will look like
About the Role
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
Must-Have
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
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
Please submit your application, including salary expectations and potential date of entry
Working at thinkproject.com - think career. think ahead.
#LI-PR1
#LI-Hybrid
#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; }