Profil de Samuel DENIS

Icône de visage avec des lunettesSam
Icône de maletteArtisan logiciel
Icône de chronomètre5 ans
Icône de localisationRégion lyonnaise

Compétences

Langages
  • NodeJS (Express)
  • Python (Flask, Django, scripting)
  • PHP (Laravel 4/5)
  • Shell (POSIX, Bash)
  • Notions de Rust
Architecture
  • Micro-services
  • Modular monolithe
  • MVC
  • API (RESTful, JSON)
Bases de données
  • PostgreSQL
  • MongoDB
  • MySQL/MariaDB
  • Redis
  • CosmosDB
Messaging et streaming
  • RabbitMQ
  • AWS SQS
  • Apache Kafka
Serveurs web
  • Nginx
  • Apache 2
Gestion de version
  • Git (Git Flow)
  • Mercurial
Systèmes d'exploitation
  • Arch Linux
  • Debian
  • Fedora
  • CentOS
  • Ubuntu
  • Alpine Linux
Intégration continue
  • Jenkins
  • AWS CodePipeline
  • AWS CodeDeploy
  • Bitbucket Pipeline
  • Github Actions
Cloud
  • AWS
  • Scaleway
  • OVH
  • GCP
Conteneurs
  • Docker
  • Podman
  • Docker Compose
  • LXC
  • systemd-nspawn
Infrastructure as Code
  • Terraform
  • AWS CloudFormation
  • Pulumi
Organisation
  • Agile/SCRUM
  • Kanban
  • Jira
  • Trello
  • Redmine
Langues
  • Français (langue maternelle)
  • Anglais (professionnel)

Expériences

  • Icône de tête de pouleIcône de tête de poule3 ans de freelance
  • Icône de tête de poussinIcône de tête de poussin1 an ½ de CDI
  • Icône de œufIcône de œuf1 an de stages

Novembre 2020, en cours : devops et consultant agile

Icône de maletteIcône de malettedevops & agile
Icône de chronomètreIcône de chronomètreen cours
Icône de bâtimentIcône de bâtimentNetframe

Réalisations

  • Mise en place d'une méthodologie inspirée d'Agile
  • Création d'un environnement de développement local avec Docker Compose
  • Initiatialisation d'une intégration continue
  • Architecture du nouvel environnement de production

Environnement technique

Langages
  • GNU Makefile
  • Python
  • PHP (Laravel 5)
Bases de données
  • MySQL
  • Elastic Search
  • Redis
Autre
  • Docker Compose
  • Bitbucket puis Github
  • Netframe

Novembre 2019 à juin 2020 : architecte et développeur IoT/cloud

Icône de maletteIcône de malettearchi & dev Iot/cloud
Icône de chronomètreIcône de chronomètre8 mois
Icône de bâtimentIcône de bâtimentWitekio

Création d'une plateforme SaaS de gestion de machines de chantiers.

Réalisations

  • Développement de services pour un appareil embarqué
  • Mise en place de la communication entre l’appareil et le cloud
  • Création d’API cloud pour mettre à disposition les données récoltées par les appareils embarqués
  • Architecture des services embarqués et cloud, architecture de la communication entre les appareils et le cloud

Environnement technique

Langages
  • Python
  • NodeJS
  • Scripts Bash
  • Scripts shell POSIX
Bases de données
  • CosmosDB
  • MariaDB
  • SQLite
Infrastructure
  • Azure
  • Docker
  • Bitbucket Pipeline
Cloud Azure
  • WebApp
  • IoT Hub + DPS
  • CosmosDB
  • Functions
Organisation
  • Agile
  • SCRUM
  • Jira
  • Office 365

Juin 2019 à octobre 2019 : développeur cloud

Icône de maletteIcône de malettedev
Icône de chronomètreIcône de chronomètre5 mois
Icône de bâtimentIcône de bâtimentWitekio

Réalisations

  • Développement d’une plateforme cloud sur AWS pour réceptionner des données IoT
  • Architecture des services autour de l’event sourcing
  • Aide à la mise en place de l’infrastructure AWS

Environnement technique

Langages
  • NodeJS
  • TypeScript
  • Scripts shell POSIX
Bases de données et flux d'échanges
  • PostgreSQL
  • Kafka
  • Redis
Infrastructure
  • Docker
  • AWS EC2
  • AWS ECS
  • AWS System Manager
  • Bitbucket Pipeline
Organisation
  • Agile
  • SCRUM
  • Jira
  • Office 365
Autre
  • Authentification Keycloak
  • Docker Compose

Novembre 2018 à avril 2019 : architecte stockage de données

Icône de maletteIcône de malettearchi data
Icône de chronomètreIcône de chronomètre6 mois
Icône de bâtimentIcône de bâtimentITCE

Réalisations

  • Comparatif de bases de données relationnelles (Oracle, PostgreSQL et MySQL) en termes de fonctionnalités, coût et performances
  • Définition de l’architecture d’une base MongoDB pour un POC
  • Validation de l’utilisation de MongoDB pour un futur projet

Environnement technique

Langages
  • SQL
  • Scripts shell POSIX
Bases de données
  • MongoDB
  • Oracle
  • PostgreSQL
  • MySQL
Outils
  • Confluence
  • Suite Office

Septembre 2018 : modélisateur NoSQL et consultant NodeJS

Icône de maletteIcône de maletteNoSQL & NodeJS
Icône de chronomètreIcône de chronomètre1 mois
Icône de bâtimentIcône de bâtimentShortcuts

