Lead C#/C++ Remote Software Engineer

Уровень зарплаты: от 350 000 руб.
Местоположение: Россия, Москва и область (МСК +0ч)

Резюме: Lead C#/C++ Remote Software Engineer

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
________________________________________
________________________________________
Professional experience

RCML inc ∙ Boston, USA / Moscow, Russia ∙ apr, 2014 – Present
A robotics American-Russian startup company, that develop software for robotized production cells.
Lead C#\C++ Software Engineer
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

CJSC Prognoz ∙ Moscow, Russia ∙ June 2012 – Mar 2014
Large enterprise (over 5K people totally, of which 3K software engineers) provides business intelligence solutions for financial institutes worldwide.
Senior C# software engineer
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 ∙ Perm, Russia ∙ May 2011 – June 2012
SMB, 15 employers, outsources online game zones for network providers.
Middle C++ Software engineer
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.
PRIS inc ∙ Perm, Russia ∙ May 2007 – Apr 2011
Software company, SMB, 10 employers, outsources software for industrial automation devices.
Delphi Software engineer
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.

________________________________________EDUCATION
∙ Ufa State Aviation Technical University ∙ Ufa, Russia ∙ Sep 2011 – Nov 2013
PhD of Computer Science
∙ Certified Robot Programming Engineer by KUKA ∙ Moscow ∙ 2014
∙ Certified Robot Programming Expert by FANUC ∙ Moscow ∙ 2015
∙ Certified Advanced Robot Programming Engineer by KUKA ∙ Moscow ∙ 2016