Opportunities for C++ Developers who don’t think like everyone else

Why think-cell?

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!

Clients that trust in us

Highlights of the role

Two members of development team doing a code review.
  • We use the latest C++ features as soon as the compilers support them.
  • We take the time to deliver perfect code. We love refactoring and modernizing old code.
  • We prefer functional-style generic algorithms and ranges over imperative programming.
  • We’re not afraid of advanced template metaprogramming or macros when they avoid code duplication or lead to cleaner, more readable code.
  • We constantly introduce and improve our own libraries that go far beyond what the standard library has to offer.
  • If we’ve done something cool, we talk about it at C++ conferences.
  • If we’re missing a C++ language feature, we write a proposal and present it to the C++ standard committee.

Here is what we offer

Three employees taking a break around the coffee machine.
  • A highly competitive salary from the start and a raise to EUR 130,000 annually after only one year
  • Support with relocation to Berlin and an apartment for the first month
  • Option to work fully remotely (within the time zones UTC-1 to UTC+4)
  • Lifestyle-friendly working hours, no deadlines, no overtime!
  • No scheduled meetings
  • An international team of brilliant minds
  • A flat organization with respectful colleagues and plenty of room for your ideas
  • A working environment driven by the pursuit of excellence

Algorithmic and coding highlights

Colorful Lego house at an employees desk.

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++.

More of what we offer

  • Support with relocation and work visa
  • Free full breakfast (fresh bakery; bread rolls, pretzels, cheeses, meats, vegetables, fruit, berries, yogurts, oats, cereal etc.)
  • Support with German classes
  • Summer and Christmas parties, movie nights and other team events
  • A dog friendly office
  • An active running group
  • Safe place to leave your bike if you choose to cycle to work
Thumbnail of "Better C++ string literals (What it's like to work at think-cell)" video.
Thumbnail of "How to do thumbnails right (What it's like to work at think-cell)" video.
Thumbnail of "JSON parsing can be fast and elegant (What it's like to work at think-cell)" video.

Meet the team

Arno, think-cell founder and CTO.

Arno, Germany

Founder and CTO
Founded company in April 2002

“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.

Han, Software Engineer.

Han, China

Software Engineer
Started in July 2015

“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.

Simon, Senior Software Engineer.

Simon, Scotland

Senior Software Engineer
Started in March 2006

“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.

Kseniya, Head of Testing / QA.

Kseniya

Head of Testing / QA
Started in January 2023

“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.

Olavo, Software Engineer.

Olavo, Brazil

Software Engineer
Started in December 2017

“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.

Volker, Senior Software Engineer.

Volker, Germany

Senior Software Engineer
Started in February 2003

“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!

Lydia, Software Engineer.

Lydia, South Africa

Software Engineer
Started in October 2016

“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.

Christian, Head of Library Development.

Christian, Germany

Head of Library Development
Started in May 2020

“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.

Edgar, Senior Software Engineer.

Edgar, Romania

Senior Software Engineer
Started in July 2009

“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.

Sebastian, Senior Software Engineer.

Sebastian, Germany

Senior Software Engineer
Started shortly after company was founded

“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.

Arno, think-cell founder and CTO.

Arno, Germany

Founder and CTO
Founded company in April 2002

“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.

Han, Software Engineer.

Han, China

Software Engineer
Started in July 2015

“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.

Simon, Senior Software Engineer.

Simon, Scotland

Senior Software Engineer
Started in March 2006

“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.

Kseniya, Head of Testing / QA.

Kseniya

Head of Testing / QA
Started in January 2023

“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.

Olavo, Software Engineer.

Olavo, Brazil

Software Engineer
Started in December 2017

“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.

Volker, Senior Software Engineer.

Volker, Germany

Senior Software Engineer
Started in February 2003

“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!

Lydia, Software Engineer.

Lydia, South Africa

Software Engineer
Started in October 2016

“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.

Christian, Head of Library Development.

Christian, Germany

Head of Library Development
Started in May 2020

“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.

Edgar, Senior Software Engineer.

Edgar, Romania

Senior Software Engineer
Started in July 2009

“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.

Sebastian, Senior Software Engineer.

Sebastian, Germany

Senior Software Engineer
Started shortly after company was founded

“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.

Where we’re based

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.

Tall office building seen from from the outside, with a tree in front of it.

Application process

Draft your application.

1. Application

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.

Take the C++ programming challenge.

2. Programming 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.

Interview with our technical team.

3. Interviews

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.

Find out about the outcome of the interviews.

4. Decision

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.

FAQs

Thumbnail of "Working at think-cell as a C++ Developer - FAQs" video.

What are the requirements for the position?

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.

Is the position suitable for students and graduates?

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.

Do you assist with relocation to Berlin, Germany?

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.

Do I need a visa to apply?

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.

What are the conditions for remote work?

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.

Is there a difference in the application process for the remote and on-site positions?

No, the application process is the same.

Does the role require knowledge of German?

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.

What differentiates think-cell from other software companies?

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.

What's special about programming at think-cell?

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.

What makes talented Developers stay at think-cell?

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.

Join us