Jobs
>
Berlin

    C++ Developer - Berlin, Deutschland - Software think-cell

    Software think-cell
    Software think-cell Berlin, Deutschland

    vor 3 Wochen

    Default job background
    Beschreibung
    or remote*

    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 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
  • Lifestyle-friendly working hours, no deadlines, no overtime
  • Support for relocation
  • A competitive salary from the start and a raise to EUR 130,000 annually after only one year
  • Apply to work remotely*

    Remote position is open exclusively to candidates residing and working within the time zones of UTC-1 to UTC+4.

    About us

    Thank you, think-cell, for sponsoring the Standard C++ Foundation and challenging our Microsoft compiler team with complex C++ code.

    Herb Sutter, President of the Standard C++ Foundation

    think-cell is a fast-paced software company in Berlin, Germany, with a focus on developing graphics products that stand out from the crowd. More than 1,000,000 users worldwide rely on our software for their daily business because we make creating PowerPoint presentations so much easier, faster, and more enjoyable. Among our customers are many renowned consulting companies and large international corporations.

    Because think-cell is highly profitable, we 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. The company is owned and managed by seasoned computer scientists, which contributes to a working environment that makes exceptional developers want to come and stay.

    About our software

    Our focus is on business slides (as opposed to more artful, open-ended applications) because they offer great potential for automation of the layout tasks traditionally performed by PowerPoint users themselves. There are plenty of challenges, from a solid understanding of what makes a good layout, to algorithms that produce an aesthetically pleasing output fast enough for interactive slide design, to an intuitive and unobtrusive graphical user interface that supports our original approach to slide layout, to solid technical solutions for automatic bug reporting and updates, to compatibility with third-party software on the computers of over 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 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 ISO / IEC C++.
  • We are also an official sponsor of the Standard C++ Foundation, which promotes international standards for C++.
  • 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 we go 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 macOS and Windows with a single code base. You can find our public library here.
  • 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

  • think-cell was founded on the idea of 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 for our kinds of problems.
  • We developed many generic data structures that are not in C++ or Boost, such as partitions.
  • Our software not only produces charts, it can also read them off print and digital images. 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 to achieve things that are not possible through the documented Microsoft Office API.
  • We have probably written 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 protect against minor changes in the executables.
  • Watch our CTO Arno answering FAQs

    Arno Schoedl (think-cell founder & CTO) and Volker Schöch (Senior Software Developer) answer frequently asked questions about applying and working at think-cell as a C++ Developer.

    The following questions are answered in this video:

  • What does think-cell do?
  • What are some technologies in use at think-cell?
  • What is your relationship with Microsoft?
  • What kind of tasks can C++ Developers expect when they start at think-cell?
  • Why is think-cell constantly looking for more C++ Developers?
  • What kind of C++ Developers is think-cell looking for?
  • Why is there no phone interview before the programming test at think-cell?
  • Why do I have to set aside so many hours for the programming test?
  • Is there a limit to the number of applications that think-cell accepts?
  • Will think-cell help me relocate to Berlin, Germany?
  • About this job

    We are looking for bright, creative Developers with a solid theoretical background. Our team of Developers consists of a wide range of people, from recent graduates in Computer Science, Physics and Mathematics to Developers with 10+ years of experience. A university degree or work experience with C++, together with a fresh and creative problem-solving approach would be an excellent combination for the role. We love working with talented people, whether you are a student, fresh graduate, or a C++ expert, therefore our recruitment process is skills-based consisting of tasks related to the role.

    You will mostly work independently and will be responsible for the whole range of tasks involved in 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.

    At think-cell, there are no deadlines or 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, and only the people actually involved in the topic are required to attend. At any time in the process, ideas, suggestions and criticism from anybody in the hierarchy are welcome and are seriously considered. We want to hear your ideas, 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 across the U.S. and Germany.

    think-cell encourages a healthy work-life balance. We do not work at night or on weekends.

    We pay very competitive salaries and offer our Developers EUR 130,000 annually after one year of employment. If necessary, we will go out of our way to help you relocate to Berlin, and we will do what we can to help you acquire a work permit. You should be able to communicate effectively in English. Knowing German is not required, but we will arrange and cover to costs of German lessons, if desired.

    Join us in Berlin Apply to work remotely*

    Even more details on our DevOps

    Which IDE and compiler are you using?

    We use Visual Studio with the MSVC compiler on Windows and Xcode with Clang on the Mac. As mentioned above, we compile from the same source code for both platforms.

    Which toolkit do you use for UI?

    We employ OpenGL on the Mac and DirectX on Windows to render our own user interface on top of PowerPoint's and Excel's window contents.

    What do you use for issue tracking?

    We have been using Request Tracker (RT) for many years now, but we are looking into alternatives.

    Which version control system do you use?

    Git hosted on-premise.

    Do you do unit tests?

    We have implemented a toolkit that allows for an easy definition of unit tests directly in our code base. Unit tests are executed as part of every compile run.

    Do you have a build server?

    A dedicated machine runs Jenkins to continuously build the project and, in case of failure, automatically send emails to developers who have committed code since the last successful build.

    Do you have coding conventions?

    We have a written set of coding conventions with very solid arguments for every single one of them. We do not hesitate to update our coding conventions when we find new or better arguments.

    What do you think about static code analysis?

    We tried a few tools, but they offered few valuable insights. Apparently, we are quite successful in avoiding typical pitfalls through our coding conventions and code reviews. More complex problems that escape our code reviews tend to go unnoticed during static code analysis, as well. Employing a well-staffed testing team and a vigilant support team with direct access to Developers has proven far more helpful in identifying sneaky bugs than static code analysis. That said, we keep looking for tools that help Testers and Developers find more bugs faster.

    What is your take on Agile as a software development methodology?

    We are aware of the modern software development methodologies that have evolved around the Agile movement and employ whatever helps our projects without getting in the way. This includes peer reviews; a high degree of self-organization and accountability; hallway usability tests; more formal tests with actual users; being ready to take new requirements or findings into account at any stage in the development process; frequent, automatic updates; a tight feedback loop with active users, in addition to automatic reports from the software; using the best tools money can buy, like SSD RAIDs and gargantuan amounts of RAM for every Developer; taking the time to ensure that every detail of our implementation gets the attention it deserves and taking the time to not write unnecessary code.


  • Recruitment Circle GmbH

    C++ Developer

    vor 1 Woche


    Recruitment Circle GmbH Berlin, Deutschland Ganztags

    Über uns Recruitment Circle GmbH ist ein führendes Unternehmen in der Personalvermittlung mit Sitz in Berlin. Wir sind spezialisiert auf die Vermittlung von hochqualifizierten Fachkräften in verschiedenen Branchen. Unser Ziel ist es, Unternehmen mit den passenden Talenten zusamme ...

  • Rohde & Schwarz

    C++ Developer

    vor 2 Wochen


    Rohde & Schwarz Berlin, Deutschland

    Info · Stadt/Region: Berlin (Deutschland) · Einstiegslevel: Berufserfahrene · Employment Type: Vollzeit, unbefristet · Ref. Nummer: 5513 · Aufgaben · Gemeinsam mit den Kollegen in deinem Team arbeitest du an der Neu-/ und Weiterentwicklung von Softwarekomponenten für Layer2/3-bas ...

  • Michael Page

    C# Developer

    vor 2 Wochen


    Michael Page Berlin, Deutschland Ganztags

    Spannende Herausforderung im Feld der Digitalen Transformation Flache Hierarchien, Individuelle Coachings FirmenprofilUnser Mandant ist führender Anbieter in den Bereichen IT-Transformation, Digitalisierung und Softwareentwicklung. ...


  • Deutsches Zentrum für Luft- und Raumfahrt e. V. Berlin, Deutschland Ganztags

    Softwareentwicklerin oder Softwareentwickler o. ä. (w/m/d) C++ Softwareentwicklung im Kontext Bild- und Geodaten ...

  • KA Resources Recruitment SL

    Backend Developer C#

    vor 2 Wochen


    KA Resources Recruitment SL Berlin, Deutschland

    Für meinen Kunden, einen kleinen und familiären Betrieb für Softwarelösungen und IT-Dienstleistungen mit weniger als 10 Mitarbeitern, suche ich qualifizierte Fachkräfte. Die Dienstleistungen der Firma umfassen Architekturberatung, Web-Entwicklung, App-Entwicklung und Integration ...

  • BAYOONET AG

    C# Web Developer

    vor 1 Woche


    BAYOONET AG Berlin, Deutschland Ganztags

    Webentwickler Softwareentwickler (m/w/d) C# oder PHP (Darmstadt, München, Berlin, Köln, Ludwigsburg - Festanstellung) Mitdenker:in (m/w/d) gesucht Über uns Die BAYOONET Group mit Standorten in Darmstadt, München, Berlin, Ludwigsburg und Köln gestaltet seit über 20 Jahren maßgesch ...

  • Michael Page

    C# Developer

    vor 1 Monat


    Michael Page Berlin, Deutschland Ganztags

    Firmenprofil Mein Kunde sucht nach einen leidenschaftlichen C#/.NET Developer, der deren Entwicklungsabteilung verstärken sollte. Als Teil dessen Teams werden Sie in spannenden Projekten arbeiten und dazu beitragen, innovative Softwarelösungen zu entwickeln. · Aufgabengebiet Des ...

  • Michael Page

    C++ Developer

    vor 1 Monat


    Michael Page Berlin, Deutschland Ganztags

    Firmenprofil Unternehmen: Wir sind ein führendes Unternehmen im Bereich Telekommunikation, das sich auf die Entwicklung hochmoderner Lösungen für die digitale Welt spezialisiert hat. Mit einem Fokus auf Innovation und Kundenzufriedenheit gestalten wir die Zukunft der Kommunikatio ...

  • Rohde & Schwarz Cybersecurity GmbH

    C++ Developer

    vor 1 Monat


    Rohde & Schwarz Cybersecurity GmbH Berlin, Deutschland Employee

    Verstärke unser Team zum nächstmöglichen Zeitpunkt · Aufgaben · Gemeinsam mit den Kollegen in deinem Team arbeitest du an der Neu-/ und Weiterentwicklung von Softwarekomponenten für Layer2/3-basierte Netzwerkverschlüsselungssysteme. · Du spezifizierst und dokumentierst deine Sof ...

  • Michael Page

    C# Developer

    vor 3 Wochen


    Michael Page Berlin, Deutschland Ganztags

    Firmenprofil Unser Mandant ist führender Anbieter in den Bereichen IT-Transformation, Digitalisierung und Softwareentwicklung. · Spezialisiert auf Branchen mit höchsten Anforderungen an IT-Systeme, wie etwa Banking, Versicherungen, Automotive, Logistik und Energie, bietet unser M ...


  • Rohde & Schwarz Berlin, Deutschland

    Aufgaben · Gemeinsam mit den Kollegen in deinem Team arbeitest du an der Neu-/ und Weiterentwicklung von Softwarekomponenten für Layer2/3-basierte Netzwerkverschlüsselungssysteme · Du spezifizierst und dokumentierst deine Softwarelösungen, führst aktiv Code-Reviews im Team durch ...

  • Enzo Tech Group

    C++ Developer

    vor 4 Wochen


    Enzo Tech Group Berlin, Deutschland

    Are you interested in working for a leading software company based in Berlin? · Our client is actively looking for a C++ Developer to come on board permanently. · What we expect from you: · Experience with C++ · Fluent in English or German · Salary: · €60,000-€130,000 (depen ...

  • TalenTailors

    C++ Developer

    vor 2 Wochen


    TalenTailors Berlin, Deutschland Ganztags

    TalenTailors is seeking a skilled and motivated C++ Developer to join our customer`s team. As a C++ Developer, you will be responsible for designing, developing, and maintaining software applications using C/C++ programming language. · Responsibilities: · Develop high-performing ...

  • IT Recrcruitment Agency

    C++ Developer

    vor 1 Tag


    IT Recrcruitment Agency Berlin, Deutschland

    Our client is seeking bright, creative C++ Developers with a strong theoretical foundation. The team comprises individuals with diverse backgrounds, from recent graduates in Computer Science, Physics, and Mathematics to seasoned developers. Experience in C++ through university ed ...

  • castLabs GmbH

    C++ Developer

    vor 2 Wochen


    castLabs GmbH Berlin, Deutschland Nebenberuflich

    Dive into the cutting-edge world of digital video delivery with us As a dedicated player in the OTT media services and content security sector, we are committed to pioneering state-of-the-art software and cloud services. Our mission? To navigate the ever-evolving market of digita ...

  • Espabila

    C++ Developer

    vor 2 Wochen


    Espabila Berlin, Deutschland

    Job Opportunity: Software Developer C++ · About Us: · We are a pathbreaking solution provider for telco operators, implementing intelligent content traffic steering and automated load balancing in very large IP networks. Our technology significantly reduces network capital expend ...

  • SIGL:IO

    C++ Developer

    vor 2 Wochen


    SIGL:IO Berlin, Deutschland

    Company Mission · BENOCS - a pathbreaking solution for telco operators that implements intelligent content traffic steering and automated load balancing in large IP networks - thus significantly reducing network capex while improving quality. The rapid evolution of global interne ...

  • Optimus Search

    C++ Developer

    vor 5 Tagen


    Optimus Search Berlin, Deutschland

    Are you an expert in C++? · Do you have come from a strong mathematics background? · Want to work for a forward thinking and exciting company? · Algorithm Developer (C++, Maths) – Berlin – Booming Virtual Machine Company · Our client is an exciting technology company based in th ...


  • KA Resources Recruitment SL Berlin, Deutschland

    Für meinen Kunden, einen kleinen und familiären Betrieb für Softwarelösungen und IT-Dienstleistungen mit weniger als 10 Mitarbeitern, suche ich qualifizierte Fachkräfte. Die Dienstleistungen der Firma umfassen Architekturberatung, Web-Entwicklung, App-Entwicklung und Integration ...

  • Enzo Tech Group

    C++ Developers

    vor 5 Tagen


    Enzo Tech Group Berlin, Deutschland

    Are you interested in working for a leading software company based in Berlin? · Our client is actively looking for a C++ Developer to come on board permanently. · Experience with C++ · Fluent in English or German · Attractive benefits & working environment ...