Scroll To View More
Viktor Kirilov, C++ Developer in Sofia, Bulgaria
Viktor Kirilov

C++ Developer in Sofia, Bulgaria

Member since January 15, 2018
Viktor has more than four years of experience developing for the games and VFX industries, but since 2015, he's been mainly working on open source projects and contract work. He's passionate about game engines, high-performance code, data-oriented design, cryptocurrencies, minimizing friction, and incorporating good practices in the software development process such as testing and the use of tools.
Viktor is now available for hire

Portfolio

Experience

  • C++, 9 years
  • Standard Template Library (STL), 8 years
  • Boost, 5 years
  • Static analysis, 5 years
  • Multithreading, 5 years
  • CMake, 5 years
  • Unit Testing, 4 years
  • Build Systems, 4 years
Sofia, Bulgaria

Availability

Part-time

Preferred Environment

Windows, Visual Studio, Git, CMake

The most amazing...

...project I’ve worked on is Doctest—the fastest feature-rich C++98/C++11 single-header testing framework for unit tests and TDD—also my best open-source work.

Employment

  • Programmer

    2013 - 2016
    Chaos Group
    • Integrated V-Ray into Maya (scene translator/exporter) using the Maya API; this was the main task.
    • Integrated the XGen Maya plugin (a geometry instancer that lets you populate the surface of polygon meshes with an arbitrary number of primitives either randomly or uniformly placed).
    • Contributed to the build-system design and implementation; based on CMake.
    • Optimized different parts of the Maya-to-V-Ray translator pipeline.
    Technologies: C++, Python, CMake, Maya, Git
  • Programmer

    2012 - 2013
    Gameloft
    • Implemented 3D programming (rendering techniques).
    • Developed shaders (shadow mapping written in GLSL).
    • Wrote gameplay and network programming.
    • Developed engine subsystems.
    Technologies: C++, OpenGL, GLSL, Lua

Experience

  • Doctest | The Fastest Feature-rich C++98/C++11 Single-header Testing Framework for Unit Tests and TDD (Development)
    https://github.com/onqtam/doctest

    Doctest is a new C++ testing framework but it is by far the fastest both in compile times (by orders of magnitude) and runtime compared to other feature-rich alternatives. It brings the ability of compiled languages such as D, Rust, and Nim to have tests written directly in the production code by providing a fast, transparent, and flexible test runner with a clean interface.

  • Read-compile-run-loop | A Tiny and Powerful Interactive C++ Compiler (REPL) (Development)
    https://github.com/onqtam/rcrl

    RCRL is a tiny engine for interactive C++ compilation and execution (implemented in just a few source files) and works on any platform with any toolchain—the main focus is easy integration. It is an elegant alternative to Cling.

  • Mix Tests and Production Code With Doctest | Implementing and Using the Fastest Modern C++ Testing Framework (Other amazing things)
    https://www.youtube.com/watch?v=eH1CxEC29l8

    This talk introduces the Doctest framework along with my best open-source work and goes on to describe useful and generally applicable C++ techniques from its implementation, like how to:
    • Register code automatically before the program enters main()
    • Decompose expressions with templates
    • Translate exceptions: type-erased user-registerable translators
    • Write a header-only library which compiles very very fast not at the cost of runtime performance
    • Implement assert macros that don't result in code bloat
    • Deal with warnings outside of the framework header—generated by code expanded from macros

Skills

  • Languages

    C++17, C++, C, C++11, C++14, HTML, GLSL, Lua, TypeScript, PHP, Pascal, Java, D, Assembly, Python, JavaScript, SQL
  • Libraries/APIs

    Standard Template Library (STL), SDL, OpenGL
  • Tools

    Microsoft Visual C++, Travis CI, Microsoft Visual Studio, Maya, GitHub, CMake, Emscripten, Subversion (SVN), GCC, Valgrind, Coveralls, Jenkins, Make, MSBuild, VTune
  • Other

    Autodesk Maya, Build Systems, Sanitizers, Static analysis, Mobile Games, Optimization, IP Networks, 3D Graphics, Debugging, Debugging Tools, Clang, Cisco Networking, Compilers, 3D CAD, Multithreading, Processing & Threading, Mobile Game Development, TCP/IP, 3D Games, Multiplayer, Routing, Network Protocols, Networking, Algorithms
  • Frameworks

    Boost, Google Protocol Buffer, Qt
  • Paradigms

    Continuous Integration (CI), Object-oriented Programming (OOP), Testing, Unit Testing, Template Metaprogramming, Metaprogramming
  • Platforms

    Windows, Linux, Unix, MacOS
  • Storage

    JSON, MySQL
I really like this profile
Share it with others