Viktor Kirilov, Developer in Sofia, Bulgaria
Viktor is available for hire
Hire Viktor

Viktor Kirilov

Verified Expert  in Engineering

Multithreading Developer

Location
Sofia, Bulgaria
Toptal Member Since
April 9, 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.

Availability

Part-time

Preferred Environment

CMake, Git, Visual Studio, Windows

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.

Work Experience

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: Git, Maya, CMake, Python, C++

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: Lua, GLSL, OpenGL, C++

Doctest | The Fastest Feature-rich C++98/C++11 Single-header Testing Framework for Unit Tests and TDD

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)

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

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

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, Visual Studio, Git, Coveralls, Jenkins, Make, MSBuild, VTune

Paradigms

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

Platforms

Android, Windows, Linux, Unix, MacOS

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, Networks, Algorithms

Frameworks

Boost, Google Protocol Buffer, Qt

Storage

JSON, MySQL

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring