Sergei Kanaev
#-§ s-kanaev
skype: fazedies
Education- Master’s degree, Sevastopol National University of Nuclear Energy and Industry, Institue of Atomic Energy, Automation of technological processes and
manufactures
Experience
Nov 2019 — Compiler engineer, Intel, Nizhny Novgorod,
Sep 2022 SYCL
Research and implement features of runtime library for LLVM-based SYCL compiler:
implemented host-task SYCL extension in terms of existing runtime library architecture;
○ basic implementation of kernel and program objects cache to speed up offload of user
tasks to target device;
○ research for and basic implementation of support for assertions in offloaded tasks;
○ implemented early diagnostic to prevent runtime link errors like ‘call for undefined
funtion’;
○ suggested changes in architecture of runtime library.
Semi-managerial duties — lead a component:
○ help team mates to speed up bugfix and new features implementation;
○ dispatching of tasks (bugs and features);
○ scoping of new feature requests, defining dependencies (prior to detailed research).
○
Jun 2018 — Software Engineer, Yandex.Technologies, Nizhny Novgorod,
Oct 2019 Directory
During this project I was involved in:
development of database migrations for implementing of backend features;
○ implementing of backend features;
○ interaction with related groups of developers/engineers.
Languages: java 8/11, C++, bash, sql.
○
Oct 2016 — Engineer, Brogaming Studio / Starlab Studio, Samara,
May 2018 Mobile game server development
During this work I was involved in:
development and implementation of test client to test some server features;
○ development and implementation of players mathchmaking;
○ development of database schema, inter-server and client-server protocol for some of
server features;
○ implementation of some server features;
○ improving server robustness;
○ optimizing server;
○ bash/perl scripting for load testing;
○ some python testing for simplified game balance calculus;
During this work I’ve had experience with libpq, libsqlite3, libev, libconfig and
jsoncpp libraries. Also, I’ve provided formalized description of problem for new project
in order to implement prototype application.
○
Jan 2015 — Engineer, Satellite Soft Labs, Saratov,
Sep 2016 SmartTrans NaviCore v3 modules development
During this work I’ve developed:
GPS/GLONASS telematic data from tracker/relay receiving servers;
○ telematic data filtering modules;
○ bash scripts to manage pipelined group of processes as single instance in a way like
Linux daemons;
○ unified modules interface to have ability to use as standalone applications;
○ component watchdog.
Also, I have implemented wrapper libraries that are used in product development
implement:
○ asynchronous processing employing epoll and eventfd mechanisms;
○ thread pool;
○ TCP/IP connection and asynchronous data receive/transmit;
○ coroutines.
During this work I’ve had experience with:
○ libraries: Boost.Asio, libmicrohttpd, cpp-netlib, libpqxx, libsqlite3, libdl;
○ kernel subsystems: epoll, UNIX-sockets;
○ shell scripting: bash;
○ multithreading: concurrent and cooperative;
○ STL.
○
Jul 2013 – Engineer, Samsung R&D Institute Ukraine, Kharkov,
Nov 2014 System software development for Tizen OS
Responsibilities:
writing system software code which does:use DBus interprocess communication,
controls processes, controls processes with systemd startup manager API;
○ writing middleware code that uses EFL GUI library;
○ writing middleware code for xserver input driver, modifying enlightenment window
manager input modules;
○ writing unit-tests and functional tests using check framework.
○
Languages
Russian Native
Ukrainian Native
English Intermediate/Technical
About myself
I’ve had vast experience in:
C and C++ development for GNU/Linux with CLI and a bit of EFL and QT GUI, including
interprocess communications using UNIX sockets, pipes and a little of DBus IPC;
○ bash shell scripting to run pipelined processes as some sort of daemon with status acquisition,
start/stop/restart methods support with per-instance static configuration.
I have experience with test-driven development.
While programming with C++ I’ve used Boost.Asio, STL, multithreaded and cooperative
multitasking.
Also I’ve had some experience developing embedded projects with Atmel’s 8-bit MCU. These
projects were intended to control a set of stepper motors and employed distributed logic to
simulate air flow pressures in wind tunnel and simulate liquid flow. For both these projects I’ve
developed both hardware and software.
I’ve participated at development of the system to monitor vehicles and theirs telemetry and
raise an alarm or notification in case of some event (like fueling, drain, enter/exit geo-zone) with
satellite navigation technologies (GPS/GLONASS). This required parsing of GPS/GLONASS
trackers’ protocols, implementing geo-mathematical algorithms, sensor data filtering, etc.
At the same time I’ve had moderate experience with PostgreSQL and SQLite 3 databases in
this project.
I’m interested in studying analogue and digital circuitry and ARM assembly as well as networking
protocols and cryptography.
Also, I was involved in development of application that used multigrids to prepare cartographic
data for route-finding algorithms based on graph data structures. There’s a a certificate (No
46694) of registration of copyright on the product for this application:
○ Title: The computer program “Raster map images to multigrid converter with subsequent
conversion into graph-based data structures”
○ Authors: Mikhnev Sergey S., Kulik Nikolay S., Kvasnikov Vladimir P., Kanaev Sergey V.
○ Property rights after: National Aviation University, 1 Komarov Ave, Kiev, 03680
○ Registration date-
○