Position: Middle C++-developer
Category: C++
English level: fluent
Years of experience: 4

Wrote real-time code for embedded as well as enterprise fin data processors.
Worked with C++11 as well as old C++03.
Started my career _ Game Insight, worked on:
- Big Business Deluxe (https://play.google.com/store/apps/details?id=com.gameinsight.bbdeluxe) - Junior Developer, maintenance, bug fixing
- Mystery Manor (https://play.google.com/store/apps/details?id=com.gameinsight.gplay.mmanor) - Middle Developer, porting pure Objective-C game to crossplatform C++ in-house engine

Moved to Prague (Czech Republic) to work on enterprise banking projects in a multinational corporation.

Worked with C++ for 4 years, have expertise in:
- C++11 (move semantics, smart memory, lambdas, threads), C++03, STL, Boost, algorithm development, assessment, architecture development, optimization.

Have experience presenting and explaining my own solutions to the public.
Can build coding pipeline from the ground up.
I'm specializing on business logic, algorithms, structures, architecture, not math programming: I'm comfortable with basic linear algebra, probability theory, Boolean algebra, graphs and geometry, but barely anything beyond this level. On the other hand I have no problem learning advanced maths if objectively really needed. None needed so far ¯\_()_/¯
Not interested in working in Ukraine or CIS.

Technical:

* Version control system: just have one

* Build system: either you use mainstream one like Make/CMake/Autotools/etc or have a responsible supporting maintainer for custom one. Working with a build system with as much as few e-mails left from its' original development in early 00's is a big nope.

* Task tracker: Redmine/Jira/Bugzilla/etc, doesn't matter as soon as you have one. Shared Excel/GSheet is definitely not one.

* Both styleguide AND naming conventions: I don't care whether you force Java or Allman style indents, tabs or spaces, CamelCase or snake_case, as soon as you have coding standards: documented and/or set up technically (by the means of clang-format, astyle or any other tool). By "have" I mean "force".

* Debugging: the project must have fully-functional debuggable build. By debuggable I mean there should be working breakpoints, stack and variable views. GUI is not mandatory, CLI like gdb is fine.
Debugging using asserts and logs only is not considered one.

* Code analysis: cross-review, static analyzers (cppcheck/PVS-Studio/etc), lizard, ASan, etc. The more code is analyzed - the better (at least from time to time).

* CI: optional if PM's don't trigger devs to build the project every other day.

It's okay if you miss something mandatory from the above list but want to introduce - I'd be glad to assist the process.

Other:

* Contractor-friendly or visa support: I'm a non-EU resident, but backed by an umbrella agency in Czech.

* Relocation bonus

* Access to web radio and audio streaming services (Spotify, Google Music)

* Open source project: optional, HUGE plus