Festanstellung  
Berlin 

C++ Developer / Computer Science (m/f/x)

Unternehmensprofil Icon

think-cell

Link Icon
Ohne Anschreiben. In nur 2 Minuten.
Job merken IconMerken
TeilenTeilen

C++ Developer / Computer Science (m/f/x)

Ohne Anschreiben. In nur 2 Minuten.
Job merken IconMerken
TeilenTeilen

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.

Our Offer

Uhr32 bis 42 Std. pro Woche
KalenderAb sofort gesucht
Euro75000€ (verhandelbar)
PersonenOhne Personalverantwortung
KrawatteBerufserfahrung optional

Do you believe in beauty when it comes to programming? Do you have a vivid interest in elegant algorithms? Are you fluent in C++? If so, we would like to meet you. 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
Elternzeit Elternzeit
UrlaubsgeldUrlaubsgeld
ProjektverantwortungProjektverantwortung
Kostenlose KursangeboteKostenlose Kursangebote
Flache HierarchienFlache Hierarchien
Regelmäßige FeedbackgesprächeRegelmäßige Feedbackgespräche
Faire VergütungFaire Vergütung
Förderung von MitarbeiterinitiativenFörderung von Mitarbeiterinitiativen
StartupflairStartupflair

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.

Sprachen

Englisch

Interessengebiete

Softwareentwicklung
Testing
Qualitätsmanagement
Webdesign

Kenntnisse und Fähigkeiten

C++

About us

Gründungsjahr Icon2002 gegründet
Mitarbeiter Icon25-49 Mitarbeiter
Unternehmensbranche IconIT
Unternehmensgröße IconMittelständler
iconTagsRow.locations.altBerlin

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 750,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.

We do not have to make compromises with regard to code quality and beauty, because our company is profitable and has no outside investors. We are willing to go the extra mile of developing sophisticated algorithms and refining our user interface, and we are proud of our many happy customers. The fact that the company is owned and managed by seasoned computer scientists certainly contributes to a working environment that makes exceptional developers come and stay.

Mehr über das Unternehmen erfahren

Unser Standort

Chausseestr. 8/E, berlin, Germany Relocation is on us!

FahrradstellplätzeFahrradstellplätze
Gute Anbindung an ÖPNVGute Anbindung an ÖPNV
Gute AutobahnanbindungGute Autobahnanbindung
InnenstadtlageInnenstadtlage
Restaurants in der UmgebungRestaurants in der Umgebung
Supermarkt in der UmgebungSupermarkt in der Umgebung

Häufige Fragen

Pfeil nach unten
Wer oder was ist Campusjäger?

Campusjäger ist mehr als eine Jobbörse. Wir unterstützen dich und unsere Partnerunternehmen dabei, zu einander zu finden. Unternehmen schreiben Jobangebote über uns aus, als Kandidat kannst du dich schnell und einfach mit deinem Campusjägerprofil auf viele verschiedene Jobs bewerben. Dabei haben wir immer ein Ziel vor Augen: Dich mit dem Job zusammen zu bringen, der wirklich zu dir passt.

Pfeil nach unten
Ist der Job, den ich sehe, überhaupt noch verfügbar?

Ja, alle Jobs die du auf unserer Plattform findest, sind noch zu besetzen.

Pfeil nach unten
Welche Dokumente benötige ich für meine Bewerbung?

Das hängt ganz vom Job ab, auf den du dich bewirbst. Häufig reicht es schon aus, wenn du deinen PDF Lebenslauf hochlädst bzw. dein Campusjägerprofil vollständig ausfüllst.

Pfeil nach unten
Wo kann ich meine Unterlagen bzw. Dokumente hochladen?

Sämtliche Unterlagen, die du deiner Bewerbung hinzufügen willst, kannst du in dein Campusjägerprofil hochladen. Unternehmen, bei denen du dich bewirbst, gestattest du mit deiner Bewerbung Zugriff auf die Informationen in deinem Profil.

Pfeil nach unten
Kann ich mich auch ohne Lebenslauf bewerben?

Um einen möglichst umfassenden ersten Eindruck von dir zu erhalten, benötigt das Unternehmen von dir einen Lebenslauf. Diesen musst du auch nur einmal und nicht für jede Bewerbung aufs Neue hochladen. Wenn du noch keinen PDF Lebenslauf hast, kannst du einfach deinen Campusjäger Lebenslauf ausfüllen. Alternativ hast du die Möglichkeiten dein XING oder LinkedIn Profil als PDF Datei zu exportieren.

Pfeil nach unten
Wo finde ich weitere Informationen zum Unternehmen?

Im Unternehmensprofil von think-cell findest du weitere Informationen.

Pfeil nach unten
Kann ich meine Bewerbung nachträglich bearbeiten?

Du kannst deine Bewerbung solange bearbeiten, bis du zu einem Vorstellungsgespräch eingeladen wurdest. Gehe dazu einfach in deine Bewerbungen und wähle die Bewerbung aus, die du bearbeiten möchtest. Dort hast du die Möglichkeit, alle deine Angaben anzusehen und zu verändern. Außerdem kannst du dein Campusjägerprofil jederzeit um weitere Informationen und Unterlagen ergänzen, die dem Unternehmen dann zusätzlich zur Beurteilung deiner Bewerbung vorliegen. 

Pfeil nach unten
Wie bekomme ich Neuigkeiten zu meiner Bewerbung mit?

In deiner Bewerbungübersicht hast du jederzeit einen Überblick über den Bewerbungsverlauf. Sobald etwas Neues passiert, informieren wir dich umgehend darüber. Damit du auch sicher nichts verpasst, senden wir dir zusätzlich E-Mails zu den wichtigsten Statusänderungen.

Pfeil nach unten
Kann ich auch mehrere Bewerbungen gleichzeitig abschicken?

Die Anzahl deiner Bewerbungen ist nicht limitiert. Einen Überblick über deine Bewerbungen findest du hier.

Pfeil nach unten
Können andere Unternehmen sehen, wo ich mich noch beworben habe?

Nein, Unternehmen können immer nur Bewerbungen für sich selbst sehen.

Pfeil nach unten
Kann ich den Ansprechpartner des Unternehmens auch direkt kontaktieren?

Das Unternehmen kommt auf dich zu, sobald deine Bewerbung angesehen wurde. Solltest du vorher Fragen haben, hilft dir gerne dein persönlicher Candidate Manager von Campusjäger weiter.

Pfeil nach unten
What do I have to consider, if I am not from Germany?

Please make sure to provide all necessary documents within your Campusjäger profile. It should include an EU work-permit (if you have no EU citizenship) and a CV at least. Be aware of different employment types in Germany. Depending on the position you are applying to, you could also be asked for a certificate of enrollment and a transcript of records. 

Pfeil nach unten
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. It is also helpful to provide language certificates. This article may support you during the application process.

Pfeil nach unten
Ich glaube, ich erfülle nicht alle Anforderungen. Kann ich mich trotzdem bewerben?

Oft können nicht erfüllte Anforderungen durch andere Fähigkeiten ausgeglichen werden. Wenn du daher die eine oder andere Anforderungen nicht vollständig erfüllst, ist es dennoch einen Versuch wert. Solltest du allerdings viele oder sogar alle Anforderungen nicht erfüllen, ergibt eine Bewerbung wenig Sinn.

Interested? We are looking forward to your application via Campusjäger!

Ohne Anschreiben. In nur 2 Minuten.

Der Job passt doch nicht ganz zu dir? Wir haben noch mehr im Angebot...