Vadim Gaiduk

 vadim@gaiduk.net    this page on web

Team lead and developer with 15+ years of working experience in the international environment;
Ph.D. in technical sciences / automatic control theory


When writing C++ code and leading the team, I pay special attention to applying the best technics as STL and algorithms, smart pointers, concurrent programming, selected Boost and other open source libraries and C++11 features providing better code.

I conduct workshops on technical topics and coach colleagues in best software development practices; that includes agile and scrum, code reviews, unit testing, code styling and documenting, useful C++11 features, applying Unicode for localization, sketching behavior and interaction UML diagrams when developing software.

I've been deeply involved in cartography software and marine chart standards for ten years, from data preparation tools to end user applications, including the participation in the working groups of future eNavigation standards

Vadim Gaiduk

Areas of interest and skills

C++ for native development

Tags: Windows, Linux, C++11, STL, Boost (thread, regex, geometry, signals2, asio, date time, filesystem), Chromium libraries, Qt QML, open source libraries, concurrent programming

Score:
Declarative UI based on HTML5/JavaScript with ModelView-View-Model pattern, REST web services

Tags: HTML5, CSS3, JavaScript, JQuery, JQueryUI, JQueryMobile, D3.js, KnockoutJS, ngnix, Apache, FastCGI, JSON, PostreSQL

Score:
Python as universal and widely accepted scripting and development language

Tags: Python, lxml, PyInstaller, Psycopg

Score:
Version control systems and build tools; Agile development process and supporting tools

Tags: Perforce, Git, Subversion, CMake, Jira, Crucible, Jenkins

Score:
Neo-geography, electronic charts, geographical data processing and marine cartography

Tags: S-52, S-57, S-100, INT1, eNav, GRIB, GDAL/OGR, OpenLayers, Mapnik internals, Projections, GeoServer, PostgreSQL, PostGIS, QuantumGIS, TinyOWS

Score:
XML to represent structures for data exchange, transformation and storage

Tags: XML, XSD schema, XSLT, Xpath, Xerces, Xalan, libxml2, libxslt, lxml, Altova XMLSpy

Score:
Mobile development

Tags: iOS, Objective-C, JQuery Mobile, Cordova/PhoneGap, Qt QML

Score:

Languages

My native language is Russian so there is no surprise that I can speak and write correctly. The first foreign language I've learnt is Italian, that I speak quite fluently; I've even worked as interpreter. English is my working language for many years for written documentation, presentations, meetings, calls and teleconferences. I speak French and Spanish as well, but I haven't used them for work.

Education

2003

 

Saint-Petersburg State University
Applied Mathematics and Control Processes department
Ph.D. in technical sciences, Automatic Control Theory
1994

 

Baltic State Technical University (former Leningrad Mechanical Institute, "Voenmeh").
Electrical Mechanical Engineer in Robotics, honours degree

Timeline

Since 2014

 

Lead Developer in Navis Engineering
Working on vessel motion control software, my mission is to facilitate the introduction of Agile software development practices and up-to-date technologies and frameworks such as Qt QML, Web Applications, Linux
2013 – 2014

 

Senior Developer on contractor projects for Bloomberg LLP
Implementing high-loaded low-latency multithreaded C++ Linux financial software is an exciting challenge involving networks, non-blocking multithreading and fault tolerance.
2003 – 2013

 

