C++ Developer in Berlin 120 000 euro per year

Fast timer icon

Permanent Employment

Location icon

Berlin

C++ Developer in Berlin 120 000 euro per year

Calendar
Immediately searched (unlimited)
Clock
32–42 h per week
Dollar
75.000 € per year (negotiable)
Remote work Icon
1 - 2 days per week homeoffice
Responsibilities Icon

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.  Here are some highlights of what we have done.  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 our company is all about C++.
  • Naturally, we use C++ features like lambdas and rvalue references throughout our code base, and have switched to C++17 where our compilers support it.
  • 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
  • We use Boost throughout our code, e.g., Boost.Spirit for parsing.
  • We have our own range library, in the same spirit as Boost.Range or Eric Niebler’s range-v3, but going further, for example, by unifying internal and external iteration. We gave a talk about it, and most of the code is public.
  • We develop our own cross-platform library to support Mac and Windows with a single code base.
  • We have our own reference-counting and persistence libraries to save and restore whole object trees.
  • We have an extensive bug reporting infrastructure. Assertions and error checks stay in the release code, and our software automatically reports bugs to our server. The server analyzes the bug, categorizes it and files it in a database that all developers can access. If an update fixes the bug, the user can download the update directly from a bug response web page.
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.
Reverse Engineering
  • We do lots of reverse engineering with the disassembler IDA from Hex-Rays, in order to achieve things that are not possible via the documented Microsoft Office API.
  • We wrote probably the best function hooking engine out there. On each start of our software, 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.

Occupational fields

Softwareentwickler (m/w/d)

Software Development & Engineering

Tech

Advantages Icon

Our Offer

Here is what we offer in a nutshell:
  • A wide array of extremely challenging C ++ development tasks
  • An international team of brilliant minds
  • A competitive salary from the start and a raise to EUR 120,000 annually after only one year
  • A working environment that makes this team stay and grow
  • Enough time to make sure that every detail of your solution is perfect
  • A flat organization and plenty of room for your ideas
  • No scheduled meetings
  • Family-friendly working hours, no deadlines, no overtime
  • Support for relocation to Berlin
  • Dog friendly office
  • Fresh fruits, bakery and drinks every day

Parental Leave

Free Course Offers

Fair Remuneration

Holiday Pay

Flat Hierarchies

Promotion of Employee Initiatives

User Icon

Your Role

We are looking for smart, creative developers with a solid theoretical background. Developers we have hired in the past mostly hold an exceptional master's degree in computer science or even a doctorate. You will work largely independently and will be responsible for the whole range of activities when implementing a new feature. You should be able to look at a problem from the user's perspective and discuss abstract concepts with fellow developers. We expect each of our developers to do architecture, design, implementation, customer feedback and bug fixing, rather than splitting these activities between several people. We thus put everyone in control of their own work.
We have no deadlines and no scheduled meetings. A feature is ready to be released when you are convinced that you have implemented the best possible solution. Meetings take place as needed, with only the people that are actually involved being required to be present. At any time in the process, ideas, suggestions and criticism from anybody in the hierarchy is welcome and is seriously considered. Your ideas are welcome, even if they mean that we have to change a lot of code to make things better.
We have published several scientific articles in the areas of Artificial Intelligence and Computer Graphics and we will encourage you to do the same. We sponsor visits to conferences and have close relationships with universities and research institutes in the US and Germany.
Our company encourages a healthy work-life balance. We do not work at night or on weekends, and support our staff's families with a full-time company nanny. She is available for free when children are sick, or when you just feel like spending an evening out.
We pay very competitive salaries and offer our developers EUR 120,000 annually following one year of employment. If necessary, we will go out of our way to help you relocate to Berlin, and will do what we can to help you acquire a work permit. While you should be able to communicate effectively in English, knowing German is not required. German language courses can be arranged, if desired.

All levels welcome (no experience required)

Languages

English

Skill set

C++

Company Icon

About think-cell

We are a fast-paced software company in Berlin, Germany, with a focus on developing graphics products that stand out from the crowd. More than 800,000 users world-wide rely on our software for their daily business as it makes creating graphical presentations so much easier, faster and more enjoyable. Among our customers are many renowned consulting companies and large international corporations.

Foundation year icon
Founded in 2002
Employee icon
25-49 employees
Company sectors icon
IT
Company size icon
Mittelständler
Company estimated annual revenue icon
100 - 500 M € annual revenue

By loading the map, cookies are set as specified in our data privacy. Learn more.

More information about the company
Frequently asked questions

Frequently asked questions

Arrow

Who or what is Campusjäger by Workwise?

Campusjäger is part of Workwise - a job platform that supports you throughout your entire career. We take care of recruiting for various companies and accompany you through the entire application process. Via Campusjäger by Workwise you can find jobs for students and graduates. You can manage your applications in your Workwise profile. Learn more about the connection between Workwise and Campusjäger.

Arrow

Is the job I see still available?

For jobs that are still open, you can click the 'Apply now' button. If this is not possible, the job has already been filled or temporarily deactivated.
Arrow

Which documents do I need for my application?

That depends entirely on the job you are applying for. In many cases it is sufficient to upload your PDF resume or fill out your Workwise profile.

Arrow

Where can I upload my records or documents?

You can upload your application documents in your Workwise profile. These can only be viewed by companies you are applying to.

Arrow

Where can I find more information about the company?

You can find more information in the company profile of think-cell.

Arrow

Can I process my application afterwards?

Yes, this is possible. In your application overview you can view your information and make changes. If you have already been invited to an interview, editing is no longer possible. However, you can still add general information and upload additional documents in your profile.

Arrow

How do I get news about my application?

In your application overview at Workwise you have an overview of the application progress at any time. Additionally, we send you emails about the most important status changes.

Arrow

Can I send several applications at once?

The number of your applications is not limited. An overview of your applications can be found at Workwise.

Arrow

Can other companies see where else I have applied?

No, companies can only see the applications they have received.
Arrow

Can I also contact the company's contact person directly?

Personal contact is possible via chat as soon as you have been invited for an interview. Before that, you will receive all important status changes by e-mail. If you have any questions, you can contact your personal Candidate Manager:in from Workwise.

Arrow

I don't think I meet all the requirements. Can I still apply?

Even if you don't meet all the requirements, you can make up for missing knowledge with additional skills. Use the application's questions to address your motivation and show the company why you are still a good fit for the job. If you don't meet many or all of the requirements, the application will not be successful.
Arrow

What do I have to consider if I am not from Germany?

Please make sure to provide all necessary documents within your Workwise profile. It should include an EU work-permit (if you have no EU citizenship) and a CV at least. Depending on the position you are applying to, you could also be asked for a certificate of enrollment, a transcript of records or a language certificate. We would also recommend to inform yourself thoroughly in advance about visa regulations. Therefore you can use the official visa navigator from the Federal Foreign Office.

Arrow

What do I have to consider if German is not my mother tongue?

Please take into account the job’s language requirements and make sure the requirements match your skills. In the job search you can use the language filter to find jobs without German language requirements. It is also helpful to provide language certificates. This section in our help center may support you during the application process.

Our job offer C++ Developer in Berlin 120 000 euro per year sounds promising? We're looking forward to your application.

Similar Jobs for you

Find similar jobs