Opportunities for C++ Developers who don’t think like everyone else
We are all about C++. Think elegant algorithms, high-quality, beautiful code and the very best Developers. Our central Berlin office is a unique environment to work in, and our way of working really works – our people get to enjoy challenges, share cutting-edge ideas, experience high levels of personal responsibility and are well rewarded for their expertise, with a minimum of 130,000€ after their first year. All this, and even more benefits, could be yours too.
Since being established in 2002, we have been making the creation of PowerPoint presentations easier, faster, and more enjoyable for more than 25,000 companies (and over 1,000,000 users) around the world. Our add-in is the #1 charting software for PowerPoint, and that’s because of our exceptional people and their skills.
We believe in excellence in development. If you believe in the same, join us!
Algorithmic highlights
We developed a new algorithm for automatic point cloud labeling that allows labels to be positioned away from the actual points.
We’re extending the linear solver CLP to make the simplex code run faster on our kind of problems.
We developed many generic data structures that are not in C++ or Boost—for example, partitions.
Coding highlights
We develop our own cross-platform library to support macOS and Windows with a single code base. You can find our public library here: https://github.com/think-cell/think-cell-library
We do lots of reverse engineering with the disassembler IDA from Hex-Rays to achieve things that are not possible via the documented Microsoft Office API.
We wrote what’s probably the best function-hooking engine out there. Each time our software starts, we patch the Microsoft Office executables in memory.
Rather than hard-coding patch addresses, we search for small chunks of assembly code to be robust against minor changes in the executables.
We closely track the latest version of our compliers, Visual C++ and Apple clang, so we can use the latest C++ standard features as soon as they’re available.
Our open-source tool typescripten generates C++ interfaces (https://github.com/think-cell/typescripten) for JavaScript libraries and helps us write performant, type-safe web apps in C++.
We fund the working group for programming languages of the German Institute for Standardization (DIN). Some of our employees are members of this committee and vote in the international standardization process ISO / IEC C++.
We’re also an official sponsor of the Standard C++ Foundation, which promotes international standards for C++.
“There are no meetings or deadlines, and we take the time to write beautiful code.”
A feature is ready to be released when you are convinced that you have implemented the best possible solution. Suggestions and criticism from anyone are welcome and considered. We value new ideas, even if they mean that we have to change a lot of code to make things better.
“An ideal place for C++ geeks.”
We thrive on tackling complex challenges, ranging from automating slide layout to crafting our own C++ utility library, and we pride ourselves on delivering solutions that are both concise and elegant. Our team consists of exceptional colleagues who excel in their respective fields, fostering a work environment where communication barriers are minimized.
“Here you can focus on design and coding rather than meetings and deadlines.”
Developers get the time and support to do what they do best - produce high quality code. Informal, focused discussions take the place of long meetings and quick release cycles means that their code quickly reaches customers.
“Inspiring environment and fantastic colleagues.”
What I love about working at think-cell the most is the incredibly intelligent and knowledgeable colleagues who are also a huge inspiration for me. We are encouraged to do our job to the highest standard, and I learn something new every day.
“You have time to craft your solution to perfection - no needless bureaucracy.”
No daily stand-ups, countless hours on zoom calls or useless internal reports, instead, you have plenty of time to do your research, discover the best way to solve the problem at hand and work your solution to perfection.
“Even after 20 years, I still enjoy coming to the office every day.”
There’s a great working atmosphere at think-cell; calm and focused, yet open and friendly. My colleagues are open-minded, respectful, and smart. It’s a joy and a privilege to work with them!
“think-cell takes care of its employees.”
I get to work on challenging problems and focus on quality, helping to make a product whose users love it. That’s very satisfying. The work-life balance is excellent, and people here really care about each other.
“An outstanding team and a unique culture create a motivating space to grow”
Every day at think-cell is different - the challenges are as diverse as the team. Yet each day we collectively strive for the best solutions in a culture that rewards doing it right.
“Proud of our codebase and a team dedicated to excellence.”
What I appreciate most about working at think-cell is the robust and efficient codebase with very low technological debt, written in modern C++, and the colleagues who are committed to continuing to improve it even further.
“Seeing think-cell run on the Mac for the first time after more than a year of work has been one of the highlights in my career”
think-cell is fulfilling the original promise of computers: Saving us from boring, repetitive and menial tasks. It makes the world a tiny bit better and that is why our users love the product.
Our head office in Berlin is located in the central district of Mitte. If you need to relocate, we can work with you individually to make that possible. Working in our Berlin office is your opportunity for a fulfilling career and high quality of life. Berlin is a culturally rich and diverse city. It’s also safe and family friendly, with great schools and kindergartens. You always have the choice to work remotely within the time zones UTC-1 to UTC+4 and we also have an office in London.
The first step is to send us your CV using the button below. If we think your skills align, we'll invite you to take an online test.
To learn more about your programming skills and style, we ask you to do a C++ home assignment. It's a problem our Developers have encountered and solved before, and it’s a typical example of think-cell’s advanced use of C++. You'll implement one of the operations of a data structure that we have in our code and use frequently, but which isn't part of the standard library. We use this assignment to guarantee a fair evaluation of all our candidates, as we receive a very large number of applications for the role every year.
There's no deadline to take the test—you're free to complete it when it best suits you. Once you submit a correct solution, we'll invite you to an online interview with our technical team.
You’ll have the chance to speak to up to 3 Developers. We can conduct the entire interview process online if needed.
First, you'll meet with 1–2 senior engineers from our technical team over MS Teams video calls, which can take up to 2 hours each. During these calls, you'll work on programming tasks in C++ that help us assess your skills. The tasks focus on algorithmic aspects and don't require any specific knowledge about technology or the subtleties of C++. A good solution must be correct, fast, and need little memory. Importantly, it should also be short, elegant, and easy to understand.
The next step is an interview with our CTO, Arno. He'll evaluate whether your C++ coding skills, knowledge of algorithms, and formal logic are a good fit for the role. The interview with Arno usually takes 1 or 2 hours, but it can take up to 4.
Whether you meet us in our Berlin office or online, you'll have the chance to ask questions about the team, your role, and our culture. If you meet us in Berlin, we will of course cover the costs of your travel and hotel.
We'll provide feedback as soon as possible after the interviews (usually within 1–2 working days). If we make you an offer and you accept it, our HR team will do its best to help you to settle in. If you're coming to us from outside of Berlin, we'll help you relocate and can offer you an apartment in Berlin for the first month. Should you need a visa, we will of course support the process and sponsor it.
We're looking for bright, creative Developers with a solid theoretical background. Our team's backgrounds range from 10+ years of commercial experience in various fields to fresh graduates in Computer Science, Physics, and Mathematics. A university degree or work experience with C++, in combination with a fresh and creative problem-solving approach, would be ideal for this role. We love working with talented people, whether you're a student, fresh graduate, or C++ expert, therefore our recruitment process is skills-based and consists of tasks related to the role.
We encourage students and recent graduates to apply. We believe experience isn’t everything and don't judge candidates by their expertise. We love working with talented people, whether you're a student, fresh graduate, or C++ expert!
We hire Developers on a full-time basis or for internships with a minimum duration of 2 months. The general recruiting process applies for both options.
Yes! We go out of our way to support our new employees in relocating to Berlin, financially or otherwise. If you successfully pass all our interviews, we help you obtain a work permit and relocate to Berlin. If you move to Berlin, we will offer you an apartment for the first month.
You do not need a visa to apply. If we make you a job offer, we will be happy to help you relocate to Berlin and obtain a visa. Rest assured that we have lots of experience obtaining visas.
The position is open to candidates residing in the time zones UTC-1 to UTC+4. You must also be authorized to be employed in the country of residence without any visa sponsorship.
You won't be asked to work 100% German office hours, but a sufficient overlap is required.
No, the application process is the same.
No, it does not, as our internal company language is English. We offer support with German classes if you're interested in learning the language.
At think-cell, we give you the time and space to write perfect code. There are no deadlines, no overtime, and no mandatory meetings. You can focus on what you do best—solving interesting problems.
We do everything in C++ and are not afraid to use the full power of the language where it makes sense.
We have our own in-house standard library extension with a wide range of utilities to write better code, have the resources to roll our own primitive data structures and algorithms, and the time to reinvent the wheel when we can make a better one.
All of this happens in a constantly evolving codebase to make use of new language features as they become available.
We are highly profitable and do not have to make compromises regarding code quality and beauty. We are willing to go the extra mile in developing sophisticated algorithms and refining our user interface, and we are proud of our many happy customers. think-cell is owned and managed by seasoned computer scientists, which contributes to a working environment that makes exceptional Developers want to come and stay.