Maxim DEMENTYEV: Curriculum Vitae ( english version)


Photo of Maxim Petrovich Dementyev

Objective

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

Specialization: C/C++ & Python

Experience: more than 25 years of software development

Since 2013, I have been working as a software developer based in Marseille, France (CET), and hold French citizenship.

Since 2023, I have operated as an independent consultant through my registered French EURL (single-member LLC), providing software development and consulting services to clients across various industries:
https://annuaire-entreprises.data.gouv.fr/entreprise/dementyev-eurl-949580476

I have extensive experience collaborating with international clients and teams across multiple time zones and offer flexible scheduling to ensure seamless global collaboration.

Proficient Linux user since 2000, with a specialization in Gentoo since 2004.


Personal Details / Contact information

Full name: Maxim Petrovich Dementyev (also spelled 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 DEMENTYEV's profile on LinkedIn | GitHub dememax | FreeDesktop GitLab dememax | SourceForge maximdementiev

Summary of Qualifications

Programming languages: C++ (up to C++23), C, Python, Bash, Java, SQL, JavaScript

Operating systems: Linux (Gentoo, Debian, OpenWrt, embedded Linux built with Yocto and Buildroot), Zephyr RTOS, Android (AOSP)

Embedded platforms: NVIDIA Jetson Orin, ESP32 with MCUboot, TI DM365, Broadcom BMIPS5000 set-top boxes, U-Boot

Multimedia: GStreamer and Cerbero, H.265 encoding with the NVIDIA API, hardware JPEG encoding on Jetson, OpenGL ES and EGL, V4L2, RTMP live streaming, LIVE555

Networking and security: MQTT (Mosquitto, paho), WebSocket, HTTP/HTTPS, mutual TLS with X.509 certificates (mbedTLS), POSIX sockets, libpcap

Build, packaging and CI: GNU Make, CMake, Meson, GNU Autotools, Yocto, Buildroot, west, Cerbero, Portage, dpkg/apt, RPM, Docker, GitHub Actions, GitLab

Quality and debugging: GDB, Valgrind, sanitizers (ASan, UBSan), clang-tidy, load and stress testing, pytest, Playwright, CppUnit, Ruff, mypy

Version control: Git (GitHub, GitLab, Gerrit), Mercurial, Subversion

Documentation: Sphinx and reStructuredText, Doxygen

Databases: SQLite, PostgreSQL, MySQL

Libraries and APIs: STL, POSIX (threads, sockets), SWIG, FUSE, ZooKeeper

Methods: object-oriented design, design patterns (GoF), multithreaded and event-driven programming, non-blocking synchronization, distributed client/server systems, test-driven development, continuous integration, release engineering, AI-assisted development (Claude Code, Codex)

Standards: ISO C++, POSIX, IETF RFCs (network protocols and formats), W3C (HTML, CSS, XML), 802.11 and Radiotap, ANSI SQL, UML

Electronic exchanges: order books, orders, quotes, securities, derivatives; exchange APIs (FIX, OM-Click, Eurex, SWX, Fidessa EMMA)

Earlier: Basic, Pascal, FreeBSD, SunOS/Solaris, MS Windows (Win32 API, WTL), GTK, CGI/FastCGI, CVS, Purify, compilers and IDEs from Microsoft, Sun, IBM and Borland, OpenOffice and MS Office (including MS Project), the Java Language Specification


Recent Experience

May 2025 - October 2026

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

Position title: Senior Software Engineer — Independent Consultant (Dementyev EURL), Full-time, On-site

Projects, products: Proreus — embedded real-time detection system (visible and thermal-infrared cameras, NVIDIA Jetson Orin modules) that helps a vessel's crew avoid collisions with large marine mammals and other obstacles. Related product: eMAS, the NexVision onboard cetacean-detection system.

Role: Principal developer and release maintainer of the system's operator dashboard (Proreus GUI), from prototype to production. Owned the GUI architecture, C++ back end, browser dashboard, sensor-stack simulator, automated testing, technical documentation and release engineering.

Key Responsibilities & Achievements:

Tools, languages and SDKs: C++23, Python (pytest, paho-mqtt, Playwright), GCC, Meson, GStreamer, Yocto, NVIDIA Jetson Orin, MQTT (Mosquitto), JavaScript (VanJS, HTML5 Canvas), ASan/UBSan/Valgrind, clang-tidy, ruff, mypy, Sphinx/reStructuredText, Git, GitLab, Claude Code and Codex

April 2026 - September 2026

Company: Dementyev EURL, Marseille, France — own R&D project

Position title: Embedded Software Engineer, personal project (sole developer)

Projects, products: Firmware of an Ethernet-connected network-monitoring device: a bare-metal Zephyr RTOS application in C++ for the ESP32 microcontroller (ESP32-ETH02 board, LAN8720A Ethernet PHY), working with a REST backend.

Role: Built the whole firmware platform alone and from scratch, from board bring-up to verified over-the-air updates. Embedded IoT on microcontrollers was not my historical specialty; the project showed I can master Zephyr and the hardware beneath it quickly.

Key Responsibilities & Achievements:

Tools, languages and SDKs: C++, Zephyr RTOS, west, CMake, ESP32, MCUboot, ZMS, mbedTLS, native_sim, Python (pytest, pyserial), Sphinx/reStructuredText, Git, Claude Code

March 2023 - September 2024

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

Position title: Lead Software Engineer — Independent Consultant (Dementyev EURL), Full-time, Remote

Projects, products: Fluendo Codec Pack, GStreamer, Cerbero

Role: Development and support for GStreamer components and Cerbero in a distributed team across Europe in a fully remote environment using GitHub, Slack, Jira, Google services, etc.

Key Responsibilities & Achievements:

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

March 2020 - January 2023

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

Position title: Embedded software developer (Full-time, Hybrid)

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

Role: Development and support for camera software.

Key Responsibilities & Achievements:

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 (Full-time, Hybrid)

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

Role: Developer of components for medical ultrasound software.

Key Responsibilities & Achievements:

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 (Full-time, On-site)

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 (Full-time, On-site)

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


Prior Experience

From 1988 to 2013, I developed extensive experience in software development across various industries and technologies. My journey began with early programming in school, progressing through roles at companies such as Norma-Nefto, Atlant-Inform, and R-Style Software Lab. I further honed my skills at organizations like Inforser, RTComm.RU, and E.Soft, working on diverse projects including content management systems, database applications, and web development.

In the 2000s, I took on more senior roles, notably at Deutsche Bank and Renaissance Capital, where I developed middleware for electronic exchanges and connectivity components in an international environment with teams around the world. My last position before 2014 was at Ashmanov&Partners, where I worked as a Senior Developer on web filtering and content classification projects.

Throughout this period, I consistently expanded my expertise in C/C++, Python, Java, and various database technologies, while adapting to evolving development environments and tools across Windows, Linux, and Unix systems.

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

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-Inform (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.