English
Deutsch English Español Français Italiano Português ÃÃÃÃÃÃÃÃÃÃÃÃÃÃúÃÃøÃÃù ÃçÃÃÃÃÃùÃÃñÃÃèÃÃÃÃà äøæÃà æÃÃ¥æÃìèêà Get a Demo Request a demo Try for free C++ Developer (f/m/d)
Now also remote*!
- Career
- C++ Developer (f/m/d)
Join us as a C++ Developer Location: Berlin, Germany 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 Join us in Berlin 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
Herb Sutter, President of the Standard C++ Foundation
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.
Watch our CTO Arno answering FAQs
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.
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.
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.
Does that sound good to you?
If you are the one missing from our team, please send us your electronic application.
Join us in Berlin Apply to work remotely*
Want to know more?