Your browser is outdated!

To ensure you have the best experience and security possible, update your browser. Update now

×

Johann Wilfrid-Calixte

Johann Wilfrid-Calixte

Ingénieur Logiciel

Développement
Domain Driven Design
Ruby
JavaScript / TypeScript
Quality
En poste Ouvert aux opportunités
Donnez moi des problématiques, je reviendrais vers vous avec des questions et des solutions.

Depuis mon plus jeune âge, j'ai toujours aimé les challenges et problématiques complexes. La raison est assez simple: résoudre des situations complexes nécessite de la compréhension, comprendre nécessite souvent de l'apprentissage.

Quand j'ai eu mon premier ordinateur, j'ai voulu comprendre comment ça marchait et je me suis mis à apprendre la programmation.
Quand j'étais stagiaire, la curiosité m'a poussé à m'intéresser à la manière dont le business fonctionnait: comment on vend du logiciel ou du temps de développement à des clients ? Combien est-ce qu'ils sont prêts à payer pour ça, etc.
Quand j'ai travaillé pour ma deuxième entreprise SaaS, j'ai commencé à m'intéresser à l'aspect produit: comment peut-on savoir (pour de vrai, pas au doigt mouillé) ce que veulent nos utilisateurs ? Comment est-ce qu'on peut être sûr que ce qu'on est en train de concevoir va être utilisé et avoir de la valeur pour nos clients, etc.

En passant par 9 entreprises différentes, j'ai pu constater que, pour diverses raisons, la sécurité est rarement considérée comme une priorité jusqu'au jour où il y a un problème.
En tant qu'utilisateur de différents logiciels et services, je suis sensible au sort de mes données et aux dispositifs mis en place pour les sécuriser.
En tant que professionnel de l'informatique, je suis sensible aux problématiques de protection des données et de sécurité.

J'aime le produit. J'aime le business. J'aime la tech. J'aime l' humain.

J'ai eu l'occasion d'enseigner le développement web il y a quelques années. J'ai beaucoup aimé l'expérience, et, maintenant que j'ai des connaissances et compétences solides dans le métier, j'aimerai trouver des contextes dans lesquels je pourrai partager ma passion.

Si vous recherchez quelqu'un pour faire le lien entre le business, le produit et la tech, et aider votre équipe à délivrer un haut niveau de qualité rendant ainsi votre produit meilleur, ça pourraît être moi.
Si vous rechercher quelqu'un pour aider votre équipe à concevoir, architecturer et améliorer votre produit ou vos solutions avec un objectif de haute qualité, spécifiquement si ça peut se faire en remote, ça pourraît être moi.
Si vous recherchez quelqu'un pour aider vos team à faire évoluer votre produit ou vos solutions, spécifiquement si ça peut se faire en remote, ça pourraît être moi?
Si vous recherchez autre chose, on peut en parler ! :)

