C++ Developer (Product)

Job description

🏢 About the Company
Our client is a fast-paced software product company in Berlin, Germany, with a focus on developing graphics products that stand out from the crowd. More than 950,000 users worldwide rely on their software for daily business as it makes creating graphical presentations so much easier, faster, and more enjoyable.

🚀 About the Project
The company's focus is on business slides (as opposed to more artful applications) because they offer great potential for automation of layout tasks that PowerPoint users themselves traditionally perform. 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 their 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.

👥 Team
There are about 50 employees at the company, 20 of which are developers + 3 dogs

🛠️ Tech Stack
Everything they do is C++. Even their customer portal is written in C++. There is some Assembler glue code where it is necessary, and our build scripts are written in Python.
The team closely tracks 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.
Library: Boost, Boost.Spirit for parsing.
Reverse engineering with the disassembler IDA from Hex-Rays

Job requirements

🐝 Job Responsibilities
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.

💻 Minimum of Qualifications
5+ years of experience
Experience with algorithms
A university degree or work experience with C++
Solid theoretical background with C++
English at least Upper-Intermediate

🍯 What do we offer
A wide array of extremely challenging C++ development tasks
An international team of brilliant minds
A working environment that makes this team stay and grows
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
A competitive salary from the start and a raise annually after only one year
German language courses can be arranged if desired.