We are looking for smart, creative C++ developers with a solid theoretical background. They will work largely independently and will be responsible for the whole range of activities when implementing a new feature. The developers should be able to look at a problem from the user's perspective and discuss abstract concepts with fellow developers.
Language: fluent English is mandatory
Working experience: any
Skills: C++ and Boost Libraries
We accept different profiles for C++ developer position, disregarding the former specialization and years of experience. It is more important to evaluate the programming abilities rather than a nice resume and past projects.
We actually have several developers who joined us right after university graduation without any previous working experience. Everything we do is based on the C ++ language. Even our customer portal is written in C ++. There is some assembler adherence code where it is needed and our build scripts are written in Python but with those exceptions think-cell is entirely C ++ based.
Obviously, we use C ++ features like lambda and rvalue references in all our base code, and we have switched to C ++ 17 in cases where our compilers are compatible with this version.
We use Boost in our code, p. Eg Boost.Spirit for analyzes.
We have our own range library, along the same lines as Eric Niebler's Boost.Range and Range-V3, but we have gone a step further and, for example, have unified internal and external iteration. We gave a talk about it, and most of the code is public.
We developed our own cross-platform library compatible with Mac and Windows with a single code base.
We have our own persistence and reference count libraries to save and restore entire object trees.
We have a comprehensive bug reporting infrastructure. Affirmations and error checks remain in the release code and our software automatically reports errors to our server. The server analyzes the error, classifies it and archives it in a database that can be accessed by all developers. If the error is fixed by an update, the user can download the update directly from an error response web page.