Près de 20 ans d'expérience dans le développement logiciel pour les banques et assurances, Retail et télécommunications.
Depuis 2017, je dirige ma propre entreprise de logiciels – DevAtlant.
Notre plus grande réussite est la construction et la gestion de la plateforme de E-Commerce pour Leroy Merlin Ukraine. 7 ans. 5 ingénieurs.
Membre de la CCIFU à Kiyv, Ukraine et d'Anticipa dans le Capital de Télécom Français, à Lannion.
Animant des cours pratiques "Software Craftsmanship" pour les étudiants de l'Université Nationale d'Économie Simon Kuznets de Kharkiv.
Passionné par la calligraphie et le journaling.
Description de mission :
Principales responsabilités :
• Avant-vente – collecte du contexte métier, définition du périmètre, présentation de différentes solutions avec les coûts associés, réalisation de PoC, redactions de propositions commerciales, négociations.
• Définition de l'architecture, initialisation des projets, implémentation de modules de référence, maintien de la documentation du projet et des standards de codage.
• Organisation et gestion du processus de software delivery en prenant en compte les priorités de toutes les parties prenantes.
• Construction d'outils personnalisés de monitoring et d'observabilité basés sur ELK pour une meilleure gestion des incidents en production.
• Résolution de problèmes critiques de performance pendant l'ère COVID-19 en optimisant JVM, Spring, Apache et PostgreSQL.
Description de mission :
Projet - SasS multimedia (online video streaming et chats), l'équipe de développement backend - 5 personnes. L’architecture est conçue pour respecter la scalabilité horizontale. L’environnement de production contient plus de 20 serveurs avec technologies/fonctionnalités hétérogènes. La liste des modules/fonctionnalités dont j’étais responsable est présentée ci-dessous. Le développement des modules en Java SE des plugins pour WowzaStreamingEngine (serveur RTMP) pour le recording, image snapshoting, l’accès sécurisé aux video streams. Développement des extensions pour Tigase (serveur XMPP): module d’authentification compatible SASL (RFC 2222), l’interceptor du spam, module asynchrone pour l’indexation des messages dans ElasticSearch (monitoring et la recherche en quasi real-time). Memcached parallel cluster pour servir des images en moins de 20 millisecondes (6K des images par 1 sec), ce cluster est construit en mode Producer/Consumer et composé de la chaîne suivante: Wowza - Memory pipe - Java - Memcached - Nginx. Le développement et l’integration du module de payement (e-wallet) compatible PCI-DSS. Réalisation du cluster de transcoding de video avec SpringBoot, Thrift et ffmpeg.
Responsable de l’industrialisation de développement logiciel (Git, Redmine, Jenkins, Sonar, Nexus, etc.).
Participation au processus de recrutement des collaborateurs et des prestataires extérieurs.
Aide au management technique des différents projets.
Description de mission :
Participation à la conception, développement et gestion des projets informatiques (TMA, forfait, régie; projets "offshorisés").
Responsbale de la qualité technique. Développement de l'architecture, résolution des problèmes techniques pointus. Revue du code.
Mise en place de l'infrastructure des projets (SVN, les builds automatiques, tests unitaires, Mantis, etc).
Participation à l'industrialisation du développement des projets informatiques (intégration continue, qualité du code/conception OO, métriques, applications blanches/usine logicielle).
Conduite des entretiens techniques dans un cadre de recrutement.
Audit technique des projets Java/J2EE (ISO-9126, Sonar, PMD, Cobertura, Metrics, SourceMonitor).
Description de mission : Accomplissement de plusieurs missions pour les different clients de DVK-TECH.
La liste de ces missions est présentée ci-dessous avec la remarque ***.
Description de mission : Participation dans le développement du serveur-métier de l’entreprise, dans le context de migration.
Réalisation des modules d’intégration nécessaires pour la connection du serveur avec des autres systèmes d’information.
Le processus du développement est strictement réglementé et basé sur les standards industriels du développement de logiciel.
Utilisation avancée du SQL.
Description de mission : Audit de l'application web de gestion des flux de l'entreprise.
Analyse et la documentation de l'architecture existante avec des propositions d'optimisation et d'évolution.
Rédaction de la documentation pour la configuration de l'environnement de développement.
Technologies utilisées :
Java/J2EE, Servlet, Java Service Wrapper, Winstone - un conteneur "léger" de Servlets, Oracle 8, Eclipse; diagrammes UML.
Description de mission : Participation à la conception et développement des projets « e-commerce ».
Réalisation de la couche de persistance en Hibernate et JDO (implémentation Xcalia).
Développement de l’interface graphique web selon le pattern MVC 2 à l’aide du framework Struts.
Développement des composants de l'interface graphique en AJAX.
Participation à l’élaboration de l’architecture technique des modules.
Réalisation de la couche de la logique métier des projets.
Technologies utilisées :
Java/J2EE, Struts 1.3, Hibernate 3.0, JDO (Xcalia), Servlet/JSP, JSTL, Tomcat 5.5, MySQL, Oracle, MS SQL Server,
les librairies tiers FreeMaker, Common-Controls, plusieurs librairies de Jakarta Commons, HTML, CSS, JavaScript.
Entreprise:
Agence de communication DUKE -
Localisation :
Paris, France
Secteur d'activité :
Web agence
Poste occupé :
Ingénieur Java/J2EE***
Description de mission : Conception et réalisation des solutions complètes "back-office".
Développement du module de sécurité basé sur « container managed security » de Tomcat.
Couche de persistance réalisée en pure JDBC, utilisation de database-pooling.
Développement des modules d’interaction avec le « front-office » représenté par le Flash.
Participation à la réalisation des composants graphiques utilisant le modèle de conception AJAX.
Développement d’un outil de surveillance des sites sensibles. L’application est réalisée avec l’utilisation de multithreading et sous la forme de daemon pour OS Linux Debian.
Participation aux conceptions des architectures techniques des différents projets.
Technologies utilisées :
Java/J2EE, JDBC, Servlet/JSP, Tomcat 5.5, MySQL 4.1, PostgreSQL, les librairies tiers Log4j, Velocity.
Description de mission : Développement et tests de la web-application de Gestion du Temps des Employées (Time management system).
Tâches accomplies: Développement des composants graphiques basés sur JSF;
Conception et réalisation des tests de stress de l’application. OpenSTA et langage SCL;
Migration de l’application de WebSphere sur le serveur JBoss;
Coordination du lancement en production de l’application sous JBoss.
Description de mission : Mission - évolution du produit "SiteAudit": spécification et conception du produit; rédaction des dossiers correspondants;
développement sur la plateforme Microsoft .NET / C#; les technologies utilisées:
Technologies utilisées :
.NET/C#, WinForms, XML (XPath, XSD), ADO.NET, Microsoft SQL Server,
librairies "Microsoft XMLDiff and XMLPatch 1.0" et "HtmlAgilityPack".
Core Java (J2SE). L'utilisation de JConsole, jStack et jMap pour l'optimisation de performance.
Utilisation de ForkJoinPool et stream style API de JDK8.
Les standards J2EE: Servlets/JSP, EJB, Web Services, les serveurs d'application/serveurs web : JBoss, WebSphere, Tomcat, Resin.
Architecture distribuée n-tiers: sharding, replication, persistance de
données, sécurité, transactions, multithreading, logging, monitoring, deployment.
Les frameworks et librairies Java: JPA, Spring, Struts, Hibernate, Quartz.
XUnit tests: JUnit, TestNG et DbUnit.
Entreprise 2.0
Memcached, Redis, Thrift, MongoDB, ElasticSearch, Spring Boot.
.NET/C# 3.5, NHibernate, MsBuild, NUnit, DbUnit, MS Visual Studio 2008 (Visual SVN, ReSharper, dotTrace).
SGBD
Microsoft SQL Server 2000, ORACLE 9i/10g, MySQL, PostgreSQL; langage SQL.
Outils
Design Patterns (GoF+GRASP), UML,Eclipse, NetBeans, Microsoft Visual Studio, profiling - JProfiler/DotTrace, Ant, Maven, CVS, SVN, Git, SQuirreL, Toad, Far, MyGeneration, Doxygen, command line tools, sripting with Python, utilisation de Yii framework pour le prototypage
Industrialisation
Automatisation des projets avec Maven et Ant. Nexus, Sonar. XUnit - JUnit, TestNG, DBUnit. Les tests automatisés d'acceptence avec Selenium.
Analyse de la couverture du code par les tests - Cobertura.
Les serveurs d'intégration continue - Hudson/Jenkins et TeamCity.
Métriques de qualité du code - SonarQube, FindBug, PMD. Gestion du projet, wiki, bug tracker - Redmine. Utilisation des Applications Blanches.