Обо мне

14 years within industry, more than 6 last years I have been in charge of designing architecture of complex systems that can easily scale by choosing tech stack, define core components and implement the most critical parts. I have been hiring, coaching and managing team of developers as well as run integration within third party agencies.

Deep understanding of OS internals in addition to a wide exposure to modern technologies allow me to quickly prototype proof-of-concept solutions to showcase different approaches of addressing demands of clients.

Math background and passion for advanced concepts of Computer Science (AI, ML) allow me to effectively integrate innovative approaches of data processing and analysis into software of companies from domains of oil, telecom, advertisement industries or within fluid startup environment.

Ability to lead and coach team by bringing values of hacker culture grant me with acquaintance of many high caliber professionals who can be used for any time-critical projects as a freelancers/consultant to meet strict deadlines.

Опыт работы
auto trading
Нижний Новгород
tech lead
Июль 2018 — По настоящее время (1 год и 4 месяца)

Create automated crypto currency-trading system:
● Design reactive architecture to simplify integration of additional exchanges
● Develop scalable trading platform for multi-agent deployments
● Lead implementation of unified UI for trading rules management, deployment automation and
monitoring, trend exploration
● Create dedicated services for live data acquisition, signalling and data discovery
● high throughput low-latency fully automated trading engine
● inference engine for models backtesting

Used technologies & tools: microservices, application containerisation, Python, gevent, SOA, redis based event queues, aws, stream processing, websockets, postgres, flask, telegram bot api

oculus technology
Абу-Даби
senior software architect
Ноябрь 2015 — Июнь 2018 (2 года и 8 месяцев)

Senior Architect: 


  • Design, build and optimise high throughput highly available multi component data processing pipelines (up to 1.5 mln events per seconds, depending on cluster configuration).
  • Re-factor of business critical components of various products across the whole stack 
  • Cassandra, Kafka, Elastic performance tuning - schema adjustments & implementation of high performance multithreaded shooters in C++, jvm & linux kernel optimisation
  • Containerisation of applications: maintaining internal docker registry, automate orchestration of dockers vms, docker performance tuning
  • Introduce company for modern SDLC practices and help to integrate it in a way to be coherent with business goals: continuous integration, devops, integration tests & auto-tests
  • Participate in business critical activities: sizing and hardware planning, develop POC for pre-sales events, requirements assessments, investigation of disaster incidents, etc
  • Develop and run internship program: software development, data analysis.

    Head of analytics department:


    * Add several key functionalities for company's products portfolio.
    * Create a discovery platform with set of analytical sub-modules on top of Apache Spark.
    * Build a toolbox for algorithms assessments for data discovery and quick hypothesis checks
    * Assessment and adaptation of methods of AI\ML for such tasks as predictions\clusterization.
    * Application of methods Natural Language Processing (NLP) according to business goals.

    Used technologies\tools:

    Big data & high load. Data mining. Distributed computing. Statistics. NLP. Machine learning. Reverse engineering. Caffe. Zeppelin. Spark. Elastic. Kafka. Protobuf. C++. Boost. Scala. Python. Java. Blockchain. Agile. AWS. Scikit. Redis. Golang. Microservices.
Insydo
Абу-Даби
senior software engineer
Январь 2015 — Ноябрь 2015 (11 месяцев)
  • Develop general architecture of server components, choose technology stack for implementation, design database structure and implement middleware layer for interaction with 3rd party systems
  • Build web-crawler for machine learning algorithms evaluationPerform evaluation of various machine learning techniques, embed most promising approach to general pipeline
  • Adapt core of recommendation engine for high-load project by profile and optimize bottlenecks
  • Define and manage Mesos cluster deployment strategyControl and manage of integration various clients (mobile/web) to backend services
  • Define and control execution of sprints for freelancers
  • Provide technical leadership and coaching for team

Used technologies/tools:

python, postgres, elasticsearch, redis, scikit, scrapy, nltk, gensim, selenium, Mesos cluster stack, AWS stack, vagrant, docker, devops, git, jira, SOA, RESTful

3deye
Нижний Новгород
CTO/founder
Май 2012 — Декабрь 2014 (2 года и 8 месяцев)