Principales compétences / Intérêts: Ruby, JavaScript / TypeScript, Elixir, DDD, Clean Architecture.
CV réalisé sur DoYouBuzz
  • Contexte humain:
    • équipe technique d'environ 50/60 personnes dont une trentaine de développeurs
    • équipe d'architecture de 4 personnes
  • Contexte technique:
    • Architecture: Services historiques "monolitiques", Microservices, Applications serverless
    • Côté client: HTML, CSS / SCSS, Angular, TypeScript, React, Redux/Saga
    • Côté serveur: Ruby, Rails, Node, Serverless
    • SGDB: MySQL, Postgres, DynamoDB
    • Infra / Système: Docker, AWS, Terraform
    • Tests: RSpec, Jest
    • Architecture / Méthodologies: DDD, Clean Architecture, Event sourcing
    • Monitoring: Datadog
    • IDE: Sublime Text, VSCode, RubyMine
    • Other: Redis, Sidekiq, SNS/SQS, AppSync
    • CI: CircleCI
    • Versionning: Git
    • OS: Mac OS
  • Tâches principales:
    • (Ré)Architecture globale du produit pour scaler et améliorer la productivité des équipes
    • Revue d'architecture des projets à venir
    • Préparation de certification pour l'entreprise
  • Contexte humain:
    • équipe technique d'environ 20 personnes dont une quinzaine de développeurs à mon arrivée, environ 50/60 personnes dont une trentaine de développeurs 2 ans plus tard
    • entre 5 et 10 squads réparties entre Paris et New York et parlant 2 langues (fr/en)
  • Contexte technique:
    • Côté client: HTML, CSS / SCSS, Angular, TypeScript, React, Redux/Saga
    • Côté serveur: Ruby, Rails
    • SGDB: MySQL, Postgres
    • Infra / Système: Docker, AWS, Terraform
    • Tests: RSpec, Jest
    • Architecture / Méthodologies: DDD, Clean Architecture
    • Monitoring: Datadog
    • IDE: Sublime Text, VSCode, RubyMine
    • Other: Redis, Sidekiq, SNS/SQS
    • CI: CircleCI
    • Versionning: Git
    • OS: Mac OS
  • Tâches principales:
    • Développement frontend et backend sur les fonctionnalités d'appel
    • R&D lié à la mise en conformité avec la GDPR
    • Amélioration de la sécurité du produit
    • Réécriture en React, Redux/Saga, TypeScript de l'application principale (phone) initialement écrite en AngularJS
    • Développement / Évolution des endpoints API à destination des apps front et mobile
    • Collaboration avec l'équipe architecture pour la mise en place d'un microservice de notifications en temps réel
    • Développement front & back produit
  • Contexte humain:
    • équipe de 3 à 6 développeurs
  • Contexte technique:
    • Côté serveur: Ruby, Ruby on Rails
    • Côté client: HTML/ERB, CSS, JavaScript, VueJS
    • SGDB: Postgres
    • Tests: Rspec
    • OS: Arch Linux
    • IDE: RubyMine / Atom
    • Versionning: GIT (Github)
    • CI: codeship, codecov
  • Tâches principales:
    • Développement FullStack sur le projet
    • Accompagnement technique des nouveaux arrivants
    • Mise en place de rituels pour favoriser le partage de compétences et la montée en compétence des juniors
  • Contexte humain:
    • équipe de 3 à 5 développeurs
  • Contexte technique:
    • Côté serveur: Ruby, Ruby on Rails, Sinatra, Rack::App
    • Côté client: HTML (SLIM), CSS, JavaScript
    • SGDB: PostgreSQL
    • Tests: Minitest, Rspec
    • OS: Ubuntu
    • IDE: RubyMine / Atom
    • Architecture: Microservices, API
    • Système: Docker, Nginx, Ansible, AWS, SQS
    • Versionning: GIT (Github & GoGit)
    • Business Intelligence / Stats / Suivi: Blazer, D3.js, DC.js
    • Autres: OpenSource (Blazer, Rack::App)
    • Admin sys: Amazon, Nginx, Ansible, Docker
  • Tâches principales:
    • Maintenance évolutive (conception, développement, bug fix, etc.) sur le produit
    • Création d'APIs/MicroServices
    • Création de gems/librairies utiles aux différents projets
    • Développement open-source
    • Le tout en TDD
  • Contexte humain:
    • en autonomie sur beaucoup de projets
    • en équipe avec 1 ou 2 autres développeurs sur certains autres projets
  • Contexte technique:
    • Côté serveur: Ruby (Ruby on Rails, Sinatra), JavaScript / Node (MeteorJS)
    • Côté client: HTML (HAML), CSS, JavaScript
    • SGDB: MySQL, MongoDB
    • Méthodologie: TDD (Test Driven Development)
    • Architectures: MicroServices, APIs, RESTful
    • OS: Mac OSX
    • IDE: Rubymine, Sublime Text 2
    • Versionning: GIT
    • Autre: OpenSource (rocket chat)
  • Principales tâches:
    • Création d'APIs et de microservices
    • Maintenance évolutive sur le projet phare de l'entreprise (FidMe)
    • Extraction de certaines fonctionnalités du projet principal en microservices
    • Développement de projets pour des clients
    • Développement open-source
    • Le tout en TDD
  • Contexte humain:
    • seul sur des projets de maintenance
    • dans des équipes "mixtes" (1 dev front, 1 dev back, 1 chef de projet et 1 designer) sur les nouveaux projets
  • Contexte technique:
    • Côté serveur: Ruby, Sinatra, Ruby on Rails
    • Côté client: JavaScript, HTML (avec SLIM ou HAML), CSS (avec SCSS)
    • OS: Mac OSX
    • IDE: RubyMine
    • Versionning: GIT
  • Développement Ruby on Rails:
    • Conception pour de nouveaux projets clients, en collaboration avec l'équipe du projet
    • Développement backend Ruby
    • Maintenance évolutive sur les projets existants
    • Création de gems/librairies internes servant aux différents projets
    • Écriture de scripts pour automatiser certaines tâches internes
  • Formateur sur les technologies du Web:
  • HTML / CSS
  • HTML5 / CSS3
  • JavaScript / jQuery
  • PHP / Symfony2
  • Stack MEAN (MongoDB ExpressJS AngularJS NodeJS)
  • Contexte humain:
    • seul sur un projet en avant-vente
    • plusieurs équipes de 5 à 20 développeurs
  • Contexte technique:
    • Côté client: HTML, CSS, JavaScript, jQuery, Twitter Bootstrap, KnockoutJS
    • Côté serveur: PHP - Zend Framework 2, NodeJS - ASP.NET MVC
    • SGBD: PostgreSQL, SQLServer
    • ORM: Doctrine2, Entity Framework
    • Versionning: SVN
    • OS: Debian, Windows 7, Windows 8
    • IDE: Visual Studio, PHPStorm, Éclipse, Sublime Text 2
  • Projet en avant-vente
    Développement d'un prototype d'application NodeJS dont le but était de pousser des messages en temps réel depuis un panneau d'administration vers des tablettes disposées à l'entrée de salles de réunions.
    J'ai effectué le développement du prototype en fullstack (côté serveur + côté client + tablettes).
  • Projet ENT
    Développement sur un projet type ENT dont le but était de gérer toute la vie pratique et administrative (réservation de matériel & salles, paiement des frais d'inscription, etc.) de plusieurs grandes écoles. Le développement s'est faut en utilisant le framework PHP Zend Framework 2 couplé à l'ORM Doctrine 2.
  • Formation
    Dans le cadre d'un projet, j'ai été amené à préparer et animer une formation JavaScript avancé à destination de l'équipe du projet principalement composée de développeurs et développeuses backend issu(e)s du monde Java.
  • Projet GEI
    Développement d'une interface d'administration en ASP.NET pour la partie serveur et JavaScript pour la partie client.
  • Documentation
    Préparation de documents technique sensé permettre à des développeurs de trouver rapidement les resources nécessaires à la prise en main de certaines technologies (Symfony2, Zend Framework2, Angular, NodeJS)
  • Responsable global du Laboratoire Web.
  • Coordination des laboratoires sur les différents campus.
  • Organisation d'événements.
  • Contexte humain:
    • Au sein d'une équipe de 5 développeurs
    • Étroite collaboration entre les différents membres de l'équipe
  • Contexte technique:
    • Côté client: JavaScript, jQuery, KnockoutJS, igniteUI (infragistics), AJAX, RPC
    • Versionning: SVN
    • OS: Windows 7
    • Outils: Tortoise SVN
  • Développement de l'interface web de la nouvelle génération (G3) des produits Innes.La nouvelle génération est développée en technologies full web.
  • Contexte humain:
    • Nous étions une demi-douzaine de développeurs
    • J'ai travaillé soit seul (mais avec un développeur plus expérimenté en backup au cas où), soit à 2 développeurs
  • Contexte technique:
    • Côté client: HTML, SASS/SCSS, CSS, JavaScript, jQuery, LeafletJS
    • Templating: HAML, SLIM, ERB
    • Côté Serveur: Ruby, Ruby on Rails
    • SGBD: MySQL, MariaDB, MongoDB, PostgreSQL
    • ORM: ActiveRecord
    • OS: Mac OSX, Gentoo
    • Outils: Git, RVM (Ruby Version Manager)
  • Les projets sur lesquels j'ai travaillé:
  • Dotfood
    Développement d'une application Ruby on Rails dont le but est de voter pour le restaurant dans lequel manger le midi. Le but ici était de prendre en main Ruby et Ruby on Rails
  • Spree Atos/Sips
    Création d'un gem visant à ajouter à la plateforme de e-commerce Spree une méthode de paiement par CB via les services de Atos Worldline.
  • Spree Facebook
    Création d'un gem permettant l'intégration complète d'un magasin Spree dans Facebook.
  • Spree Videos
    Création d'un gem permettant de mettre des vidéos (Youtube, Vimeo, Dailymotion) sur un produit dans un magasin Spree.
  • Spree Profiles
    Création d'un gem permettant d'ajouter la notion de profile utilisateur dans un magasin Spree.
  • Projets clients
    Intégration de l'équipe de développement pour travailler sur divers projets à destination des clients de l'entreprise.
    Les tâches que j'ai eu à effectuer sont les suivantes:
    • Intégration de design
    • Adaptation de plugins javascript pour que ces derniers correspondent aux attentes des clients.
    • Développement backend en Ruby on Rails
    • Développement frontend principalement en JavaScript
    • Géolocalisation de données
    • Déploiement d'applications Ruby on Rails
  • Contexte humain:
    • J'étais le seul développeur
    • Je travaillais en autonomie, dirigé par les besoins fonctionnels de l'équipe
  • Contexte technologique:
    • Côté client: HTML, CSS, JavaScript (jQuery, jQuery UI)
    • Côté serveur: PHP5, SQL- SGBD: MySQL
  • Le but principal de cette expérience était d'effectuer des opérations de maintenance sur le site existant et de le faire évoluer pour optimiser certains processus.
  • Ce qui a été fait:
    • Reproduction d'une animation Flash en JavaScript sur la page d'accueil
    • Mise en place d'une base de données MySQL
    • Traitement pré-import + import du fichier excel dans la base MySQL
    • Développement d'un panneau d'administration pour rechercher et traiter les données
  • Responsable du Laboratoire Web sur le campus de SUPINFO Rennes depuis Novembre 2011:
  • Gestion des groupes travaillant sur les différents projets confiés au laboratoire
  • Organisation d'événements
  • Enseignement des principales technologies du web:
  • HTML/CSS
  • PHP/SQL
  • JavaScript
  • jQuery
  • NodeJS
  • Ruby on Rails
  • Symfony2
  • Développement Logiciel
  • Développement Web
  • Développement API
  • Développement Backend
  • Développement Frontend
  • Architecture de solution
  • Administration Système
  • Webservices
  • Microservices
  • Domain Driven Design
  • Clean Architecture
  • Ruby
  • Rails
  • Elixir
  • JavaScript
  • TypeScript
  • PHP
  • NodeJS
  • Vue
  • React
  • Redux
  • Saga
  • Docker
  • AWS
  • SQL
  • Français
  • Anglais
  • Allemand
  • Tennis de table
  • Développement
  • Musique
  • Jeux
  • Veille technologique
  • Photo