You're seeing this page as if you were . The main menu is still yours, though. Exit from immersion
David AutinDA

David Autin

C#/C++ Developer AI/NLP IoT Architect DDD/CQRS

€450/day
Paris, FR
8-15 years

Average response time: 1 hour

Freelancer profile translated to English.
Back to original language

About David

I try to focus on Microsoft technologies for microservices development in C# C++ and Python or F#, AI (Artificial Intelligence and Language Processing), IoT (connected and embedded devices), topSkills=[], remainingSkills=[{"id": "C#", "type": "GLOBAL", "name": "C#"}, {"id": "C++", "type": "GLOBAL", "name": "C++"}, {"id": "SQL", "type": "GLOBAL", "name": "SQL"}, {"id": "Docker", "type": "GLOBAL", "name": "Docker"}, {"id": "Git", "type": "GLOBAL", "name": "Git"}, {"id": "JavaScript", "type": "GLOBAL", "name": "JavaScript"}, {"id": "Project Management", "type": "GLOBAL", "name": "Project Management"}, {"id": "Python", "type": "GLOBAL", "name": "Python"}, {"id": "MySQL", "type": "GLOBAL", "name": "MySQL"}, {"id": "Blazor", "type": "GLOBAL", "name": "Blazor"}, {"id": "Artificial Intelligence", "type": "GLOBAL", "name": "Artificial Intelligence"}, {"id": "AI", "type": "GLOBAL", "name": "AI"}, {"id": "Connected Objects (IoT)", "type": "GLOBAL", "name": "Connected Objects (IoT)"}, {"id": "Domain Driven Design", "type": "GLOBAL", "name": "Domain Driven Design"}, {"id": "BDD", "type": "GLOBAL", "name": "BDD"}, {"id": "DDD", "type": "GLOBAL", "name": "DDD"}, {"id": "TDD", "type": "GLOBAL", "name": "TDD"}, {"id": "Microservices", "type": "GLOBAL", "name": "Microservices"}, {"id": "PostgreSQL", "type": "GLOBAL", "name": "PostgreSQL"}, {"id": "HTML5", "type": "GLOBAL", "name": "HTML5"}, {"id": "Typescript", "type": "GLOBAL", "name": "Typescript"}, {"id": "CSS3", "type": "GLOBAL", "name": "CSS3"}, {"id": "Java", "type": "GLOBAL", "name": "Java"}, {"id": "TensorFlow", "type": "GLOBAL", "name": "TensorFlow"}, {"id": "Machine learning", "type": "GLOBAL", "name": "Machine learning"}, {"id": "OpenGL", "type": "GLOBAL", "name": "OpenGL"}, {"id": "CosmosDB", "type": "GLOBAL", "name": "CosmosDB"}, {"id": "Azure DevOps", "type": "GLOBAL", "name": "Azure DevOps"}, {"id": "CQRS", "type": "GLOBAL", "name": "CQRS"}, {"id": "Agile Methodology", "type": "GLOBAL", "name": "Agile Methodology"}, {"id": "Scrum", "type": "GLOBAL", "name": "Scrum"}, {"id": "SOLID", "type": "GLOBAL", "name": "SOLID"}, {"id": "SonarQube", "type": "GLOBAL", "name": "SonarQube"}, {"id": "Design Patterns", "type": "GLOBAL", "name": "Design Patterns"}, {"id": "NUnit", "type": "GLOBAL", "name": "NUnit"}, {"id": "MangoDB", "type": "GLOBAL", "name": "MangoDB"}, {"id": "SpecFlow", "type": "GLOBAL", "name": "SpecFlow"}, {"id": "Selenium", "type": "GLOBAL", "name": "Selenium"}, {"id": "SoapUI", "type": "GLOBAL", "name": "SoapUI"}, {"id": "NLP", "type": "GLOBAL", "name": "NLP"}, {"id": "Pytorch", "type": "GLOBAL", "name": "Pytorch"}, {"id": "Embedded", "type": "GLOBAL", "name": "Embedded"}, {"id": "Multithreading", "type": "GLOBAL", "name": "Multithreading"}, {"id": "stored procedures", "type": "GLOBAL", "name": "stored procedures"}, {"id": "WebAssembly", "type": "GLOBAL", "name": "WebAssembly"}, {"id": "Kubernetes", "type": "GLOBAL", "name": "Kubernetes"}, {"id": "Microsoft Visual Studio", "type": "GLOBAL", "name": "Microsoft Visual Studio"}, {"id": "Shell", "type": "GLOBAL", "name": "Shell"}, {"id": "Internet of Things", "type": "GLOBAL", "name": "Internet of Things"}, {"id": "Atlassian JIRA", "type": "GLOBAL", "name": "Atlassian JIRA"}, {"id": "Qt", "type": "GLOBAL", "name": "Qt"}, {"id": ".NET", "type": "GLOBAL", "name": ".NET"}, {"id": "ASP.NET MVC", "type": "GLOBAL", "name": "ASP.NET MVC"}, {"id": "Transact-SQL", "type": "GLOBAL", "name": "Transact-SQL"}, {"id": "Entity Framework", "type": "GLOBAL", "name": "Entity Framework"}, {"id": "SQL Server", "type": "GLOBAL", "name": "SQL Server"}, {"id": "Unit tests", "type": "GLOBAL", "name": "Unit tests"}, {"id": "HTML5/CSS3", "type": "GLOBAL", "name": "HTML5/CSS3"}, {"id": "REST", "type": "GLOBAL", "name": "REST"}, {"id": "ADO.NET", "type": "GLOBAL", "name": "ADO.NET"}, {"id": "WPF", "type": "GLOBAL", "name": "WPF"}, {"id": "WCF", "type": "GLOBAL", "name": "WCF"}, {"id": "Team Foundation Server", "type": "GLOBAL", "name": "Team Foundation Server"}, {"id": "SASS", "type": "GLOBAL", "name": "SASS"}, {"id": "HTML", "type": "GLOBAL", "name": "HTML"}, {"id": "Elasticsearch", "type": "GLOBAL", "name": "Elasticsearch"}, {"id": "Cucumber", "type": "GLOBAL", "name": "Cucumber"}, {"id": "TeamCity", "type": "GLOBAL", "name": "TeamCity"}, {"id": "JIRA", "type": "GLOBAL", "name": "JIRA"}, {"id": "PHP", "type": "GLOBAL", "name": "PHP"}, {"id": "Symfony", "type": "GLOBAL", "name": "Symfony"}, {"id": "Hibernate", "type": "GLOBAL", "name": "Hibernate"}, {"id": "Struts", "type": "GLOBAL", "name": "Struts"}, {"id": "Marklogic", "type": "GLOBAL", "name": "Marklogic"}, {"id": "Episerver", "type": "GLOBAL", "name": "Episerver"}, {"id": "Maven", "type": "GLOBAL", "name": "Maven"}, {"id": "Biztalk", "type": "GLOBAL", "name": "Biztalk"}, {"id": "IIS", "type": "GLOBAL", "name": "IIS"}, {"id": "Embedded Systems", "type": "GLOBAL", "name": "Embedded Systems"}, {"id": "SQL Server 2008", "type": "GLOBAL", "name": "SQL Server 2008"}, {"id": "Microsoft Test Manager", "type": "GLOBAL", "name": "Microsoft Test Manager"}, {"id": "MKS (Mortice Kern Systems)", "type": "GLOBAL", "name": "MKS (Mortice Kern Systems)"}, {"id": "PL/SQL", "type": "GLOBAL", "name": "PL/SQL"}, {"id": "Oracle 11g", "type": "GLOBAL", "name": "Oracle 11g"}, {"id": "Spring", "type": "GLOBAL", "name": "Spring"}, {"id": "CruiseControl", "type": "GLOBAL", "name": "CruiseControl"}, {"id": "Eclipse", "type": "GLOBAL", "name": "Eclipse"}, {"id": "Bugzilla", "type": "GLOBAL", "name": "Bugzilla"}, {"id": "InnoSetup", "type": "GLOBAL", "name": "InnoSetup"}, {"id": "SourceMonitor", "type": "GLOBAL", "name": "SourceMonitor"}, {"id": "Oracle 10g", "type": "GLOBAL", "name": "Oracle 10g"}, {"id": "Linux", "type": "GLOBAL", "name": "Linux"}, {"id": "Mantis", "type": "GLOBAL", "name": "Mantis"}, {"id": "Xpath", "type": "GLOBAL", "name": "Xpath"}, {"id": "sopaui", "type": "GLOBAL", "name": "sopaui"}, {"id": "Microsoft Excel", "type": "GLOBAL", "name": "Microsoft Excel"}, {"id": "UML", "type": "GLOBAL", "name": "UML"}, {"id": "Visual Basic for Applications (VBA)", "type": "GLOBAL", "name": "Visual Basic for Applications (VBA)"}], "experiences": [{"id": "699e99f40fce54ac5b2bd846", "title": "Lead C++ / C# Developer IoT Linux", "description": "Context:\nParis airports are equipped with antennas consisting of a Raspberry card with WiFi and temperature/humidity sensors. They allow in particular to capture beacons emitted by keychains or trolleys. \"Agents\" are programmed and installed in the operating system to process the perceived data and transmit it to a back office via a web API. This allows for visualizing beacon geolocation, measuring WiFi throughput, loads, humidity, etc... Keychains emit Bluetooth (BLE) beacons. The Raspberry captures the signal. It measures the RSSI (Received Signal Strength Indicator). RSSI is expressed in dBm (decibel milliwatt). The closer the value is to 0, the stronger the signal.\n\nAchievements:\n• Development of agents in C for low-level access (Bluetooth, WiFi, sensors) and in C++ for calculation algorithms and memory management.\n• Implementation of a geolocation algorithm: Trilateration based on distance estimation via RSSI and Least Squares if RSSI is noisy then Kalman Filter.\n• Sending information (in JSON) from agents to the back office with libcurl.\n• Management and monitoring of build lifecycle (with CMake)\n• Memory leak detection with Valgrind\n• Logging with spdlog\n• Data validation in the database (real-time measurements (RSSI, temperature, humidity), calculated positions, WiFi statistics).\n\nTechnical Environment:\n• Languages: C, C++, SQL, Shell\n• Frameworks: QT, libcurl\n• Databases: SQL Server\n• Tests: not significant\n• Quality Metrics: SonarQube (code smells, clean code), Solid, design patterns: Singleton, Composite, Proxy, Mediator\n• Design: Raspberry card (with antenna and humidity sensors)\n• Architecture: Microcontroller\n• DevOps: Azure Devops\n• Tools: Cmake, Git, Visual Studio 2022\n• Methodology: Agile Scrum on 3-week sprints (refinement, retrospective, sprint review)", "skills": [{"id": "c", "type": "GLOBAL", "name": "c"}, {"id": "c++", "type": "GLOBAL", "name": "c++"}, {"id": "Internet of Things", "type": "GLOBAL", "name": "Internet of Things"}, {"id": "CMake", "type": "GLOBAL", "name": "CMake"}]}, {"id": "67485e8cdad299268ffa6408", "title": "Lead IoT Developer C++ Embedded Linux", "description": "Context:\nThe \"Sydef\" (Fraud Detection System) application detects fraud on Navigo passes and sam cards. Sydef does not know customer names, only pass numbers. Customer information is stored in the Information and Management System (Sig). Sydef and Sig only communicate by exchanging lists: blacklist and whitelist. It is then possible to say, for example: \"pass 047259308 validated its subscription at Gare du Nord at turnstile #321 at 9:35 AM\".\n\nAchievements:\n• Evolution of Sydef for data transfer from 4 bytes to 8 bytes\n• Adaptation of database stored procedures\n• Control of data exchanged between the Navigo pass and the reading terminal via the Calypso communication protocol and APDU (Application Protocol Data Unit) commands.\n• Risk management: implementation of business rules related to considered frauds on Navigo passes\n• Maintenance of a Docker container including everything necessary to run Sydef: code, execution environment (Linux Ubuntu), system tools, system libraries, and parameters.\n\nTechnical Environment:\n• Languages: C++, ProC, SQL, Shell\n• Frameworks: QT\n• Databases: PostGre SQL\n• Tests: not significant\n• Quality Metrics: SonarQube (code smells, clean code), Solid, design patterns: Prototype, Singleton, Composite, Proxy, Mediator, Visitor\n• Design: sam card (Navigo pass)\n• Architecture: IoT\n• DevOps: Jira\n• Tools: Git, Visual Studio Code, Docker\n• Methodology: Agile Scrum on 2-week sprints (refinement, retrospective, sprint review)", "skills": [{"id": "Docker", "type": "GLOBAL", "name": "Docker"}, {"id": "c++", "type": "GLOBAL", "name": "c++"}, {"id": "PostgreSQL", "type": "GLOBAL", "name": "PostgreSQL"}, {"id": "Internet of Things", "type": "GLOBAL", "name": "Internet of Things"}, {"id": "Qt", "type": "GLOBAL", "name": "Qt"}]}, {"id": "67485db53a603371aa865b45", "title": "Lead Web Developer C# TL/SQL", "description": "Context:\nThe \"Oscar\" application manages the certification lifecycle through files organizing repositories (e.g., ISO 9001, eIDAS, Training Service, etc.). The process involves several stages, from quotation to satisfaction survey (frepra, client), including various services: offer review, audit, auditor request and assignment, decision, certificate publication.\n\nAchievements:\n• Study and analysis of user stories with the product owner\n• Development of application evolutions and fixes\n• Maintenance of stored procedures\n• Delivery and operational maintenance (in support of the operations department)\n• Integration of technical modules and support for validation phases with AMOA and MOAs\n\nTechnical Environment:\n• Languages: C#, TL/SQL, HTML, CSS, JavaScript\n• Frameworks: .NET 4.8, EntityFramework 6, Knockout, SOAP web services\n• Databases: SQL Server 2022\n• Tests: not significant\n• Quality Metrics: SonarQube (code smells, clean code), Solid, design patterns: Command, Observer, State, Chain of Responsibility\n• Design: DDA\n• Architecture: N-tier\n• DevOps: Azure Devops\n• Tools: Git, Visual Studio 2022, SoapUI, Swagger, Fiddler\n• Methodology: Agile Scrum on 2-week sprints (refinement, retrospective, sprint review)", "skills": [{"id": "C#", "type": "GLOBAL", "name": "C#"}, {"id": ".NET", "type": "GLOBAL", "name": ".NET"}, {"id": "ASP.NET MVC", "type": "GLOBAL", "name": "ASP.NET MVC"}, {"id": "Transact-SQL", "type": "GLOBAL", "name": "Transact-SQL"}, {"id": "JavaScript", "type": "GLOBAL", "name": "JavaScript"}]}, {"id": "650c2170ee8e400b8b7cf1a8", "title": "Lead Web Developer C# .NET AI/NLP Microservices Architect DDD/CQRS", "description": "Context:\nWithin the IT Department (DIE), intranet web applications are offered to employees of the Retirement Insurance.\nThe RssiAnalyzer web application allows for data mining and text mining on various sources of the Retirement Insurance (such as Active Directory, Syrah, Rhpaie, Rhconges, etc…)\nThe Gesend application allows, on one hand, through a WYSIWYG interface, to design batch scripts, and on the other hand, to manage TCP/IP communications by file transfers between different Retirement Insurance servers.\nThe Ozone application manages the entry and exit of service providers within the Retirement Insurance services.\n\nAchievements:\n• Writing of specifications, general and detailed functional specifications with business teams for each of the 3 web applications, as well as technical architecture documents\n• Complete development of the RssiAnalyzer application in microservices\n• Development of the RssiAnalyzer application's AI engine\n• Lead of the developer team for the Gesend application in N-tiers\n• Deputy Scrum Master for the Ozone application\n• Design of unit-integration-functional-automated tests for the RssiAnalyzer application\n• Risk management: risks related to the security of authentication services such as cross-site request forgery (CSRF / XSRF), behavior hijacking by script such as Cross-Site Scripting (XSS), exploitation of security vulnerabilities interacting with the database such as SQL injection, etc…\n• Management of build processes, package creation, and deployments, continuous integration, on the different environments (Qualif, Preprod, Production) of the RssiAnalyzer application", "skills": [{"id": "C#", "type": "GLOBAL", "name": "C#"}, {"id": "Blazor", "type": "GLOBAL", "name": "Blazor"}, {"id": "TDD", "type": "GLOBAL", "name": "TDD"}, {"id": "CQRS", "type": "GLOBAL", "name": "CQRS"}, {"id": "JavaScript", "type": "GLOBAL", "name": "JavaScript"}]}, {"id": "650c2235ee8e400b8b7fca28", "title": "Desktop Developer C# .NET Microservices DDD/CQRS", "description": "Context:\nThe \"TradeVision\" software solution allows for pricing (finding a characteristic, generally the price, of a financial instrument) and manages options, which are derivative financial products establishing a contract between a buyer and a seller. The option buyer obtains the right, without being obliged, to buy (call) or sell (put) an underlying asset (stock, bond, currency exchange between two currencies, commodity, warrants, OTC (Over the counter), EMTN (Euro Medium Term Note)) at a predetermined price (strike), during a given time or on a fixed date. This contract can be made for speculation on the future price of the underlying asset, or for insurance against an unfavorable price movement.\n\nAchievements:\n• Design of the solution to illustrate acceptance criteria (management rules) leading to a common language spoken by all stakeholders, whether they are part of the business or technical team, within the framework of functional and technical specifications.\n• Solution architecture to ensure that the source code strongly manifests the common language, but also that specific domain modeling concepts adapted to the domain emerge from it.\n• Implementation of unit-integration-functional-automated tests\n• Maintenance and evolution on legacy code of the existing application\n• Multithreading (lock, Monitor)\n• Risk management: interest rate risk in case of variable rate borrowing (bonds), liquidity risk of stocks between the time of asset purchase and resale, currency risk related to currency exchange rate fluctuations, commodity and energy risk in case of overproduction, etc…\n• Management of sources, incidents, continuous integration, build process, packages, and deployments on the different environments (UAT (User Acceptance Testing) testing, Preprod, Production)", "skills": [{"id": "C#", "type": "GLOBAL", "name": "C#"}, {"id": "SQL Server", "type": "GLOBAL", "name": "SQL Server"}, {"id": "Domain Driven Design", "type": "GLOBAL", "name": "Domain Driven Design"}, {"id": "TDD", "type": "GLOBAL", "name": "TDD"}, {"id": "BDD", "type": "GLOBAL", "name": "BDD"}]}, {"id": "650c2356ee8e400b8b83eb2d", "title": "Studies and Development Engineer C# Web", "description": "Context:\nWithin the Front Office of the seasonal rental domain related to the websites A-Gites.com, Vacances.com, Vacances.SeLoger.com and Amivac.com.\n\nAchievements:\n• Development on legacy code (functional and corrective evolutions)\n• Design of unit-integration-functional-automated tests\n• Participation in code reviews of other developers via pull requests\n• Performing builds, continuous integration, and environment deployments\n• Management of risks related to fraudulent rental listings.\n• SEO Analysis: backlinks, statistics, metrics, crawler (Screaming Frog)", "skills": [{"id": "C#", "type": "GLOBAL", "name": "C#"}, {"id": "SQL", "type": "GLOBAL", "name": "SQL"}, {"id": "Typescript", "type": "GLOBAL", "name": "Typescript"}, {"id": "HTML", "type": "GLOBAL", "name": "HTML"}, {"id": "ASP.NET MVC", "type": "GLOBAL", "name": "ASP.NET MVC"}]}, {"id": "650c248b913ea64d928fd7af", "title": "Technical Referent (C#, Java, PHP)", "description": "Context:\nIntescia Project: Family Guide - social action professionals (family benefits, marriage, divorce, emancipation), Directorates - directors of [medical] social establishments (regulatory resources, subsidies, training offers), and Employment-Directorates - job offers for directors and heads of services. SAMS Project (Secure Authentication Management System) - Dalloz and Francis Lefebvre editions: GAIA (Authentication, Identification and Authorization Management), and GA (Access Management).\n\nAchievements:\n• Cost estimation and validation of deliverables provided by external teams from Directorates (C#), Family Guide and Employment-Directorates (PHP), and SAMS (Java)\n• Validation of branches and tags at releases\n• Management of the build process and package creation\n• Deployment (UAT (User Acceptance Testing), Preprod, Production)\n• Management of risks related to editorial content.\n• Configuration of HTTP web servers", "skills": [{"id": "C#", "type": "GLOBAL", "name": "C#"}, {"id": "SQL", "type": "GLOBAL", "name": "SQL"}, {"id": "Java", "type": "GLOBAL", "name": "Java"}, {"id": "PHP", "type": "GLOBAL", "name": "PHP"}, {"id": "ASP.NET MVC", "type": "GLOBAL", "name": "ASP.NET MVC"}]}, {"id": "650c2535ee8e400b8b8b19aa", "title": "Studies and Development Engineer C# Web", "description": "Context:\nWithin the Back Office of the CIO, for the fnac.com website, the functional scope includes product catalog presentation, recommendations, community spaces, the promotion engine, and natural referencing.\n\nAchievements:\n• Cost estimation for projects and/or TMA, writing technical specifications\n• Development under Biztalk: orchestrations, message schemas, maps, according to specifications and the defined implementation solution\n• Participation in code reviews of other developers via pull requests\n• Risk management related to online payment security, delivery or communication with retailers, and phishing\n• Deployment to testing and production releases\n• Reporting on task progress\n", "skills": [{"id": "C#", "type": "GLOBAL", "name": "C#"}, {"id": "JavaScript", "type": "GLOBAL", "name": "JavaScript"}, {"id": "HTML5/CSS3", "type": "GLOBAL", "name": "HTML5/CSS3"}, {"id": "WCF", "type": "GLOBAL", "name": "WCF"}, {"id": "SQL Server", "type": "GLOBAL", "name": "SQL Server"}]}, {"id": "650c263eee8e400b8b8e7c0a", "title": "Studies and Development Engineer C# Desktop", "description": "Context:\nThe \"CRMS\" and \"Compliance Dashboard\" web applications ensure compliance and control of financing (anti-fraud, anti-money laundering, anti-terrorism, etc.).\n\nAchievements\n• Software development on legacy and from scratch code.\n• Participation in technical specifications\n• Maintenance of the Compliance Dashboard application.\n• Implementation of stored procedures.\n• Writing technical documentation and describing test cases.\n• Performing builds, continuous integration, and environment deployments (UAT (User Acceptance Testing), Preprod, Production)\n• Risk management: risks related to compliance", "skills": [{"id": "C#", "type": "GLOBAL", "name": "C#"}, {"id": "SQL Server", "type": "GLOBAL", "name": "SQL Server"}, {"id": "ADO.NET", "type": "GLOBAL", "name": "ADO.NET"}, {"id": "WCF", "type": "GLOBAL", "name": "WCF"}, {"id": "IIS", "type": "GLOBAL", "name": "IIS"}]}, {"id": "650c26c654e297547ccce650", "title": "C++ Embedded Developer", "description": "Context:\nPUCE (Electronic Control Unit Programming) is a centralized system for exchanging files (software, calibration) for vehicle ECUs between suppliers, design offices, factories, and the After-Sales Department. GDI (Industrialization Management) is the system for managing prototype and engine/gearbox ECU industrialization requests related to software or calibration modifications in series production. PLEIAD inventories Renault's tools within the different ETUs (Elementary Work Units).\n\nAchievements:\n• Support and bug fixing in embedded C++ for GDI and PUCE.\n• Software development on legacy and from scratch code for PLEIAD.\n• Update of SQL scripts under MySQL.\n• Risk management related to mechanical parts inventory management.\n• Writing detailed functional and technical specifications.", "skills": [{"id": "c++", "type": "GLOBAL", "name": "c++"}, {"id": "Qt", "type": "GLOBAL", "name": "Qt"}, {"id": "Embedded Systems", "type": "GLOBAL", "name": "Embedded Systems"}, {"id": "Microsoft Visual Studio", "type": "GLOBAL", "name": "Microsoft Visual Studio"}]}, {"id": "650c272fee8e400b8b91f6f1", "title": "C++ QT Embedded Developer", "description": "Context:\nThe Douane-NG project is a ship and aircraft traffic monitoring and supervision system used by customs, employing various devices: direction finder, radar, AIS (Automatic Identification System), etc.\n\nAchievements\n• Development: Object Request Broker (ORB), CORBA (Common Object Request Broker Architecture), TAO (The ACE ORB)\n• Implementation of the ARINC 429 bus electrical architecture and interface\n• Multithreading (std::thread, boost::thread, pthread, std::mutex)\n• MIL-STD-1553 standard describing a multiplexed serial data bus\n• Management of Douane-NG's critical processes in case of bugs or failures, as these are military applications.\n• Management of risks dependent on NF EN ISO and MIL-STD standards.", "skills": [{"id": "c++", "type": "GLOBAL", "name": "c++"}, {"id": "Qt", "type": "GLOBAL", "name": "Qt"}, {"id": "Embedded Systems", "type": "GLOBAL", "name": "Embedded Systems"}, {"id": "Microsoft Visual Studio", "type": "GLOBAL", "name": "Microsoft Visual Studio"}]}, {"id": "650c27b054e297547cd0247c", "title": "Software Quality Engineer C++ Embedded", "description": "Context:\nThe \"Mona\" store software platform and the \"Self-Service Checkout\" industrial terminals are checkout solutions meeting the needs of large retail groups.\n\nAchievements\n• Maintenance on legacy and from scratch code for functionalities\n• Test automation with Quality Center\n• Development of SQL scripts and stored procedures\n• Writing functional specifications for evolution requirements.\n• Risk management related to credit card payment security, risks related to discount prices through direct or indirect rebates, etc…\n• Virtualization and management of virtual machines\n• Participation in technical specifications", "skills": [{"id": "c++", "type": "GLOBAL", "name": "c++"}, {"id": "SQL Server 2008", "type": "GLOBAL", "name": "SQL Server 2008"}, {"id": "Microsoft Test Manager", "type": "GLOBAL", "name": "Microsoft Test Manager"}, {"id": "MKS (Mortice Kern Systems)", "type": "GLOBAL", "name": "MKS (Mortice Kern Systems)"}, {"id": "Microsoft Visual Studio", "type": "GLOBAL", "name": "Microsoft Visual Studio"}]}, {"id": "650c286154e297547cd32f6d", "title": "Studies and Development Engineer Java J2EE", "description": "Context:\nAssetPlus is a CMMS (Computer-Assisted Maintenance Management) software that tracks all hospital and clinic equipment and identifies, analyzes, and corrects malfunctions.\n\nAchievements\n• Development on legacy code of the AssetPlus Web module\n• Bug fixing and management\n• Implementation of new features and modeling\n• Creation of installation builds and packages with InnoSetup\n• Continuous integration and configuration management\n• Risk management: risks related to CMMS.\n• Participation in technical specifications\n• Test automation with Selenium", "skills": [{"id": "Java", "type": "GLOBAL", "name": "Java"}, {"id": "Oracle 11g", "type": "GLOBAL", "name": "Oracle 11g"}, {"id": "Struts", "type": "GLOBAL", "name": "Struts"}, {"id": "Spring", "type": "GLOBAL", "name": "Spring"}, {"id": "Eclipse", "type": "GLOBAL", "name": "Eclipse"}]}, {"id": "650c28e6ee8e400b8b98a684", "title": "Software Quality Engineer C++", "description": "Context:\nThe GTA (Greater Toronto Area) ticketing system is a suite of applications covering all necessary functionalities for a ticketing system, with an Integrated Fare System and a Central Back-Office.\n\nAchievements\n• Code review, Correction, and validation of Technical Facts (FTs)\n• Analysis of metrics (algorithmic complexity, loop depth, number of comments, etc.)\n• Monitoring of coding metrics (complexity, naming conventions)\n• Multithreading (std::thread, boost::thread, pthread, std::mutex)\n• Risk management: risks related to ticket zone changes and therefore tariffs.\n• Management of specifications, requirements, anomalies, and configuration", "skills": [{"id": "c++", "type": "GLOBAL", "name": "c++"}, {"id": "Embedded Systems", "type": "GLOBAL", "name": "Embedded Systems"}, {"id": "SQL Server", "type": "GLOBAL", "name": "SQL Server"}, {"id": "SourceMonitor", "type": "GLOBAL", "name": "SourceMonitor"}, {"id": "Microsoft Visual Studio", "type": "GLOBAL", "name": "Microsoft Visual Studio"}]}, {"id": "650c295654e297547cd6ea99", "title": "Studies and Development Engineer Java", "description": "Context:\nGuerbet's Information System (IS) uses an integrated management software called Qualiac to manage all its operational processes by integrating all its contrast media management functions.\n\nAchievements\n• Development of system interfaces.\n• Generation of transactional applications with Oracle Forms and report creation with Oracle Reports.\n• Emulation of an ever-increasing number of users to determine the load limit the system can support.\n• Simulation of activity far exceeding normal activity to observe how the system reacts at the limits of the application usage model.", "skills": [{"id": "Java", "type": "GLOBAL", "name": "Java"}, {"id": "PL/SQL", "type": "GLOBAL", "name": "PL/SQL"}, {"id": "Struts", "type": "GLOBAL", "name": "Struts"}, {"id": "Spring", "type": "GLOBAL", "name": "Spring"}, {"id": "Oracle 10g", "type": "GLOBAL", "name": "Oracle 10g"}]}, {"id": "650c29d2ee8e400b8b9bfb24", "title": "Analysis Engineer Java J2EE", "description": "Context:\nThe National Sickness Insurance Fund for Salaried Workers provides statistics on the quantity and quality of prescriptions by healthcare professionals and digitizes sick leave Cerfa forms from paper.\n\nAchievements\n• Development of a web service\n• Design of several batch processes managing dematerialized XML flows.\n• Performance of tests comparing web service responses\n• Development of detailed functional specifications", "skills": [{"id": "Java", "type": "GLOBAL", "name": "Java"}, {"id": "PL/SQL", "type": "GLOBAL", "name": "PL/SQL"}, {"id": "Xpath", "type": "GLOBAL", "name": "Xpath"}, {"id": "Struts", "type": "GLOBAL", "name": "Struts"}, {"id": "Hibernate", "type": "GLOBAL", "name": "Hibernate"}]}, {"id": "650c2a46913ea64d92a64e86", "title": "Internship", "description": "Context and Achievements:\nConstruction and validation of a scale of professional attitudes for general practitioners (APMG) and community pharmacists (APPO). Development of the search engine for morpho-syntactic tagging and lemmatization.\nTechnical Environment:\nPerl, Windows XP, MySQL, SQL, Excel", "skills": [{"id": "MySQL", "type": "GLOBAL", "name": "MySQL"}, {"id": "Microsoft Excel", "type": "GLOBAL", "name": "Microsoft Excel"}, {"id": "Perl", "type": "GLOBAL", "name": "Perl"}]}, {"id": "650c2aa2ee8e400b8b9ecf15", "title": "Internship", "description": "Context and Achievements:\nAnalysis of InterPro domains in differentially regulated genes of the diatom Phaeodactylum tricornutum. Development of the plant growth simulator and design of the relational database.\nTechnical Environment:\nPostGreSQL, SQL, Merise, UML, Windows XP", "skills": [{"id": "PostgreSQL", "type": "GLOBAL", "name": "PostgreSQL"}, {"id": "SQL", "type": "GLOBAL", "name": "SQL"}, {"id": "UML", "type": "GLOBAL", "name": "UML"}]}, {"id": "650c2b0154e297547cdd07cf", "title": "Internship", "description": "Context and Achievements:\nRole of tissue transglutaminase in the development and regression of renal interstitial fibrosis. Development of a cerebral ischemia model and study of anti-angiogenic factors on an in vitro glioblastoma model.\nTechnical Environment:\nVBA, Excel", "skills": [{"id": "Visual Basic for Applications (VBA)", "type": "GLOBAL", "name": "Visual Basic for Applications (VBA)"}, {"id": "Microsoft Excel", "type": "GLOBAL", "name": "Microsoft Excel"}]}], "educations": [{"id": "Master’s in Computer Science Applied to Life Sciences-Université René Descartes Paris 5-2008", "title": "Université René Descartes Paris 5", "description": "Master’s in Computer Science Applied to Life Sciences", "graduationYear": 2008}, {"id": "Master’s in Computer Science Applied to Life Sciences-Université Denis Diderot Paris 7-2007", "title": "Université Denis Diderot Paris 7", "description": "Master’s in Computer Science Applied to Life Sciences", "graduationYear": 2007}, {"id": "Bachelor’s in Computer Science Applied to Life Sciences-Université Denis Diderot Paris 7-2006", "title": "Université Denis Diderot Paris 7", "description": "Bachelor’s in Computer Science Applied to Life Sciences", "graduationYear": 2006}, {"id": "Higher National Diploma-ENCPB-2005", "title": "ENCPB", "description": "Higher National Diploma", "graduationYear": 2005}, {"id": "Studies in DEUG Mathematics-Université Pierre et Marie Curie Paris 6-2003", "title": "Université Pierre et Marie Curie Paris 6", "description": "Studies in DEUG Mathematics", "graduationYear": 2003}, {"id": "Scientific Baccalaureate with Mathematics Specialization-Lycée Arago-2001", "title": "Lycée Arago", "description": "Scientific Baccalaureate with Mathematics Specialization", "graduationYear": 2001}], "certifications": [], "appraisals": [], "recommendations": []}
  • French

    Native or bilingual

  • English

    Conversational

  • German

    Basic

