Personal information |
|
---|---|
Name | Viktor Ivanov Kirilov |
Address | Sofia, Bulgaria |
Nationality | Bulgarian |
vik.kirilov@gmail.com | |
Date of birth |
08.11.1991
(27 years old)
|
Talks |
Title: code::dive 2019: C++ as Assembly 2.0 - Hello Nim slides, other conferences: OpenFest 2019 Title: The architecture of a modern SQL engine - query compilation, optimization and execution slides Title: ACCU 2019: Nim - the first compiled language with full support for runtime hot code-reloading slides, other conferences: C++ User Group Sofia Title: CppOnSea 2019: The Hitchhiker's Guide to Faster Builds slides, other conferences: NDC TechTown 2019, C++ Russia 2019, C++ CoreHard 2019, code::dive 2018, MeetingC++ 2018, Total Chaos 2018, in Bulgaria: C++ User Group Sofia Title: CppCon 2018: Interactive C++ Compilation (REPL) Done in a Tiny and Embeddable Way slides, other conferences: C++ Russia 2018 Title: CppCon 2017: Doctest - Implementing and Using the Fastest Modern C++ Testing Framework slides, other conferences: code::dive 2017, Cpp-Summit 2017, in Bulgaria: CG2 2016, OpenFest 2016 |
Work experience |
|
Period |
Mar ,
2020
- present
|
Employer | Status.im - a secure messaging app, crypto wallet, and Web3 browser: as a Software Engineer |
Activities and responsibilities |
• Working on Nimbus beacon chain - a research implementation of the beacon chain component of the upcoming Ethereum Serenity upgrade, aka Eth2.
|
Period | Mar, 2019 - Mar, 2020 (1 year) |
Employer | NuoDB - elastic SQL database: as a Software Engineer |
Activities and responsibilities |
• Reduced C++ build times from 15 minutes down to 3 (up to 80% faster) by integrated precompiled headers & unity builds - greatly improving the workflow of the 25+ devs and the CI infrastructure.
• Implemented per-statement memory tracking of client connections in the SQL layer + query killing. • Worked on various functionality such as aggregate functions in the SQL layer. • Introduced the sanitizers (ASAN/LSAN) to the codebase. • Gave a talk about the architecture at C++ User Group Sofia - slides. |
Period | Nov, 2018 - Feb, 2019 (4 months) |
Employer | Status.im sponsorship of the development of Nim: as a Contractor |
Activities and responsibilities | On a 4 month contract - implemented hot code-reloading for the Nim programming language - paving the way for implementing a REPL on top of it. The technique is based on compiling each source file into a shared object and hotswapping them at runtime - all function calls and globals go through pointers which are initialized with a custom dynamic loader - the entire technique is implemented in the code generation of the Nim compiler which emits C/C++ code. Gave a talk about it on ACCU 2019 in Bristol, UK. |
Period | Jan, 2016 - Oct, 2018 (2 years 10 months) |
Employer | None - wrote open source |
Activities and responsibilities |
|
Period | July, 2013 - Dec, 2015 (2 years 6 months) |
Employer | ChaosGroup: as a Software Engineer |
Activities and responsibilities | Integration of V-Ray into Maya - worked on CMake, the scene translator, exporter & integration of XGen. |
Period | July, 2012 - June, 2013 (1 year) |
Employer | Gameloft Bulgaria: as a Game Developer |
Activities and responsibilities | Gameplay/3D/UI/network programming. Engine structure - level/object management. |
Technical skills |
|
Programming languages | C/C++, Nim, Python, TypeScript, JavaScript, SQL, PHP, GLSL. |
APIs, libraries & frameworks | Vue.js, STL, Boost, Qt, Kafka, Protocol Buffers, LibClang, Seastar, LLVM, Bison, OpenGL, imgui, SDL. |
Tools | Visual Studio, Git, CMake, build systems, compilers, Emscripten & asm.js, Clang/GCC tools (formatting, static analysis, sanitizers), Valgrind, perf, Autodesk Maya, Continuous Integration, Atlassian stack. |
Other | Knowledge in blockchains, Ethereum 2.0, compiler development, algorithms, databases, distributed systems, multi-threaded programming, testing, automation, game development, graphics programming, network programming, network security. |
Education |
|
2019 | Center for Economic Strategy and Competitiveness (CESC) in Sofia, affiliated to Michael Porter’s Institute of Competitiveness at Harvard Business School - see the syllabus |
2010-2012 | University of Sofia "St. Kliment Ohridski", Faculty of Mathematics and Informatics - studied "Informatics" |
2005-2010 | Technology School Electronic Systems (TUES), associated with the Technical University of Sofia |
Specialty: “Programming and information technologies” Diploma serial No.К-10, No.011172, reg. No. 749-68/24.06.2010 Thesis: “Development of a 2D Worms clone with SDL under Linux” - link |
|
2006-2008 | English language course Level achieved – C1 ‘Europe Schools’ – Sofia Certificate “CAE”(C1), ESOL |
2008-2010 | CISCO CCNA 1-4 courses ‘LCA-ELSYS TU’ - Sofia |
Other |
|
Personal site | onqtam.github.io |
GitHub profile | github.com/onqtam |
Twitter profile | twitter.com/KirilovVik |
Linkedin profile | linkedin.com/in/onqtam |
StackOverflow profile | stackoverflow.com/users/3162383/onqtam |
Technical books read | goodreads list |