C++ Developer
vor 3 Wochen
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's 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 highly competitive annual salary from the start, with a raise to EUR 130,000 after your first year*Remote positions are open exclusively to candidates residing and working within the time zones 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++ Foundationthink-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 don't have to make compromises regarding code quality and beauty. We're willing to go the extra mile in developing sophisticated algorithms and refining our user interface, and we're 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 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've done:
Language
Everything we do is C++. Even our customer portal is written in C++. There's 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're an official sponsor of the Standard C++ Foundation, which promotes international standards for C++.
Library
We use Boost throughout our code—for example, 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're 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're 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 aren't 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 aren't possible through the documented Microsoft Office API. We've written 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 protect against minor changes in the executables.
Watch our CTO Arno answering FAQs
Arno Schoedl (think-cell Founder and 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's 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'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.
You will mostly work independently and will be responsible for the entire 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're 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've 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 competitively and offer our Developers an annual salary of EUR 130,000 after one year of employment. If necessary, we'll go out of our way to help you relocate to Berlin, and we'll 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 arrange and cover the costs of German lessons, if desired.
Apply now
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 macOS. As mentioned above, we compile from the same source code for both platforms.
Which toolkit do you use for the UI?
We employ OpenGL on macOS 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've been using Request Tracker (RT) for many years now, but we're looking into alternatives.
Which version control system do you use?
Git hosted on-premise.
Do you do unit tests?
We've 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, through our coding conventions and code reviews, we quite successfully avoid typical pitfalls. 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 proved 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're 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.
-
Software Developer
vor 3 Wochen
Berlin, Berlin, Deutschland Rahantech GmbH VollzeitRahantech GmbH is seeking a skilled C#/.NET Developer to join their team in Germany.About the JobDesign, develop, and maintain applications using C# and the .NET framework.Collaborate with cross-functional teams to deliver high-quality software solutions.Participate in code reviews and contribute to continuous improvement processes.RequirementsAt least 2+...
-
C#/.NET Developer
vor 2 Monaten
Berlin, Deutschland Rahantech GmbH VollzeitRahantech is hiring a skilled C#/.NET Developer on behalf of a fast-growing company in Germany. Tasks Design, develop, and maintain applications using C# and the .NET framework. This involves writing clean, maintainable code and following best practices in software development. Analyze requirements and design software solutions that meet business needs,...
-
C#/.NET Developer
vor 2 Monaten
Berlin, Deutschland Rahantech GmbH VollzeitRahantech is hiring a skilled C#/.NET Developer on behalf of a fast-growing company in Germany. Tasks Design, develop, and maintain applications using C# and the .NET framework. This involves writing clean, maintainable code and following best practices in software development. Analyze requirements and design software solutions that meet business needs,...
-
C#/.NET Developer
vor 2 Monaten
Berlin, Deutschland Rahantech GmbH VollzeitRahantech is hiring a skilled C#/.NET Developer on behalf of a fast-growing company in Germany.TasksDesign, develop, and maintain applications using C# and the .NET framework. This involves writing clean, maintainable code and following best practices in software development.Analyze requirements and design software solutions that meet business needs,...
-
Middle+/Senior C# Developer
Vor 6 Tagen
Berlin, Deutschland SELIUK LTD VollzeitLeading technology company is seeking an experienced C# Developer with 4+ years of experience to join their development team. The ideal candidate will have a strong background in C# programming, a solid understanding of object-oriented design, and a passion for creating efficient, scalable, and maintainable software solutions.Responsibilities: Design,...
-
Middle+/Senior C++ Developer
Vor 6 Tagen
Berlin, Deutschland SELIUK LTD VollzeitAn innovative tech company is looking for a highly skilled C++ Developer with at least 4 years of experience to join their engineering team. The ideal candidate will have a solid foundation in C++ programming, a passion for building high-performance applications, and the ability to solve complex technical challenges.Responsibilities: Design, develop, and...
-
C++ Software Developer Internship Opportunity
vor 4 Wochen
Berlin, Berlin, Deutschland think-cell VollzeitAbout the C++ Developer InternshipThink-cell is a fast-paced software company in Berlin, Germany, that develops innovative graphics products. As a C++ Developer Intern, you'll contribute to sophisticated algorithms and refine the user interface.Why Choose Us?Competitive Salary: Earn EUR 75,000–90,000 from day one.Skills-Based Enrollment: No prior work...
-
Berlin, Berlin, Deutschland Lexxion Publisher VollzeitWe are seeking a talented Software Developer to join our team. The ideal candidate should have proficiency in Python and C++ programming languages.Develop and maintain software applications using Python and C++.Collaborate with cross-functional teams to design and implement software solutions.Stay up-to-date with industry trends and emerging technologies.
-
Software Developer
vor 4 Wochen
Berlin, Deutschland Yeah! Global VollzeitTasks & ResponsibilitiesDevelop highperformance software with a focus on multithreading.Maintain test and enhance code to correlate and process multiple realtime data streams.Design software for both new and existing features.Troubleshoot and debug complex issues.RequirementsProficient coding skills in C/C.Extensive experience working in a Linux programming...
-
Senior C++ Developer
vor 6 Monaten
Berlin, Deutschland TalenTailors VollzeitDo you find beauty in programming? Are you passionate about crafting elegant algorithms and proficient in C++? If so, we'd love to connect with you. We are searching for bright, creative Developers with a solid theoretical foundation. Our team comprises individuals with diverse backgrounds, ranging from recent graduates in Computer Science, Physics, and...
-
Backend Software Developer
vor 1 Monat
Berlin, Deutschland Michael Page VollzeitBackend Software Developer (m/w/d) - C++Mein Mandant ist ein führendes Unternehmen in der Elektrotechnik mit Fokus auf Energieverteilung. Das Unternehmen hat ein breites Netzwerk an Standorten und bietet seinen Kunden daher optimierte lokale Dienstleistungen an. In seinem Namen bin ich auf der Suche nach einem Backend Software Developer (m/w/d) - C++ am...
-
Backend Software Developer
vor 1 Monat
Berlin, Deutschland Michael Page VollzeitBackend Software Developer (m/w/d) - C++Mein Mandant ist ein führendes Unternehmen in der Elektrotechnik mit Fokus auf Energieverteilung. Das Unternehmen hat ein breites Netzwerk an Standorten und bietet seinen Kunden daher optimierte lokale Dienstleistungen an. In seinem Namen bin ich auf der Suche nach einem Backend Software Developer (m/w/d) - C++ am...
-
Backend Software Developer
vor 4 Wochen
Berlin, Deutschland Michael Page VollzeitBackend Software Developer (m/w/d) - C++Mein Mandant ist ein führendes Unternehmen in der Elektrotec...
-
C++ developer
Vor 6 Tagen
Berlin, Deutschland TechBiz Global GmbH VollzeitAbout TechBiz Global TechBiz Global is a leading recruitment and software development company. Our diverse, globally distributed team provides IT recruitment, outstaffing, outsourcing, software development, and different consulting services with a primary focus on making our partners achieve their business goals successfully. With headquarters in Germany we...
-
Software Developer with expertise in Python and C++
vor 4 Wochen
Berlin, Berlin, Deutschland Doc PersonalBeratung GmbH VollzeitSoftware Developer RoleAt {company}, we are looking for a skilled Software Developer to join our team. In this role, you will be responsible for developing high-quality software solutions using Python and C++.ResponsibilitiesDesign and implement software features using Python and C++Collaborate with cross-functional teams to ensure software meets...
-
Software Developer C#
vor 4 Wochen
Berlin, Deutschland Cortado Mobile Solutions GmbH VollzeitSoftware Developer C# / .NET (m/w) Als eine hundertprozentige Tochter der Cortado Holding AG ist die Cortado Mobile Solutions GmbH federführend bei allen operativen Geschäften rund um Enterprise Mobility und Teamkollaboration in der Cloud. Zur Verstärkung unseres Teams suchen wir ab sofort:...
-
Become a C++ Developer and Unlock Your Potential
Vor 5 Tagen
Berlin, Berlin, Deutschland think-cell VollzeitWe're always looking for talented individuals to join our team as C++ Developers. This role is ideal for students and fresh graduates who want to gain practical experience in real-world projects.About the JobThis internship provides an excellent opportunity to work on complex algorithms, refine user interfaces, and collaborate with experienced developers....
-
Berlin, Berlin, Deutschland Software think-cell VollzeitAbout think-cellthink-cell is a fast-paced software company that develops cutting-edge graphics products, serving over 1 million users worldwide. Our mission is to make creating PowerPoint presentations easier, faster, and more enjoyable. We pride ourselves on high-quality code, sophisticated algorithms, and a user-friendly interface.OpportunityWe are...
-
Backend Software Developer
vor 3 Wochen
Berlin, Deutschland Michael Page - Germany VollzeitFirmenprofil Mein Mandant ist ein führendes Unternehmen in der Elektrotechnik mit Fokus auf Energieverteilung. Das Unternehmen hat ein breites Netzwerk an Standorten und bietet seinen Kunden daher optimierte lokale Dienstleistungen an. In seinem Namen bin ich auf der Suche nach einem Backend Software Developer (m/w/d) - C++ am Standort in Berlin. ...
-
Backend Software Developer
vor 3 Wochen
Berlin, Deutschland Michael Page - Germany VollzeitFirmenprofil Mein Mandant ist ein führendes Unternehmen in der Elektrotechnik mit Fokus auf Energieverteilung. Das Unternehmen hat ein breites Netzwerk an Standorten und bietet seinen Kunden daher optimierte lokale Dienstleistungen an. In seinem Namen bin ich auf der Suche nach einem Backend Software Developer (m/w/d) - C++ am Standort in Berlin. ...