Aide à la modélisation des données sur MongoDB, implémentation puis optimisation des requêtes.

Réalisations

  • Définition et modélisation du stockage des données
  • Création d'indexes et de requêtes optimisées
  • Conseils en architectuer de code back-end

Environnement technique

Langage
  • NodeJS
Base de données
  • MongoDB

Depuis février 2018

Icône de chronomètreIcône de chronomètredepuis 2 ans ½
Icône de bâtimentIcône de bâtimentClients divers

Réalisations

  • Mise en place d’infrastructures AWS
  • Mise en place de gestion de projet et pratiques devops (méthodologie agile, intégration continue, code review, tests, conteneurs, …)
  • Développement back-end
  • Conseils en stockage de données (bonnes pratiques, NoSQL, migration de bases de données relationnelles vers du NoSQL)

Environnement technique

Langages
  • NodeJS
  • PHP
  • Python
  • Scripts shell POSIX
Bases de données
  • MongoDB
  • MySQL/MariaDB
  • Redis
Infrastructure/devops
  • Scaleway
  • OVH
  • AWS
  • Docker
  • Jenkins
Cloud AWS
  • EC2 + VPC
  • RDS
  • ElastiCache
  • CodeDeploy + CodeBuild
  • S3 + CloudFront
  • Route53
  • Lambda
Organisation
  • Agile
  • SCRUM
  • Kanban
  • Trello
  • Jira

Septembre 2018 à février 2018 : devops et développeur

Icône de maletteIcône de malettedevops & dev
Icône de chronomètreIcône de chronomètre1 an ½
Icône de bâtimentIcône de bâtimentDatananas

Développement d'un logiciel d'aide à la prospection commerciale grâce à de l'intelligence artificielle pour compléter un premier logiciel de construction de listes de prospects.

Réalisations

  • Mise en place de l'infrastructure AWS (migration depuis Heroku)
  • Migration de la base MongoDB depuis Mlab vers Atlas
  • Architecture des micro-services
  • Mise en place des tests fonctionnels

Environnement technique

Langages
  • NodeJS (Express)
  • modules npm internes
  • WordPress
  • Scripts shell POSIX
Bases de données et messaging
  • MongoDB
  • MySQL (WordPress)
  • Redis
  • RabbitMQ
Infastructure AWS
  • IAM
  • CodeDeploy
  • EC2 (VPC, instances, ELB)
  • Elastic Beanstalk
  • ECS
  • ECR
  • ElastiCache
  • S3
  • CloudFront
Organisation
  • Agile
  • Jira (sprints et Kanban)
  • Google Suite

Janvier 2016 à juin 2016 : développeur fullstack

Icône de maletteIcône de malettedev
Icône de chronomètreIcône de chronomètre6 mois
Icône de bâtimentIcône de bâtimentCatalisio

Logiciel d'analyse SEO pour aider les e-commerçants dans leur référencement naturel et réduire leurs coûts SEA.

Réalisations

  • Création de regroupements sémantiques de mots-clés afin de mieux comprendre les utilisateurs des moteurs de recherche
  • Création du suivi de notoriété SEA/SEO pour mieux définier la priorisation des budgets SEA
  • Création d'un système de multi-comptes pour un même client
  • Proof of Concept technologique pour un passage de MySQL à MongoDB

Environnement technique

Langages back-end
  • PHP (Laravel 4)
  • Composer
  • Scripts Bash
Langages front-end
  • HTML
  • CSS
  • jQuery
  • AngularJS
Organisation
  • Agile
  • SCRUM
  • Redmine
  • Google Suite
  • Jenkins
Infrastructure/devops
  • Jenkins
  • ASW EC2
  • AWS RDS
  • AWS SQS

Février 2015 à mai 2015 : développeur et accélérateur de pages web

Icône de maletteIcône de malettedev & webperf
Icône de chronomètreIcône de chronomètre3 mois
Icône de bâtimentIcône de bâtimentBraincracking

Consultant en performance Web et développeur indépendant.

Réalisations

  • Amélioration de la performance de sites Web pour des clients grands comptes (chargement, affichage, fonctionnalités, …)
  • Développement d'une application JavaScript fullstack
  • Préparation d'une conférence sur les performances de rendu sur mobile
  • Préparation d'une formation sur la performance Web

Environnement technique

Langages
  • NodeJS (Express)
  • HTML
  • SASS
  • JavaScript (ES6)
Autre
  • Mercurial (Bitbucket)
  • Ubuntu Server
  • SQLite
Organisation
  • Kanban
  • Trello

Mai 2014 à août 2014 : développeur web

Icône de maletteIcône de malettedev web
Icône de chronomètreIcône de chronomètre4 mois
Icône de bâtimentIcône de bâtimentMeltygroup, stage

Groupe de divertissement dédié aux jeunes, gère plus de 20 sites dont certains en tant que régie, avec une équipe de 8 développeurs.

Réalisations

  • Maintenance des sites sur la plateforme interne
  • Gestion de la nouvelle version mobile des sites (création et déploiement global) conjointement avec le directeur artistique

Environnement technique

Langages back-end
  • PHP (framework interne)
  • Scripts Bash
  • Scripts shell POSIX
Langages front-end
  • HTML
  • SASS
  • Javascript (jQuery sur PC, natif sur mobile)
Autre
  • Nginx
  • Debian