R&D projects lead in Jeppesen by Boeing company in the Marine Cartography department. It has been formed by the 2008 acquisition, from C-Map company where I started to work as developer and then team lead. C–Map brand is well known in commercial marine world and the development is still mainly performed in European locations in Norway, Italy, Russia and Poland.
2002 – 2003
I took sabbatical to prepare and defend the Ph.D. thesis on Applied Mathematics and Control Processes department of Saint-Petersburg State University. The thesis is titled "Methods of mean-square optimal synthesis in view of object and perturbation uncertainties" and is dedicated to sea wave spectrum modelling considered as external perturbation when defining ship control law. Besides the theoretical research the work contained numerical algorithm implementation with Matlab and dedicated mathematical class C++ template library.
2000 – 2002
French language course in Alliance Française in St.Petersburg
1998 – 2002
Developer and team lead in Santa Barbara, Ltd.:
I worked on telecom application for telephony switch «Harris 20-20». (Microsoft TAPI service provider, Voice-over-IP, Text-to-Speech and Speech-to-Text).
1997 – 1998
Software engineer in Novavox Russia:
I developped computer-telephony integration applications (analog and ISDN Dialogic cards, modems, Microsoft TAPI, Novell Telephony Server API (TSAPI), Dialogic CT-Connect).
1995 – 1999
Postgraduate studies on Applied Mathematics and Control Processes department of Saint-Petersburg State University
1995 – 1997
Senior programmer in St. Petersburg Geophysical Expedition:
I developped software for geophysical surveys and took part in assembly and configuration of Industrial PCs with GPS Navstar receivers. I participated in debug of data registration devices and their PC interfaces, it was my first experience of embedded programming
1994 – 1995
Trainer and system administrator in International Banking Institute, St. Petersburg
1994
Head of desktop publishing department "Spezcomplect" Ltd.
I got the experience in DTP and typography
1993
Scuola professionale San Marco (Mestre-Venice, Italy)
Desktop Publishing Systems course.
1986 – 1994
Baltic State Technical University (former Leningrad Mechanical Institute, "Voenmeh").
Graduated with honours degree as electrical mechanical engineer with specialization in robotics

And besides computers I like…

… social dance (lindy hop, salsa); I discover as well the world of contemporary dance (jazz, modern)

… to travel and to take photographs

… music and first of all, jazz

Вадим Гайдук

 vadim@gaiduk.net    эта страница в Сети

Руководитель и разработчик с опытом работы в международных командах более 15 лет; кандидат технических наук в области теории автоматического управления
При разработке на C++ и руководстве командой я уделяю особое внимание применению правильных техник: STL и алгоритмы, умные указатели, concurrent programming, избранные библиотеки из Boost-а и основные библиотеки open source, новые возможности C++11.

Я провожу обучение и продвигаю полезные практики разработки программного обеспечения, включая agile и scrum; помогаю в выборе и внедрении сопутствующих программных средств. Среди тем семинаров инспекция кода, модульное тестирование, оформление и документирование кода, новые возможности C++11, использование Юникода и локализация, применение UML диаграмм поведения и взаимодействия при разработке программного обеспечения.

Моя работа долгое время была тесно связана с морскими картографическими стандартами и программным обеспечением от подготовки данных до пользовательских приложений, включая участие в рабочих группах по подготовке стандартов eNavigation

Vadim Gaiduk

Область интересов

Разработка на C++

Tags: Windows, Linux, C++11, STL, Boost (thread, regex, geometry, signals2, asio, date time, filesystem), concurrent programming, Chromium libraries, Qt QML, open source libraries

Score:
Декларативный пользовательский интерфейс, основанный на HTML5 и JavaScript и шаблоне ModelView-View-Model, REST web services

Tags: HTML5, CSS3, JavaScript, JQuery, JQueryUI, JQueryMobile, D3.js, KnockoutJS, ngnix, Apache, FastCGI, JSON, PostreSQL

Score:
Python как широко распространенный язык разработки и написания скриптов

Tags: Python, lxml, PyInstaller, Psycopg  

Score:
Version control systems and build tools; гибкие процессы разработки и средства для Agile development

Tags: Perforce, Git, Subversion, CMake, Jira, Crucible, Jenkins

Score:
Нео-география, электронные карты, обработка геоданных и морская картография

Tags: S-52, S-57, S-100, INT1, eNav, GRIB, GDAL/OGR, OpenLayers, Projections, GeoServer, Mapnik internals, PostgreSQL, PostGIS, QuantumGIS, TinyOWS

Score:
XML для представления структуры хранения, передачи и преобразования данных

Tags: XML, XSD schema, XSLT, Xpath, Xerces, Xalan, libxml2, libxslt, lxml, EXI, Altova XMLSpy

Score:
Разработка для мобильных платформ

