My CV

My name is Dmitry, I live in Russia Saint-Petersburg.

Please feel free to leave me a message by filling out the Contact Form and I will respond to your message within a day or two.

OVERVIEW

I have over 20 years of professional experience in the software development field. I have been primarily working on Desktop and Mobile applications in C++ and C# on Widows, Linux and Android platforms using QT (QML), OpenGL and Windows specific technologies like WPF, XAML, Windows Forms, Win32 API, DirectX, mostly in the area of marine navigation systems and aeronavigation systems. Also for some time period I worked on telecom hardware inventorying system in Java with Oracle database, .NET CRM client accessing the Oracle database with ADO.NET and on Windows Desktop applications using some old languages, technologies and libraries like Delphi/Pascal, VB, MS Access, ADO, MFC, ATL, VCL, OLE, ActiveX. For the last six years I have been supporting Nginx web server on Ubuntu hosting PHP websites with MySQL database and worked on promotion of some of these websites, after upgrading to PHP 7.0 I used Docker for running legacy PHP 5.3 sites. I have strong mathematical background and higher education degree in computer science.

EDUCATION

1993 to 1998 Saint Petersburg State University, faculty of mathematics and mechanics, software engineering chair

SKILLS

Programming languages: C++11 (MSVC, GCC), C#, Java, SQL, PHP
Program interfaces and technologies: QT, UWP(Windows Store), .NET, WPF, XAML, Windows Forms, DirectX, OpenGL, ADO.NET, Win32 API, COM/OLE/ActiveX, MFC, ATL, BOOST, CMake
Version Control Systems: Git, TFS, VSS (MS SourceSafe)
Operating systems: Windows, Ubuntu, CentOS
Databases: MySQL, Oracle, SQLite, MS Access
Web Servers: Apache, Nginx
CMS: Joomla, WordPress
Foreign Languages: English
Foreign Passport: Yes

EXPERIENCE

Senior Software engineer – up to now
Participated in the development of a client application for surveillance and monitoring of airdrome maneuvering area traffic and the aircrafts during take-off and landing operations, basing on the information received from radar, optical and infrared sources. The application is written in C++ 11 with QT and uses OSG Earth for visualization of various kinds of geo-data including maps, aeronavigation information (such as arrival routes, departure routes, runways, etc…), aircraft tracks and user-defined markup objects. Protocol Buffers are used for communication with the server over TCP and UDP. All the code is compiled on Ubuntu, CentOS and Astra (some Russian Linux distribution) with GCC.

October 2013 – June 2015
Senior Software engineer
Developed Desktop Windows application for displaying marine geographical information, including nautical charts, real-time radar and AIS data, oil slicks, video from TV cameras, handling navigational alarms and editing user-defined geographical objects like symbols, lines and areas. Used WPF for creating themed UI and DirectX/Direct2D for drawing geographical objects. Integrated existing C++ and MFC code to the application using C++/CLI.

April 2008 – Febrary 2013
Worked as on various projects in C++ and C#. Set up and maintained shared hosting environment with Nginx web server on Ubuntu Linux. Developed several websites using Joomla + VirtueMart and WordPress. Worked on SEO optimization and promotion of this sites, implemented various add-ons including Live Chat system, social network widget modules, custom Joomla remote publishing interface. Written a software utility in C# using WPF and WCF integrated with PHP for managing VirtueMart store, viewing reports, printing product labels and postal blanks, synchronization of contacts with MS Outlook.

September 2007 – April 2008
Software engineer
Maintained network inventory module of Amdocs Cramer OSS (Operations support system). Configured and made the inventory module work in different configurations under Sun Solaris/Weblogic and IBM AIX/Websphere. Written various utilities in Java and PLSQL for working with inventory data, stored in Oracle database. Utilized JMS, EJB, Apache POI. Migrated the system to a test server running under Sun Solaris. Performed database backup/restore.

May 2006 – September 2007
Software engineer
Participated in the development of CRM system. Developed GUI under Windows and Windows Mobile in C# and C++ using Windows Forms, COM/ActiveX, Win32 API, MFC. Converted various GUI components from VB6 to C#. Made patching system work under Vista UAC. Migrated Windows Mobile client application from eVC to VC2005. Written an utility in C# for working with CRM metadata stored in Oracle database using Windows Forms and ADO.NET. Written unit tests in C# using VS TE.

July 2003 to April 2006
Software engineer
Participated in the development of software system for locating and inventorying routers, computers, printers and other devices on the network. Developed client-side Windows application in C++ for representing various reports for the user and allowing him to perform various actions for scanning the network. Participated in the development of ‘discovery’ module that collects the data over SNMP protocol and stores it in MS Access database. Utilized BOOST, MFC, Win32 API, ADO, MS Excel object model, Prof-UIS library.

January 1998 to February 2003
Senior software engineer
Participated in the development of ECDIS systems. Worked on various aspects of the system and on wide variety of navigation tasks, took part in the development of GUI on Windows platform in C++ using Win32 API, COM/OLE/ActiveX, ATL, MFC, VCL. Designed and implemented a COM-based software component for accessing, editing, and displaying electronic charts and real-time navigation data. Developed and maintained the System Setup utility for automatic detection of navigation sensors connected to the PC via COM ports. Provided technical leadership for a team of 3 developers.

May 1997 to January 1998
Software engineer
Participated in the development of a wholesale control system written in Delphi. Developed database reports using VCL Quick Report and a report editor module that enables end-users to define the data layout on the report.