Sergey Kanaev

Sergey Kanaev

$20/hr
C/C++ programmer
Reply rate:
-
Availability:
Hourly ($/hour)
Age:
33 years old
Location:
Nizhniy Novgorod, Nizhniy Novgorod, Russian Federation
Experience:
10 years
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- ○
Get your freelancer profile up and running. View the step by step guide to set up a freelancer profile so you can land your dream job.