Tags: iOS, Objective-C, JQuery Mobile, Cordova/PhoneGap, Qt QML

Score:

Языки

Я достаточно грамотно владею русским языком, пишу без ошибок и правильно ставлю запятые. Мой первый иностранный язык — итальянский, на котором я говорю свободно, немного работал переводчиком. Английский язык многие годы является для меня основным рабочим языком: документы, презентации, совещания, телеконференции. Также я говорю по-французски и по-испански, но никогда не использовал эти языки в работе.

Образование

2003

 

Санкт-Петербургский государственный университет
Факультет Прикладной математики — процессов управления
Кандидат технических наук (теория автоматического управления)
1994

 

Балтийский государственный технический университет
(бывший Ленинградский механический институт, «Военмех»)
Инженер-электромеханик (робототехника), диплом с отличием

Даты

С 2014

 

Ведущий разработчик в Navis Engineering
При разработке систем управления движением судна, моей задачей является внедрение практик гибкой разработки программного обеспечения Agile/Scrum, а также переход на современные технологии и средства разработки такие как Qt QML, Web Applications, Linux
2013 – 2014

 

Ведущий разработчик на проектах для Bloomberg LLP
Разработка на C++ высоконагруженного многопоточного финасового программного обеспечения под Linux (networks, non-blocking multithreading and fault tolerance)
2003 – 2013

 

Руководитель R&D проектов в компании Jeppesen by Boeing в подразделении, занимающемся морской картографией; до поглощения в 2008 году работал в составе международной компании C-Map, имеющей офисы в Норвегии, Италии, России и других странах.
2002 – 2003
Академический отпуск  для подготовки и защиты диссертации на факультете Прикладной математики — процессов управления Санкт-Петербургского государственного университета.
Тема диссертации: «Методы среднеквадратичного оптимального синтеза с учетом неопределенностей в задании объектов и возмущений». Работа касалась моделирования морского волнения, которое рассматривается в качестве внешнего возмущения при построении законов автоматического управления судов. Помимо теоретического исследования, работа включила в себя реализацию численных алгоритмов на С++ с помощью разработанной библиотеки математических классов и шаблонов и системы Matlab.
2000 – 2002
Учился на курсах французского языка в Альянс Франсез в Санкт-Петербурге
1998 – 2002
Программист, руководитель проекта в АОЗТ «Санта Барбара»:
занимался телекоммуникационными приложениями для АТС «Harris 20-20». (Microsoft TAPI service provider, Voice-over-IP, Text-to-Speech и Speech-to-Text).
1997 – 1998
Инженер-программист в Novavox Russia:
разрабатывал приложения компьютерной телефонии (аналоговые и  ISDN платы Dialogic, модемы, Microsoft TAPI, Novell Telephony Server API (TSAPI), Dialogic CT-Connect).
1995 – 1999
Учеба в заочной аспирантуре факультета прикладной математики — процессов управления Санкт-Петербургского государственного университета
1995 – 1997
Ведущий программист в Петербургской геофизической экспедиции:
разрабатывал программы для регистрации и обработке геофизических измерений, участвовал в сборке и конфигурировании промышленных компьютеров со спутниковой навигацией, а также участвовал в отладке измерительных приборов и их интерфейса с PC. Получил первый опыт embedded programming
1994 – 1995
Преподаватель и системный администратор в Международном банковском институте
1994
Начальник отдела компьютерного макетирования в АОЗТ «Спецкомплект»
Опыт полиграфической верстки и типографики
1993
Профессиональная салезианская школа Сан Марко (Местре–Венеция, Италия)
Курс электронной верстки (Desktop Publishing)
1986 – 1994
учеба в Балтийском государственном техническом университете (бывший Ленинградский механический институт, «Военмех»): по окончании получил диплом  инженера-электромеханика с отличием по специальности «Робототехнические системы и комплексы»

Кроме работы, я люблю…

… социальные танцы (свинг, сальса), а также открываю для себя мир танца контемпорари, джаза и модерна

… бывать в разных местах, путешествовать и фотографировать

… музыку, особенно джаз