Develop application for 3d-scene reconstruction from RGB-D cameras:

  • Porting reference kinect fusion implementation from CUDA, PCL library to OpenCL
  • Collaborate with PCL community to contribute to KinFu sub-module in order to overcome limitations of existing implementation: integrate RGB information to resulting point cloud, cyclic voxel buffer in GPU memory
  • Evaluate and integrate modern methods of Computer Vision into existent pipeline: dvo - dense visual odometry by Tum, libfovis, various algorithms from opencv development and contrib branches
  • Integration of SLAM methods - iSam and g2o
  • Manage, motivate, and build engineering team 
  • Participate in non-technical activities – develop marketing and financing strategy, client development.

Used technologies\tools:

computer vision, OpenCL, openCV, pointclouds, iSam, fovis, CUDA,multi-view geometry, segmentation, registration, pose estimation/bundle adjustment, real-time reconstruction

Achievements:

Easy-to-use solution for 3d-reconstruction was developed providing speed and accuracy of the modern research projects.

transset
Нижний Новгород
principal software engineer
Сентябрь 2011 — Октябрь 2013 (2 года и 2 месяца)
Обязанности: - Lead multiple business-critical projects: - I am in charge of mobile clients developments, network's monitoring software suite and prototyping new projects for investigating new markets - Provide guidance and coaching to my team and to the neighboring projects - change rules of interaction between departments and customer Достижения: - Conquer new customers by delivering projects under high pressure circumstances - Decreasing deployment period of products by two times - Decreasing period of fixing issues by four times
Разработка решений для автоматизации бизнеса на основе ERP, OSS, CMMS
Нижний Новгород
programmer
Апрель 2008 — Сентябрь 2011 (3 года и 6 месяцев)

Participate in sales and demo events as technical expert. Contribute to design and implementation of various pilot projects. Improve development processes by introducing the company to the best practice

  • Setup Continuous Integration build server with control version system, auto-documentation, auto-tests and integration with internal ticketing system (Team City, GNU Make, doxygen, subversion, ant)
  • Develop android application for the needs of Russian Railways (management of railroad tracks)
  • Re-work of build scripts for all low-level modules for automated cross-platform builds and testing under Linux\sparc solaris\FreeBSD x86\x64 (cross-compilation, bash scripting for vm with target system orchestration) 
  • Develop proof of concepts application for existing modules: SCADA system integrations via SOAP and COM protocols

    Develop and maintain software suite for network devices inventory:

    • Development multi-threaded\multiprocessing Network Management System (NMS) targeting Linux\Solaris x86 & x64 (C\C++, SNMP, pthreads, raw sockets) 
    • Sustaining software for polling devices via CORBA protocols (MICO library) according to TMF814 specification (Huawei T2000, ECI Lightsoft, EMS-XDM) 
    • Design database structure and stored procedures (Oracle, SQLdeveloper, otl library) 
    • Optimize software performance using valgrind with callgrind/cachegrind.
    • Analyzing data flow and proposing new algorithms of data processing as well as enhancing existing ones 

    Used technologies\tools: С++, Java, Android, Subversion, GNU Make, gdb, Source Insight, Glow Code, valgrind.

    Частная практика, работа без зачисления в штат
    Нижний Новгород
    system architect-programmer
    Январь 2008 — Апрель 2008 (4 месяца)
    Developing CRM system: Database design (MySql and SQLite) Development system architecture from scratch Create user’s GUI and man pages (using JVCL, Globuslib libraries) Management of programmer’s team work (3 programmers) Work with OLE (for access to 1c base, excel) Used technologies\tools: NSIS, Borland C++ Builder 6, WinAPI, Help Scribble, Glow Code
    Разработка программного обеспечения на заказ
    Нижний Новгород
    programmer
    Октябрь 2006 — Декабрь 2007 (1 год и 3 месяца)
    Work in sustaining team: fix bug and make addition in main project (IVR system). issue analyzing (according to customer logs and letter, crash dump or description of abnormal behavior of system) investigating reason of error (investigate customer system settings, project configuration, source code) make and test solution, provide test case and other info for testing patch Used technologies\tools: C\C++, ClearQuality, ClearCase, GNU Make, VC++
    Нижний Новгород
    programmer
    Апрель 2004 — Октябрь 2006 (2 года и 7 месяцев)
    Design GUI for easy access to database. Has been involved in: Developing in C++ and SQL Technical support Writing the user guide documentation Software testing Analyze of the requirements specification Used technologies\tools: Firebird, IBExpert, Borland C++ Builder 6
    Высшее образование
    Нижегородский государственный университет имени Н.И. Лобачевского
    Нижний Новгород
    Факультет: Вычислительной математики и кибернетики
    Январь 2001—Январь 2007 (6 лет)