C Developer Position Description Fin
C Developer Position Description Fin
Position description
• Location: Berlin, Germany or remote
• Position: full-time
• Number of vacancies: 5-10 employees
• Form:
o on-site is under think-cell contract
o remote employment is through our partner or B2B contract
• Salary: 90 000-130 000 € gross per year, after the 1st year - 130 000 € guaranteed
• Team size: 20 developers reporting directly to CTO
We are looking for smart, creative developers with a solid theoretical background. Our team of
developers consists of those with 15+ years of commercial experience in various fields, to fresh graduates
in Computer Science, Physics and Mathematics. A university degree or work experience with C++,
together with a fresh and creative problem-solving approach would be an excellent combination for
this role. As all of our recruitment steps are task-based, the selection is based on the skills demonstrated
during our tests.
Job requirements
• Language: fluent English or German. We only require one of these languages
• Working experience: any
• For those who relocate to Berlin:
o EU citizens– any no restrictions
o others have to have a University technical degree (starting from Bachelor) so we can sponsor
the work permit
• Remote:
o working not from the countries which are under world sanctions
o if candidate relocates to another country he needs to be a legal resident of it + have bank
account there or has possibility to send B2B invoice
We accept different profiles for C++ developer position, disregarding the former specialization and
years of experience. For us, it is more important to evaluate the programming abilities rather than a
nice resume and past projects. As all our recruitment steps are task-based, the selection of the candidates
based only on the results demonstrated during the tests.
We actually have several developers who joined us right after university graduation without any
previous working experience.
About our software
Our focus is on business slides (as opposed to more artful applications) because they offer great
potential for automation of layout tasks that are traditionally performed by PowerPoint users
themselves. Challenges are plenty: from a solid understanding of what makes a good layout and
which guidelines are followed by humans who do manual layout, to algorithms that produce an
acceptable output fast enough for interactive slide design, to a graphical user interface that
supports our new, original approach to slide layout in a way that is easy to understand yet
unobtrusive, to solid technical solutions for automatic bug reporting and automatic updates, to
compatibility with third-party software on the computers of half a million users.
Language
• Everything we do is C++. Even our customer portal is written in C++. There is some Assembler glue
code where it is necessary, and our build scripts are written in Python, but other than that think-
cell is all about C++.
• We closely track the latest versions of our compilers, Visual C++ and Xcode, so we can always use
the latest C++ standard features as soon as they become available.
• 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 of ISO/IEC C++.
• We sponsor the Standard C++ Foundation helping them to promote the understanding and use of
modern Standard C++ on all compilers and platforms.
Library
Algorithms
• Our company was founded on the idea for an algorithm for automatic slide layout, and we are still
on an exciting journey towards that ambitious vision. You can see our most recent release in action!
• We developed a new algorithm for automatic point cloud labeling that allows labels to be
positioned away from the actual points.
• We developed a new algorithm for automatic column chart labeling.
• We are working with John Forrest – author of the linear solver CLP – to make his simplex code
faster on our kind of problems.
• We developed many generic data structures that are not in C++ or Boost, for example partitions.
• Our software not only produces charts, it is also able read them back from paper. For our chart
recognition tool, we rely on OpenCV and the Leptonica Image Processing Library.
About the company
The company was established in 2002 and now has over 50 employees from 17 countries. think-
cell is the leading data visualization software for business presentations. Our challenge is to offer the
most intuitive user interface for generating complex data-driven charts and slides, while at the same
time ensuring consistency, accuracy and seamless integration with Microsoft Office. We save time for
our customers by automating many tasks for them, like chart labeling or slide layout. More than
950,000 users worldwide (such as American Express, Coca-Cola, Deloitte Consulting, Ernst & Young,
Google, Hewlett-Packard, Nokia, Porsche Consulting, etc.) rely on our software for their daily business.
We work on challenging visualization problems, reverse engineering of Microsoft’s code, and
reinventing the user interface. And we do this all based on our own pioneering C++ library, which we
have the liberty to perfect along with the rest of our code. think-cell is the only German company
funding a C++ ISO committee delegation, so there is a good chance that components we invent will find
their way into the standard.
Further highlights
• What could be the typical example of tasks/ projects?
At think-cell an example of tasks they will do is the following:
1) Come up with a solution towards a feature request or an idea that nobody knows how to present
yet, that might be a concept or in code;
2) Explain the solution you propose to colleagues who will make questions, try to find holes to
continuously learn.
Also, iterate, improve what you or others developers came up with. All our developers program in C++ and
they discuss things like concepts and code, conceptual design, usability and user experience. What they do
not do (and as expressed by a Senior Developer this is as important as what they do) is not to have
scheduled meetings, no time devoted to organizational stuff, documentation and no tracking of time.
• What is the exposure of C++ developers to the external Clients?
There is none, since there is a support team that works closely with the clients. However, they are much
closer to the client than other companies, with only one “layer” of people in between, instead of 3-7
“layers” or intermediaries.
• What does the relocation package entitle?
To relocate a candidate we do not have a set package. Instead of a one-fits-all package, our CFO/COO speaks
directly to the candidate about his/her needs. In general, it may include support in moving and
accommodation, tickets, apartment for the first time, etc. We do not say no if it is a reasonable request. If
the candidate has a family, we suggest that first he moves to Berlin alone and then, when he-she is more
confident in wanting to stay, moves the rest of the family. We also support with a work permit, if a
candidate needs one.
• Any other benefits beside base salary?
Since they have quite a good salary, there are no other set monetary benefits on the side. However, the
office location is in the middle of Berlin, there is fresh bakery, fresh fruits, drinks and snacks available at the
office every morning, there is a shower to use in case they do sports in between (several run or even go to
work by bicycle), and a summer as well as winter party. If the candidate is successful in the recruitment
process other benefits can be negotiated by the candidate directly with one of the co-founders.
• Will they work in a team or alone?
In general, developers sit in offices with one or two other developers. They do not work in teams
necessarily, though it may happen. In general, they discuss their tasks and projects with the CTO.
• What is the team size?
There are about 50 employees at think-cell, 20 of which are developers + 3 dogs ☺ Nationalities at our
company are varied, including Germany, USA, Brazil, Russia, China, South Africa, Italy, UK, etc. We are happy
to employ talented C++ developers from everywhere on the globe.