Position: Senior Software Engineer
Category: C++
English level: upper
Years of experience: 6


I have over a decade of experience with software development and system architecture.
My work area covers Kernel development/researching (NT, Linux), device driver development, virtualization, analysis security implementation in firmware, hardware, operating system. I'm interested in CPU architecture (memory management, core, multiprocessing, ISA, timers, interrupt controller) and microarchitecture (bypassing networks, ROB, RAT, instruction caching - macro-ops fusion, branch predictor, cache coherency - MOB - interconnection) and design, compiler/PL development (front-end and back-end compiler technology, including abstract syntax tree (AST) transformation, IR generation, register allocation, code generation, and optimization), optimizing high-load systems, and measuring micro-architectural performance (developing custom OS to have minimal noise with few main implementations e.g Memory management, syscall emulator, ABI emulator, PMU implementation, etc.). I did RTL-based CPU development (Out-of-order/Superscalar) to learn about verification, power and timing analysis, throughput (trying to implement PCIe, DRAM, etc. IP cores for simulation) analysis. I developed several microarchitecture features in Out-of-order and Execution units:
- Instruction fetching and decoding.
- Register Renaming.
- Reorder buffer and Instruction commitment.
- Instruction scheduler.
- Cache subsystems (Instruction and Data TLB/Cache - unified and split, Multi-core coherency protocol design).
- Execution Unit
Experience working with database/web-server/browser/kernel (Nginx, v8, Linux Kernel, PostgreSQL, CPython, Redis) codebase.
Experience with distributed systems (CAP theorem, RAFT, Node/Core based distribution).
Experience working in a multi-process/thread programming environment.
Experience in TCP/IP networking (user-space implementation), switching, and routing.
Experience with high concurrency threading models, atomics, and locking primitives (memory ordering/hardware coherency/lock-free implementation).
Experience with modern C++ (C++17 & C++20).
I mostly just use English for communication.
*I don't speak in Russian*