Обо мне

A highly self-motivated Software Engineer with 11 years of hands-on experience and strong programming background. Experience includes meeting tight deadlines, development of ultra-reliable financial software & industrial robotics firmware, engineering performance-critical algorithms. Main languages are C++ and C#. Possesses theoretical and practical knowledge of programming patterns, algorithms and data structures, and lean/agile software development techniques. Provides the security and aesthetics of the code significantly. Increases profitability and reduces costs to the business. Fluent in Russian and English. Core competencies include:

Applications:        robotics software & firmware  ∙  financial software  ∙  data mining software  ∙  performance-critical software  ∙  cross-platform software

Languages:                C++  ∙  C#  ∙  SQL  ∙  PL/SQL  ∙  Python  ∙  JavaScript  ∙  CSS  ∙  HTML

Libraries:                   Asp.Net MVC  ∙  .Net Framework 4.5  ∙  STL C++  ∙  Boost  ∙  Qt  ∙  OpenCV  ∙  MoveIt!  ∙  cryptopp  ∙  curl  ∙  openssl  ∙  FOCAS  ∙  quince  ∙  PCL  ∙  roscpp  ∙  pq  ∙  modbus  ∙  eigen

Technologies:           algorithms and data structures  ∙  design patterns  ∙  ROS  ∙  Linux  ∙  continues integration  ∙  agile software development  ∙  cross-platform development  ∙  test-driven development  ∙  Agile (Scrum, Kanban)

Software:                   Microsoft Visual Studio  ∙  Toad  ∙  CMake  ∙  Jenkins  ∙  Oracle  ∙  MS SQL  ∙  PostgreSQL  ∙  Web engines (Apache, nginx)  ∙  bash  ∙  VMware  ∙  VCS: SVN, Git

Профессиональные навыки
C++C#SQLPl/sqlPythonJavaScriptCSSHTMLASP.NET MVCC++ stl
Опыт работы
RCML inc
Lead C#\C++ Software Engineer
Апрель 2014 — По настоящее время (6 лет и 5 месяцев)

Develops С++ SDK for low latency calculations and optimization of industrial robots’ movements (multi-robot cooperation and collision avoidance). It inherits some principles from MoveIt framework, widely uses boost, boost::threads and boost::asio, uses math algorithms from Qt and eigen, has ROS integration by roscpp lib. Integrated it with industrial robots from KUKA, FANUC, ABB and YASKAWA, that is 90% (1,5M+) industrial robots worldwide. Developed the main core on cross-platform C++ (Windows/Linux), and some GUI tools on C# (Windows). The core stored telemetry to PostgreSQL (by pq & quince libs) and uses that data to predicate optimization of future robot movements. Designed app level protocol (by cryptocpp, openssl, curl) for command transfer from core to robots.

Communicate with Large Enterprise clients on execute level (CEO, CTO, CIO) by technical aspects of project’s implementations.

Key business achievements:

∙ Established a build-farm on VMware’s cluster as a base for CI/CD (Jenkins, cmake, git, power shell / bash). It provides additional reliability;

∙ Developed automatic test system on Python (over 20K+ tests);

∙ Developed algorithm that saved 10-15% of electrical energy and motor resource from every robot movement by optimization. It something about $0.1 every minute, $6 every hour, and over $52K every year per 1 robot on production floor;

∙ Optimized test system, full testing time reduced from 3 days to 6 hours, smoke tests optimized from 1.5 hour to 20 minutes;

∙ Implemented cell software based on SDK in $4.5M for ODK Saturn (Russia, aircraft engine production), Haier, HiSense (China, electronics production).

Stack: C#, C++14, STL, boost, boost::asio, Qt, Asp.Net MVC, .Net Framework 4.5, ROS, OpenCV, MoveIt!, cryptopp, curl, openssl, FOCAS, quince, PCL, roscpp, pq, Modbus, eigen, Microsoft Visual Studio, CMake, Jenkins, PostgreSQL, bash, VMware, Git

C#C++C++ stlBoostQtAsp.netCmake.NET
CJSC Prognoz
Senior C# software engineer
Июнь 2012 — Март 2014 (1 год и 10 месяцев)

Developed automatic check of individual’s credit history for loan pipeline at NOMOS bank (actives is $48B). Business logic was implemented on PL/SQL at ORACLE database that communicated via thick client designed on C #. The load pipeline app was checking credit history via Oracle XML transport by BKI & OKB (credit bureau) systems, police DB’s, and NBSM system.

Developed thin client as a one-page dashboard app (java/tomcat/js/css/html) for central DB based on ORACLE for Presidium of VEB (Bank of External Economics, actives $50B+), that shows main financial metrics of the bank in real time.

Key business achievements:

  • Reduced time costs for credit history check from 2 days to 5-7 minutes. It allowed the bank to make decisions on lending immediately, so the client stays in the bank and does not have time to go and check another bank;
  • Automatic checking of individual clients using the police databases and credit bureaus reduced the number of fraudulent credit requests to as low as 1%;
  • Was awarded a financial prize for fast development of a dashboard app for VEB and meeting the tight deadline;
  • Used Scrum on daily basis.

Stack:  C#, java, PL/SQL, ORACLE, tomcat, HTML/CSS/JS.

New Solutions inc
Middle C++ Software engineer
Май 2011 — Июнь 2012 (1 год и 2 месяца)

Developed a Comet-server on C++ for CentOS (Linux). It transfer telemetry data from game servers (via tcp/ip) to the thin clients (via web-sockets) for users from 127 game servers that located around 20 thousands kilometers (It is trunk network of Er-Telecom inc). Previously data was transferring by Ajax via HTTP.

Developed module for every game on C++ by reverse engineering and memory patching asm code of game server.

Integrated widget (HTML/CSS/JS) for this comet-server on game web sites based PHP/MySQL.

Key business achievements:

  • ∙ Reduced latency for update status data from game servers to web-sites from 5-10 seconds to 0.5-1 seconds;
  • ∙ Comet server was supporting pull of 9-10k online sockets per one node;
  • ∙ Learned C++ and made more deep understanding of OOP principals & design patterns;
  • ∙ Learned developing software for Linux based OS.

Stack:  C++, STL, OOP, design patterns, valgrind, reverse engineering, gdb, gcc, IDA, ollydbg, metamod, CentOS, Linux, PHP, MySQL, html/css/js.

C++C++ stlPHPMySQL
PRIS inc
Delphi Software engineer
Май 2007 — Апрель 2011 (4 года)

Explored old version of software for measurement device “PIKA-DN”, that was developed on C90, and re-developed it on Delphi with new algorithms of measurements. The “PIKA-DN“ checks straightness of pipes used in oil rod pumps. Software retrieve data from device and make decision about quality of rod pump. Then developed similar software for next generation of measurement devices “PIKA-D8“.

Developed software for rod's auto selection systems for oil pumps for different for various types of oil, wells and soil conditions.

Key business achievements:

  • Software was sold to Rosneft’ - oil company, and to several oil rods productions.

Stack:  Delphi, MySQL, OOP, design patterns.

Высшее образование
Уфимский государственный авиационный технический университет
Факультет: Информатики и робототехники
Сентябрь 2011—Ноябрь 2013 (2 года и 2 месяца)
PhD of Computer Science
Дополнительное образование
Certified Advanced Robot Programming Engineer
Январь 2016—Июль 2016 (6 месяцев)
Certified Robot Programming Engineer
Январь 2014—Июнь 2014 (5 месяцев)
Certified Robot Programming Expert
Январь 2015—Июнь 2015 (5 месяцев)