Maxim DEMENTIEV: Curriculum Vitae (English version english version)


Maxim Petrovich Dementiev, Senior Software Developer. Photo - Ashmanov&Partners. 2012

Objective

Computer Programmer / Software Engineer / Developer. Marseille, France.

Specialization: C/C++ & Python

Experience: more than 25 years of software development


Personal Details / Contact information

Full name: Maxim Petrovich Dementiev

Phone: +33 6 67 77 40 61 (mobile)

E-mail: dememax@hotmail.com

Telegram: @dememax Skype: mdementiev

Education: 1992 - 1997 - Moscow State University of Civil Engineering (https://mgsu.ru/), Automated Control Systems Department, Systems Engineering degree

Languages: Russian (native), English, French.

Profiles: View Maxim DEMENTIEV's profile on LinkedIn | GitHub dememax | FreeDesktop GitLab dememax | SourceForge maximdementiev

Summary of Qualifications

Programming Languages: C/C++, Python, Bash, Java, SQL, JavaScript, Basic, Pascal

Operating Systems: Linux (Gentoo, OpenWRT, Debian, ...), FreeBSD, SunOS, MS Windows, Symbian

Build automation and package management: make, CMake, GNU Autotools, Meson, Cerbero, Buildroot, Portage, dpkg / apt

Tools: C/C++ compilers, tools and IDEs (GNU, Microsoft, Sun, IBM, Borland, ...), debugging/profiling (GDB, Valgrind, Purify), Office suites (OpenOffice, MS Office including MS Project, ..), unix shell (grep, find, ...), documentation generators (Doxygen, Sphinx, ...)

Version control systems: Subversion, GIT, CVS, ...

DBMS: SQLite, PostgreSQL, MySQL, ...

APIs, Libraries, SDKs: STL, ANSI C/POSIX API, libpcap, CppUnit, GStreamer, FUSE, SWIG, CGI/FastCGI, ZooKeeper, MS Win32 API, WTL, GTK

Standards, White papers: ANSI/ISO C++, POSIX (threads, sockets, ...), 802.11 (Wi-Fi) / Radiotap, RFCs (network protocols, formants, ..), W3C (HTML, CSS, XML, ...), Java Lang Spec, ANSI SQL, UML

Technologies, Methodologies: object-oriented design/programming, design patterns (GoF, ...), design and implementation of distributed multi-tier and multi-threaded client/server projects, event-driven programming, non-blocking synchronization, Web/internet, testing (load and performance, stress testing, quality assurance)

Electronic exchanges: Order-book, orders, quotes, securities, derivatives, API (FIX, OM-Click, Eurex, SWX, Fidessa EMMA, ...)


Recent Experience

March 2023 - September 2024

Company: Fluendo (https://www.fluendo.com/), Barcelona, Spain

Position title: Lead software Engineer

Projects, products: Fluendo Codec Pack, GStreamer, Cerbero

Role: Development and support for GStreamer components and Cerbero.

Responsibilities: Development, support, testing and delivery of Fluendo GStreamer plugins.

Tools, languages and SDKs: C/C++, Python, GStreamer, Cerbero, Meson, Docker, GitHub Actions

March 2020 - January 2023

Company: Kalyzée (https://www.kalyzee.com/), Marseille, France

Position title: Embedded software developer

Projects, products: Kast Revolt - The camera with VOD and Live functionality and remote control

Role: Development and support for camera software.

Responsibilities: Development, testing and delivery of camera software updates

Tools, languages and SDKs: C/C++, Java, Python, AOSP & Android NDK, GStreamer, Cerbero, Docker, EGL / OpenGL ES

February 2018 - March 2020

Company: SuperSonic Imagine (https://www.supersonicimagine.fr/), Aix-en-Provence, France

Position title: Software Developer.

Projects, products: Software update system based on Debian. Components of medical ultrasound software.

Role: Developer of components for medical ultrasound software.

Responsibilities: Maintenance of software update system. Designing and implementing components for medical ultrasound software.

Tools, languages and SDKs: C/C++, Python, SWIG, PHP, Linux, apt/dpkg, GNU Toolhcain (GCC, Make, Autotools, GDB), Gitlab, Jira

September 2014 - January 2018

Company: NexVision (https://nexvision.fr/), Marseille, France

Position title: Software Developer.

Projects, products: Cabin video monitoring system for Airbus A380.

Role: Developer of components for the embedded camera.

Responsibilities: Maintenance of linux driver set for TI DM365 Front End. Designing and implementing GStreamer components.

Tools, languages and SDKs: C/C++, Linux, GStreamer, LIVE555, Buildroot, GNU Toolhcain (GCC, Make, Autotools, GDB), U-Boot, Redmine, Git, Gerrit

August 2013 - September 2014

Company: Wyplay (https://www.wyplay.com/), Allauch, France

Position title: Software Developer.

Projects, products: IPTV for Belgacom TV STB. Middleware for IPTV under Broadcom BMIPS5000 architecture.

Role: Developer of middleware components for IPTV.

Responsibilities: Implementing new functionality. Fixing bugs. Testing.

Tools, languages and SDKs: C/C++, Python, Linux, Gentoo Portage, GNU Toolhcain (GCC, Make, Autotools, GDB), Redmine, CppUnit, Mercurial

June 2010 - July 2013

Company: Ashmanov&Partners (https://www.ashmanov.com/), Moscow, Russia

Position title: Senior Developer.

Projects, products: Web filter. Content classification components. Keywords. URL and IP categorization. Schedule components. Integration into rule-based language. Converting HTML and Shockwave Flash to plain-text.

Role: Developer of components for the Web filter.

Responsibilities: Designing and implementing components and wrappers, writing code and unit-tests, documentation. Profiling and testing.

Tools, languages and SDKs: C/C++, Python, Linux, FreeBSD, GNU Toolhcain (GCC, Make, Autotools, GDB), Trac, CppUnit, SVN, CVS, "Semantic mirror"

August 2008 - May 2010

Company: Mail.Ru (http://mail.ru/), Moscow, Russia

Position title: Software Developer.

Projects, products: Distributed File System (meta-server, naming servers, client library, consolidation and snapshot mechanisms), Mail Storage, API to mail storage (client and server network libraries).

Role: Developer of components for the distributed storage, supporter of mail storage and its API.

Responsibilities: Concept development. Implementing code and unit-tests. Testing.

Tools, languages and SDKs: C/C++, Linux, FreeBSD, GNU Toolhcain (GCC, Make, Autotools, GDB), CMake, CppUnit, FUSE, FastCGI, Zookeeper, SVN, CVS

April 2008 - August 2008

Company: Renaissance Capital (http://www.rencap.com/), Moscow, Russia

Position title: Senior Developer.

Projects, products: FIX and Market Connectivity (MICEX, RTS, LSE, FIX, Reuters, UL Bridge).

Role: Responsible for development of connectivity components (markets, clients, feeds) with the usage of different protocols.

Responsibilities: Compose and update the project documentation. Planning, negotiation and keeping record of the project. Elaboration and presentation of proposals. Participate in working meetings.

Tools, languages and SDKs: MS Visual Studio, CMake, C/C++, Java, Tibco RV, UL Bridge

December 2005 - April 2008

Company: Deutsche Bank (http://www.db.com/), Moscow, Russia

Position title: Investment Banking IT-specialist, Associate.

Projects, products: Middleware software which abstracts access to electronic exchanges (SWX, Eurex, SIBE, OM-Click, FIX) and feeds (Reuters), Trade feeds

Role: Developer of existing code base and components, support, developer of modules to new exchanges

Responsibilities: Implementing code, bug fixing, designing new components, support, consulting

Tools, languages and SDKs: C/C++, Java, GCC, SUN Studio, Linux, Solaris, CVS, SourceForge, CppUnit, Doxygen, FIX, XML, ORC


Prior Experience

June 2003 - November 2005

Company: Intersoft Lab (http://www.iso.ru/), Moscow, Russia, Contour Components Ltd (http://www.contourcomponents.com/), Moscow, Russia

Position title: Programmer.

Projects, products: VCL components, Python Forms Designer, XML Dataset, OLAP Cube (VCL, ActiveX)

Role: Developer of existing code base and components, support

Responsibilities: Implementing code, bug fixing, designing new components, python wrappers of C/C++ code by SWIG

Tools, languages and SDKs: Borland C/C++ compiler, VCL, Python, Bison, Expat, SWIG, PVCS, CppUnit, Scintilla

January 2001 - May 2003

Company: E.Soft (http://www.e-soft.ru/), Moscow, Russia

Position title: System Programmer, Consultant, Project Leader.

Projects, products: Content management system, Inforser price-list (2nd version), Postman, Resolver, etc.

Role: Consultant on non-standard problems decisions, designer and developer of different kinds of projects

Responsibilities: Learning and testing of new technologies, consulting (languages, tools, technologies), finding decisions on non-standard problems, writing requirements specifications, composing project plans, designing user interfaces, designing database schemes, implementing code in JavaScript, Java, C/C++ and SQL languages

Tools, languages and SDKs: C/C++ compilers (GCC, MSVC), Java 1.1-1.2, JavaScript, HTML, DBMS (MySQL, MS SQL Server), Unix environment (Linux, FreeBSD, SunOS), shell (bash), Internet protocols (HTTP, FTP, SMTP, ...), MS Win32 API, WTL, Posix (threads, sockets, ...)

April 2000 - January 2001

Company: RTComm.RU (http://www.rtcomm.ru/), Moscow, Russia

Position title: Senior Programmer, Project Leader

Projects, products: Spider, Service Monitor, Preliminary billing, RTF generator, SMS sender

Role: Designer and Developer, Consulting, Support

Responsibilities: Designing and implementing projects, consulting on system programming, support (bug fixing, features adding)

Tools, languages and SDKs: C/C++, Java, Unix shell, DBMS, Web-protocols, Windows, Linux, SunOS

January 2000 - April 2000

Company: DGroup (http://www.dgroup.ru/), Moscow, Russia

Position title: Java Programmer, Consultant

Projects: WWW site Krasota-on-line (http://podbor.krasota.ru/)

Role: designing and implementing java applets, consulting

Responsibilities: design applets and HTML-pages, JavaScript-Applets programming, applets and data structures implementation, consulting

Tools, languages and SDKs: JDK 1.1, Web Browsers, Apache, MySQL, HTML, JavaScript

October 1999 - January 2000

Company: Ulter-West (http://www.uw.ru/), Moscow, Russia

Position title: Programmer

Projects: Ulter-Shop, WWW-site, Postman

Role: developing internet shop Ulter-Shop, support WWW site, consulting

Responsibilities: compose pages in HTML, implement Java GUI components, implement server-side components, consulting

Tools, languages and SDKs: JDK 1.1, JDK 1.2, Inprise JBuilder 3.0, JavaMail 1.1.2 (MIME), XML, DOM, JavaServlets, Apache, PostgreSQL

September 1999 - March 2000

Company: Inforser (http://www.inforser.ru/), Moscow, Russia

Position title: Developer, Consultant

Projects: Inforser's price-list

Role: designing and developing price-list keeping and entering system, consulting

Responsibilities: designing forms and reports, designing database scheme, implementing code, supporting, interoperability (with MySQL and FreeBSD)

Tools, languages and SDKs: MS Access 97, MS Visual Basic, Office components and tools, MySQL, MySQL ODBC driver, telnet

August 1997 - May 1999

Company: R-Style Software Lab (http://www.softlab.ru/), Moscow, Russia

Position title: Programmer, then Senior Programmer, Project Leader

Projects: Document storage, Classifiers.

Role: leading and developing client-server Win32 database applications, using Microsoft RPC and COM, for accounts and office clerks

Responsibilities: design application concepts, designing application database scheme, designing RPC server interfaces, designing client GUI, creating technical documentation and specifications, creating and developing server-side components and libraries

Tools, languages and SDKs: Borland C++ v 5.01, Microsoft RPC, COM, OLE, Win32 API, Visual RSL, RDB Btrieve v.6.15 - Pervasive SQL 7.0, ER-Win 2.5-2.6, MS Office 97 (including Project 98), Visual Source Safe 4/5/6.0, PVCS Tracker 4.0-5.0

May 1996 - May 1997

Company: Atlant-Infrorm (http://www.atlant-inform.ru/), Moscow, Russia

Position title: Programmer

Projects: IDE Ace, then IDE Ace under Windows

Role: developing IDE Ace

Responsibilities: implementing code, fixing and testing

Tools, languages and SDKs: Borland Turbo Pascal for MS DOS, Delphi, SQL, IDE Ace, Watcom C++, Microsoft Win32 API

1993 - April 1996

Organization: Norma-Nefto, Moscow, Russia

Position title: Programmer

Role: Designing and developing desktop databases

Responsibilities: implementing code, support databases

Tools, languages and SDKs: Assembler x86, BIOS and DOS API, MS MASM 5.0, FoxPro 2.0-2.6 for DOS, MS FoxPro 3.0 for Windows

1988 - 1992

Organization: School, Moscow, Russia

Tools, languages and SDKs: Assembler PDP-11, Basic, Pascal


Hobbies and Interests

Family, Foreign Languages (I speak Russian, English and French), Cultures, Films, Ballroom dance, Humour (Mikhail Zhvanetsky, Not Only... But Also, Les Inconnus, ...), My LiveJournal Blog, Wikipedia (reading, correcting) and SourceForge.