Can work on-site
Paris (up to 50km)

Experience

  • ADP Aéroports de Paris
    Lead Développeur C++ / C# IoT Linux
    AVIATION AND AEROSPACE
    May 2025 - Today (1 year and 1 month)
    Orly, France
    Contexte :
    Les aéroports de Paris sont pourvus d’antennes constituées d’une carte Raspberry avec du wifi et des capteurs de températures et d’humidités. Elles permettent notamment de capter les beacons émis par les porte-clés ou chariots. Des « agents » sont programmés et installés dans le système d’exploitation pour traiter les données perçues et les transmettre à un backoffice via une web API. Cela permet par la suite de visualiser la géolocalisation des beacons, de mesurer le débit du wifi, les charges, l’humidité, etc… Les porte-clés émettent des beacons Bluetooth (BLE). La Raspberry capte le signal. Elle mesure le RSSI (Received Signal Strength Indicator). Le RSSI est exprimé en dBm (décibel milliwatt). Plus la valeur est proche de 0, plus le signal est fort.

    Réalisations :
    •Développement des agents en C pour l’accès bas niveau (Bluetooth, WiFi, capteurs) et en C++ pour les algorithmes de calculs et la gestion mémoire.
    •Implémentation d’un algorithme de géolocalisation : Trilateration basée sur estimation distance via RSSI et Moindres carrés si RSSI bruité puis Filtre de Kalman.
    •Envoie des informations (en json) depuis les agents vers le backoffice avec libcurl.
    •Gestion et suivi du cycle de vie des builds (avec CMake)
    •Détection fuite mémoire avec Valgrind
    •Journalisation avec spdlog
    •Validation des données en base de données (mesures temps réel (RSSI, température, humidité), positions calculées, statistiques WiFi).

    Environnement technique :
    •Langages : C, C++, SQL, Shell
    •Frameworks : QT, libcurl
    •Bases de données : SQL Server
    •Tests : non significatifs
    •Qualimétrie : SonarQube (smells code, clean code), Solid, design patterns : Singleton, Composite, Proxy, Médiateur
    •Conception : carte Raspberry (avec antenne et capteurs d’humidité)
    •Architecture : Microcontrôleur
    •DevOps : Azure Devops
    •Outils : Cmake, Git, Visual Studio 2022
    •Méthodologie : Agile Scrum sur des sprints de 3 semaines (refienement, rétrospective, sprint review)
    c c++ Internet des objets CMake
  • RATP Smart Systems
    Lead Développeur IoT C++ embarqué Linux
    TRANSPORTATION
    July 2024 - May 2025 (10 months)
    Noisy-le-Grand, France
    Contexte :
    L’application « Sydef » (Système de détection de la fraude) permet de détecter les fraudes des passes Navigo et cartes sam. Sydef ne connaît pas le nom des clients mais seulement des numéros de passes. Les informations relatives au client sont stockées dans le Système d’Information et de Gestion (Sig). Sydef et Sig ne communiquent que par échange de listes : liste noire et blanche. Il est alors possible de dire par exemple : « le passe 047259308 a validé son abonnement à la gare du Nord au tourniquet n°321 à 9h 35 ».

    Réalisations :
    •Evolution de Sydef pour le passage des données en 4 octets vers 8 octets
    •Adaptation des procédures stockées de de la base de données
    •Contrôle des données échangées entre le passe Navigo et la borne de lecture via le protocole de communication Calypso et des commandes APDU (Application Protocol Data Unit).
    •Gestion des risques : implémentation des règles métiers relatives aux fraudes considérées sur les passes Navigo
    •Maintenance d’un conteneur Docker comprenant tout ce qui est nécessaire pour exécuter Sydef : code, environnement d'exécution (Linux Ubuntu), outils système, bibliothèques système et paramètres.

    Environnement technique :
    •Langages : C++, ProC, SQL, Shell
    •Frameworks : QT
    •Bases de données : PostGre SQL
    •Tests : non significatifs
    •Qualimétrie : SonarQube (smells code, clean code), Solid, design patterns : Prototype, Singleton, Composite, Proxy, Médiateur, Visiteur
    •Conception : carte sam (passe Navigo)
    •Architecture : IoT
    •DevOps : Jira
    •Outils : Git, Visual Studio Code, Docker
    •Méthodologie : Agile Scrum sur des sprints de 2 semaines (refienement, rétrospective, sprint review)
    Docker C++ PostgreSQL Internet des objets Qt
  • Groupe AFNOR
    Lead Développeur Web C# TL/SQL
    CONSULTING AND AUDITS
    November 2023 - July 2024 (8 months)
    Saint-Denis, France
    Contexte :
    L’application « Oscar » permet de gérer le cycle de vie des certifications, par le biais de dossiers organisant les référentiels (par exemple : iso 9001, eIDAS, Service formation, etc…). Le processus se fait par étapes allant du devis jusqu’à l’enquête de satisfaction (frepra, client), en passant par de multiples prestations : revue d’offre, audit, demande et affectation d’auditeur, décision, publication du certificat.

    Réalisations :
    •Étude et analyse des users stories avec le product owner
    •Développement des évolutions et correctifs de l’application
    •Maintenance des procédures stockées
    •Livraison et maintenance opérationnelle (en assistance du pôle exploitation)
    •Intégration des modules techniques et accompagnement des phases de validation avec l’AMOA et les MOAs

    Environnement technique :
    •Langages : C#, TL/SQL, HTML, CSS, JavaScript
    •Frameworks : .NET 4.8, EntityFramework 6, Knockout, web services SOAP
    •Bases de données : SQL Server 2022
    •Tests : non significatifs
    •Qualimétrie : SonarQube (smells code, clean code), Solid, design patterns : Commande, Observateur, Etat, Chaîne de responsabilité
    •Conception : DDA
    •Architecture : N-couches
    •DevOps : Azure Devops
    •Outils : Git, Visual Studio 2022, SoapUI, Swagger, Fiddler
    •Méthodologie : Agile Scrum sur des sprints de 2 semaines (refienement, rétrospective, sprint review)
    C# .NET ASP.NET MVC Transact-SQL JavaScript

Recommendations

Be the first to recommend David

Help this freelancer shine by sharing your experience working together.

These freelancer profiles also match your criteria

AgathaA

Agatha Frydrych

Backend Java Software Engineer

4.7

(3)

2

BaptisteB

Baptiste Duhen

Fullstack developer

4.6

(4)

5

AmedA

Amed Hamou

Senior Lead Developer

4

(2)

7

AudreyA

Audrey Champion

Web developer

4.3

(3)

4

Education

  • Master d’Informatique Appliquée aux sciences du vivant
    Université René Descartes Paris 5
    2008
  • Maîtrise d’Informatique Appliquée aux sciences du vivant
    Université Denis Diderot Paris 7
    2007

Skill set (98)

Categories