C++ software developer - Software entwicklerin C++

Location: Berlin, Germany (Relocation is on us!)


For our client in Berlin, Fingineers Consulting is looking for an ambitious C++ Developer. Do you believe in beauty when it comes to programming? Do you enjoy elegant algorithms and high quality code? If so, we would like to meet you.

And as great software engineers are hard to find, the company offers an exceptionally high annual payment after only one year of employment.


Hacking highlights

• To do things that are not possible via the documented Microsoft Office API, we do lots of reverse engineering with the disassembler IDA from Hex-Rays.

• The company wrote probably the best function hooking engine out there. On each start of the software, they patch the Microsoft Office executables in memory. They search for small chunks of assembly code rather than hard-coding patch addresses to be robust against minor code modifications.

• They redirect PowerPoint's and Excel's window contents into offscreen buffers and use Direct3D 9.0 to render our user interface on top.

Other highlights

• They use C++11 features like lambdas and rvalue references throughout our codebase, and have switched to C++14 where their compilers support it.

• They use Boost throughout our code, e.g., Boost.Spirit for most of our parsing needs.

• They wrote their own ranges library (similar to boostrange, but with less overhead).

• They have their own reference-counting and persistence libraries to save and restore whole object trees.

• They wrote a parser and writer for the Excel .xls format.

• They have an extensive bug reporting infrastructure. Assertions and error checks stay in the release code, and their software automatically reports bugs to their 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.

About this job

We are looking for smart, creative developers with a solid theoretical background. You should be able to look at a problem from the user's perspective, discuss abstract concepts with fellow developers, as well as produce an elegant implementation. Developers we have hired in the past mostly hold an exceptional master's degree in computer science or even a doctorate.

Do you think you could be a good fit for the team? If so, please sent your English or German CV to krete.trumm@fingineers.de with using zip code “LT 001”.