Yousri - Consultant Senior C/C++/C# Finance
Ref : 160927F001-
75019 PARIS
-
Consultant, Développeur, Chef de projet (34 ans)
-
Freelance
EXPERIENCE PROFESSIONNELLE
Orchestrade Financial Systems
Front to Back Senior Software Engineer C#
décembre 2017 - Present (5 ans 1 mois)
Région de Paris, France
Multitasking Developer.
- Worked on Trading, Risk and Market data modules. All the developments
were done in C#, using frameworks like Devexpress, or Hibernate. A focus
was made on profiling and improving the performances.
- Business and Support Analyst, discussed, on the phone or on site, with
clients their bugs and enhancement requests.
- Environmnet: C#, sql, postgres, oracle, RabbitMQ, Nats, Python, Excel
Addin, Container, Net6, Netcore, Net framework, winforms, Rest APi ...
Orchestrade Financial Systems
Front to Back Senior Software Engineer C#
décembre 2017 - Present (5 ans 1 mois)
Région de Paris, France
Multitasking Developer.
- Worked on Trading, Risk and Market data modules. All the developments
were done in C#, using frameworks like Devexpress, or Hibernate. A focus
was made on profiling and improving the performances.
- Business and Support Analyst, discussed, on the phone or on site, with
clients their bugs and enhancement requests.
- Environmnet: C#, sql, postgres, oracle, RabbitMQ, Nats, Python, Excel
Addin, Container, Net6, Netcore, Net framework, winforms, Rest APi ...
Ingénieur R&D C/C++ Finance du marché
Standard & Poor’s - Quanthouse 12/2016 – Aujourd’hui
Interne C++: developpement des serveurs de trading/market data low latency temps réel/unix.
- Architecture Multithreading, Flux Multicast/TCP.
- Analyses des performances, optimisations(code, configurations ...) et améliorations de performances des serveurs( selon les objectifs).
- Optimisation des operations de gestion des ordres/limites/trades.
- Création, maintenance d’un nouveau outil de tests en temps réel pour assurer la non regression des serveurs ( plusieurs rapport à fournir, en temps réel, haute fréquence ...)
- Analyse et Modélisation Orientée Objet.
- Correction de bugs à l'aide de GDB & Valgrind.
Environnement: C++, C++ 11, Boost, STL, Git, Redhat, Agile.
Ingénieur R&D C/C++ /C# Finance du marché
Softeam Cadextan 09/2015 – 11/2016
Mission C++/C# chez Crédit Agricole Corporate & Investment Bank:
- Développements évolutifs autour de la suite d'applications pour Traders et Risk Managers, Infinity (gestion de portefeuilles et calcul de risques pour produits exotiques) dans un environnement multi process : grid computing.
- Interaction de débogage de la librairie de pricing.
- Ajout de nouvelles fonctionnalités dans les applications existantes.
- Correction de bugs à l'aide de GDB & Valgrind.
Environnement: C++, Boost, STL, SQL, Sybase, Redhat, SVN, Emacs, Agile
Développements évolutifs autour d’un nouveau progiciel dédié aux traders Traders et Risk Managers : Orchestrade. (gestion de portefeuilles, calcul de risques pour produits vanilles + exotiques, gestion du cycle de vie de produits financiers STP) dans un environnement multi process : grid computing.
- Gestion de portefeuilles.
- Calcul de risques pour produits vanilles + exotiques.
- Gestion du cycle de vie de produits financiers STP.
- Refactoring de process existants pour des besoins de performance ( multi threading, synchronisation …)
- Interaction avec les différents composants/logiciels CACIB via le standard fpml ISDA.
Environnement: C#, sérialisation, SQL, SQL Server, TFS, Reshaper, Agile, web services, WCF, unity ..
Ingénieur R&D C/C++ Finance du marché
Softeam Cadextan 09/2015 – Aujourd’hui
Mission C++/C# chez Crédit Agricole Corporate & Investment Bank:
- Développements évolutifs autour de la suite d'applications pour Traders et Risk Managers, Infinity (gestion de portefeuilles et calcul de risques pour produits exotiques) dans un environnement multi process : grid computing.
- Interaction de débogage de la librairie de pricing.
- Ajout de nouvelles fonctionnalités dans les applications existantes.
- Correction de bugs à l'aide de GDB & Valgrind.
Environnement: C++, Boost, STL, SQL, Sybase, Redhat, SVN, Emacs, Agile
Développements évolutifs autour d’un nouveau progiciel dédié aux traders Traders et Risk Managers : Orchestrade. (gestion de portefeuilles, calcul de risques pour produits vanilles + exotiques, gestion du cycle de vie de produits financiers STP) dans un environnement multi process : grid computing.
- Gestion de portefeuilles.
- Calcul de risques pour produits vanilles + exotiques.
- Gestion du cycle de vie de produits financiers STP.
- Refactoring de process existants pour des besoins de performance ( multi threading, synchronisation …)
- Interaction avec les différents composants/logiciels CACIB via le standard fpml ISDA.
Environnement: C#, sérialisation, SQL, SQL Server, TFS, Reshaper, Agile, web services, WCF, unity ..
Ingénieur R&D C/C++ Finance du marché
SUNGARD 07/2013 – 08/2015
Dans une équipe dédiée à implémenter la nouvelle génération des serveurs de flux ultra - basse latence.
Le développement des serveurs de flux « Market Data Server » necessite:
- L’ouverture et la gestion des connexions (TCP et UDP).
- Architecture Multithreading, Flux Multicast/TCP.
- La création des Threads, Communication entre les Threads.
- Gérer les opérations (insert, delete et update) pour le marché dirigé par les ordres et le marché dirigé par les prix (les Ordres et les Limits)
- Encodage et Envoie des requêtes (Dictionnaire, Market By Order, Market By Limit…) pour les clients abonnés (par requète).
- Création des instruments, Sauvegarde des données (Store Dico).
- L’arbitrage entre les canaux Primaires/Secondaires (Dual Feed), La mise en place des algorithmes d’arbitrage de flux et de détection des gaps, La résolution de la réception retardée des messages (Out-of-Sequence) (Refresh/Replay…)
- Ajout des nouvelles fonctionalités pour les traders (informations, calculs, algorithmes...).
- Analyse et Modélisation Orientée Objet.
Langages et technologies : C/C++, C#, BOOST, STL, XML, QT,POSIX, QUICKFIX, QUICKFAST ...
Environnement : Linux « RH4, RH5 », Solaris et Windows.
Outils: Visual Studio, Perforce, Citrix, Bug Tracker.
Performance et Qualité: Purify, Quantify, Valgrind, Benchmarking.
Tests Unitaires et Fonctionnels :
- Mise en place des plans de tests unitaires.
- Analyse et correction des anomalies détectées.
- Assurer l’évolution Technique et Fonctionnelle.
Produits Financiers :
- Cash, Bonds, Forwards, Warrants, Options, Futures…
- Protocole FAST , FIX , UTP , FIXML, FIX , ITCH MIT...
Projets en cours :
Market Data Server NYSE LIFFE XDP:
- Marché Cash, Options,Futures, Stratégies...
- C’est un serveur qui gère le flux de plusieurs places « Paris, London, Lisbon, Amsterdam et Brussels ».
- La partie technique « Reverse engineering ».
- Création des Threads groups selon la spécification des groupes de canaux. « Diminuer le nombre de Threads ».
- Intégration d’un décodeur Quick-FAST.
- Gérer la synchronisation du flux récu par « Canaux Primaires/Secondaires » et la résolution du gap par Refresh ou retransmission.
- Des tests de Benchmarking et d’optimisations.
- Ecrire la specification fonctionnelle.
- Ecrire la specification technique.
- Ecrire les testes unitaires.
- Support niveau deux pour les clients potentiels.
Market Data Server EURONEXT CASH:
- Marché forward, Bond, Cash, Indices, warrant...
- C’est un serveur qui gère le flux de plusieurs places « Paris, Lisbon, Amsterdam , Brussels, Smart Pool, BondMatch , NYSE ARCA... ».
- Architecture MultiThreading, Flux Multicast et TCP.
- Gérer la synchronisation du flux récu par « Canaux Primaires/Secondaires » et la résolution du gap par Refresh ou retransmission.
- Dual Feed, Sequencing Number, Benchmarking…
- Création des Threads groups selon la spécification des groupes de canaux. « Diminuer le nombre de Threads ».
- Conception, développement, intégration et Benchmarking d'un nouveau décodeur générique pour le protocole UTP.
- Décodage et traitement des messages.
- Implémenter une plugin des testes d'acceptance en utilisant le framework GoogleTest.
- Des tests de benchmarking et d’optimisations.
- Ecrire la specification fonctionnelle.
- Ecrire la specification technique.
- Ecrire les testes unitaires.
- Support niveau deux pour les clients potentiels.
Serveur de trading ultra basse latence Euronext cash market:
- Marché Cash, warrant, OPCVM, indices, bonds, forward...(Paris, Lisbonne, Bruxelles, Amesterdam, Bondmatch, Smartpool ... )
- C’est un serveur qui permet d'envoyer des ordres simples, quotes, OTC (creation, modification , annulation , notification, request for quote, request for size ... )
- Architecture MultiThreading, TCP.
- Protocol UTP binaire.
- Benchmarking (latence = 154micro)
- gestion des différents types d'ordres : limit, stop...
- Request for quote
- Request for size
- Ecrire la specification fonctionnelle.
- Ecrire la specification technique.
- Ecrire les testes unitaires.
Serveur de trading ultra basse latence Euronext derivative market:
- Marché dérivé , options, stratégies, futures. (Paris, London, Lisbonne, Bruxelles)
- C’est un serveur qui permet d'envoyer des ordres simples, quotes, OTC (creation, modification , annulation , notification, request for quote, request for size ... )
- Architecture MultiThreading, TCP.
- Protocol UTP binaire.
- Benchmarking (latence = 174micro)
- gestion des différents types d'ordres : limit, stop...
- Request for quote
- Request for size
- Ecrire la specification fonctionnelle.
- Ecrire la specification technique.
- Ecrire les testes unitaires.
Serveur de trading ultra basse latence Suisse cash market:
- Marché Cash, warrant, bonds, indices, forward...(virtx, scoach , zurich, sls liquidnet )
- C’est un serveur qui permet d'envoyer des ordres simples, quotes, OTC (creation, modification , annulation , notification, request for quote, request for size ... )
- Architecture MultiThreading, TCP.
- Protocol FIX binaire.
- Benchmarking (latence = 162micro )
- gestion des différents types d'ordres : limit, stop, on the close ...
- Ecrire la specification fonctionnelle.
- Ecrire la specification technique.
- Ecrire les testes unitaires.
Serveur de trading ultra basse latence EUREX OTC ( Over The Counter ):
- Marché Cash, Options, Futures, Stratégies...
- C’est un serveur qui permet d'envoyer des OTC(gré à gré, multi lateral ou bilateral ou cross ...)
- Notifier la contre partie
- Architecture MultiThreading, TCP.
- Implémentation d'un décodeur pour le protocole bourse QPID+FIXML
- Benchmarking…
- Ecrire la specification fonctionnelle.
- Ecrire la specification technique.
- Ecrire les testes unitaires.
Projets Finis :
Market Data Server MAREX LONDRES pour le marché FOREX:
- Marché currency et future
- Architecture MultiThreading, Flux TCP, protocole FIX.
- Ecrire la specification fonctionnelle.
- Ecrire la specification technique.
- Ecrire les testes unitaires.
- Support des équipes de qualité afin de valider la version finale du produit qui sera livré aux clients.
- Implementer une plugin des testes d'acceptance en utilisant le framework GoogleTest.
- En Production.
Market Data Server pour BATS-CHIX Exchange :
- Produits Financiers: cash
- Architecture MultiThreading, TCP
- Implémentation d’un nouveau décodeur générique de flux ITCH MIT permettant de rendre ce server inensible à tout changement des structures des messages bourse.
- Traitement et Synchronisation des données.
- développement d'un simulateur de flus boursier supportant les deux protocoles ITCH et FIX
- Benchmarking …
- Ecrire la specification fonctionnelle.
- Ecrire la specification technique.
- Ecrire les testes de non regression.
- En Production.
Market Data Server SIX Swiss Exchange « SWXess »:
- Marché Cash, Bonds, Warrants et un Dark pool.
- Architecture MultiThreading, Flux Multicast, Protocole FAST.
- Décodage et traitement des messages.
- Synchronisation des données Snapshot/Refresh.
- Dual Feed, Sequencing Number, Benchmarking…
- Support des équipes de qualité afin de valider la version finale du produit qui sera livré aux clients.
- En production depuis février 2012.
Market Data Server pour Turquie dérivé « VIOP, BIST »:
- Architecture MultiThreading, Flux multicast UDP, TCP pour la retransmission.
- Produits Financiers: cash, Commodities, Futures, Options sur Futures, Options, Stratégies…
- Protocole FIX.
- Traitement et Synchronisation des données.
- En Pré Production.
Ingénieur R&D C/C++
ARDIA/ACTIA GROUP 01/2013 – 06/2013
Implémentation d'un plugin de validation automatisée pour l'outil de diagnostique des véhicules:
-Faire des captures écrans lors de fonctionnement de l'outil.
-Détecter les zones de textes, les découper en phrases, en mots et en caractères.
-Implémenter une solution intélligente évolutive et non supervisée de reconnaissance optique des caractères basée sur le réseau des neuronnes(auto apprentissage).
-reconstruire les mots, les phrases en respectant la sémantique.
Langages et technologies : C/C++, BOOST, STL, XML, QT,POSIX, qml, web service, qthread, opencv poco ...
Environnement : Windows.
Outils: Visual Studio.
Performance et Qualité: cppcheck,
FORMATION
• 2010 - 2013: Diplôme d’ingénieur en informatique de l’Ecole Nationale des Sciences de l’Informatique (ENSI)
• 2010: Concours national d’entrée aux grandes écoles d’ingénieurs
• 2008 - 2010: Institut Préparatoire aux Etudes d’Ingénieurs Tunis (IPEIM)
• 2008: Baccalauréat Mathématiques – Tunisie, Mention: Très Bien
COMPETENCES
Compétences sectorielles
• Finance du marché
• Risque financier
• Gestion du portefeuille
• Système d’information
• Secteur d’automobile
Serveurs d’applications & Progiciels
• Apache Tomcat
• GlassFish
Méthodologie
• Scrum
Architecture & patron de conception
• Client/Server
• MVC
• N-tiers
• Singleton
• Prototype
• Abstract Factory
• Decorator
• Proxy
• Command
• …
Outils et IDE
• Eclipse, QtCreator, Visual Studio …
• CPPCheck, Valgrind, Purify, GDB, DBX... Langages & Outils de développement
• C/C++, Multi-threading , temps réel …
• C#, unity…
• JAVA
• BOOST, STL, POSIX, POCO …
• GOOGLE TEST, CPP UNIT …
• GSOAP Web service, REST
• Web socket
• XML, JSON, GOOGLE Buffer …
• QT, AutoIt
• OPENSSL pour les connections cryptées
• QUICKFIX (plusieurs bourses)
• QUICKFAST (plusieurs bourses)
• QPID (pour Eurex Over The Counter)
• Javascript, JQuery …
Systèmes d’exploitation
• Linux Redhat 4
• Linux Redhat 5
• Solaris
Bases de données
• PL/SQL
• PostgreSQL
Automatisation
• GNU Make, CMake, Autoconf, Automake, Libtool, BJAM …
LANGUES:
- Anglais : Courant
- Français: Bilingue