Skip to content

Instantly share code, notes, and snippets.

@tpoisson
Last active January 29, 2025 16:15
Show Gist options
  • Save tpoisson/60dd6019e44d88a715f154a7123f02ce to your computer and use it in GitHub Desktop.
Save tpoisson/60dd6019e44d88a715f154a7123f02ce to your computer and use it in GitHub Desktop.
{
"basics": {
"name": "Thomas POISSON",
"label": "Senior fullstack lead software engineer - Android / Vue.js / Java / Node.js / DevOps",
"picture": "https://gravatar.com/avatar/d734559fa3b4e83c99c6f3078c9221496d1de5a27d2f88a0f2aa317b5f62e171?s=200",
"email": "[email protected]",
"phone": "+33 6 85 72 69 50",
"summary": "I’m a freelance fullstack developer with 15 years of experience building and optimizing web and mobile apps. I love creating new things, improving processes, and always learning and sharing best practices. I’m flexible and enjoy getting involved in all parts of a project, from front-end to back-end. Application support is something I find rewarding because it helps me understand systems better, set up monitoring, and write automated tests. I’m comfortable with technologies like Java, Kotlin, NodeJS, VueJS, and cloud platforms like AWS and GCP, and I’m always excited to try new tools. I handle the full development process, from idea to deployment, and I’m not afraid to deploy on a Friday or work on legacy systems if there’s a plan to update them. Outside of work, I apply the same automation and optimization mindset to personal projects.",
"location": {
"address": "2 rue des Lilas",
"postalCode": "59152",
"city": "Gruson",
"countryCode": "FR",
"region": "Hauts-De-France"
},
"profiles": [
{
"network": "LinkedIn",
"username": "thomas-poisson",
"url": "https://www.linkedin.com/in/thomas-poisson-freelance-web-android/"
},
{
"network": "Github",
"username": "tpoisson",
"url": "https://github.com/tpoisson"
},
{
"network": "Twitter",
"username": "tfished",
"url": "https://twitter.com/tfished"
}
]
},
"work": [
{
"name": "Decathlon France",
"position": "Full Stack Senior Lead Developer - Shopping App - Mass market mobile application",
"startDate": "2023-10-31",
"url": "https://www.linkedin.com/company/decathlon/",
"location": "Villeneuve-d'Ascq, Hauts-de-France, France",
"summary": "Decathlon has a shopping application available on Android and iOS. This mobile app can be customized by every country leader on a back-office (for example: home feed, homepage catalog",
"highlights": [
"Migration of old ancient Vue2 application to a brand new Vue 3 / Nuxt 3 app",
"Implemention of best practices of Clean Architecture",
"Integration of the Decathlon Design system : Vitamin",
"Mentoring of a student on a work-study program",
"Technical stack: Vue.js, Nuxt.js, Vuetify, Node.js, Express, NestJS, DynamoDB, AWS, Docker, CloudRun"
]
},
{
"name": "Decathlon France",
"position": "Full Stack Lead Software engineer - Interact - Coworkers app to speak to your local community",
"startDate": "2019-12-31",
"endDate": "2023-09-30",
"summary": "InterAct is a corporate Android and desktop app allowing Decathlon employees to publish messages and send emails to their local customers community. I worked as full-stack lead developer to build, maintain, deploy and improve features",
"url": "https://www.linkedin.com/company/decathlon/",
"location": "Villeneuve-d'Ascq, Hauts-de-France, France",
"highlights": [
"Gathering / formalizing functional requirements",
"Technical conception, development of features",
"Technical support of new and existing features",
"Voluntary technical support adoption to collect application irritants",
"Implementation of code review (for reviewing and sharing novelties)",
"Deployment methodology overhaul with GitOps",
"Optimization of Docker builds",
"Regular production deployments (a quick win? => Go To Prod)",
"Security audit, patch application + best practices",
"Migration from RabbitMQ message broker to Pub/Sub",
"Technical documentation writing (grimoires)",
"Installation of technical / functional probes for monitoring / alerting",
"Load testing + optimizations of resource-intensive processes",
"Writing integration tests (normal cases + dysfunctional cases) / minimum 80% code coverage",
"Online support with users from around the world (chat/video calls)",
"Alignment of TechRadar / Reduction of shadow IT",
"Complete migration of CI/CD from GitLab to Github",
"Source code migration to TypeScript for each project",
"Migration from AWS cloud provider to GCP (Kubernetes)",
"Updating dependencies for each microservice (technical debt reduction)",
"Integration of Jetpack Compose for the Android application",
"Mentoring of junior developers",
"Sharing of acquired knowledge as I won't always be here",
"Technical stack: Vue.js, Nuxt.js, Vuetify, Node.js, Express, MongoDB, Docker, AWS, GCP CloudRun, micro-services"
]
},
{
"name": "Leroy Merlin",
"position": "Backend lead developer - Mass market mobile application",
"summary": "Leroy Merlin has a shopping application available on Android and iOS",
"startDate": "2018-07-31",
"endDate": "2019-11-30",
"url": "https://www.linkedin.com/company/leroy-merlin/",
"location": "Lezennes, Hauts-de-France, France",
"highlights": [
"Load testing, performance measuring",
"Code reviews",
"Monitoring dashboards",
"Migration to cloud platform #turbine",
"Android developer on the in-store application available on tablets",
"Technical stack: Android, Java, Kotlin, Docker, AWS, Datadog, Dynatrace, micro-services"
]
},
{
"name": "SALTO Consulting",
"position": "Full-stack software engineer - IT services company",
"summary": "I worked as a fullstack developer on several projects for different clients",
"startDate": "2010-01-31",
"endDate": "2019-11-30",
"highlights": [
"Coded and maintained a SaaS web tool for Target Client - (Adobe Flex / Java Spring)",
"Coded and maintained a discount managing tool for Match France - (Adobe Flex / Java Spring)",
"Technical stack: Android, Java, Kotlin, Docker, AWS, Datadog, Dynatrace"
],
"url": "https://www.linkedin.com/company/salto-consulting/",
"location": "Roubaix, Hauts-de-France, France"
},
{
"name": "Decathlon France",
"position": "Full-stack lead software engineer - Internal tool",
"startDate": "2015-07-31",
"endDate": "2018-06-30",
"summary": "I work as a full-stack developer on the product enrichment tool SPID",
"url": "https://www.linkedin.com/company/decathlon/",
"location": "Villeneuve-d'Ascq, Hauts-de-France, France",
"highlights": [
"Redesign of the existing web front-end/back-end Spring4",
"Redesign of the batch processing workflow",
"Optimization of SQL queries (response time, reporting)",
"Application of Decathlon's graphic charter",
"Application of Decathlon's graphic charter",
"Load testing",
"Writing automated tests to achieve 90% code coverage",
"Taking on the role of lead developer 💪",
"A top team with complementary skills and a strong drive to move forward",
"A complete technical and ergonomic overhaul of the internal product communication tool 🌍",
"A refreshing update for an app that really needed it 💅",
"Technical stack: AngularJS, Java, Spring, PostgreSQL"
]
},
{
"name": "Kingfisher IT Services",
"position": "Full-stack software engineer - Internal tool",
"description": "Member of the AGILE Squad",
"startDate": "2014-04-30",
"endDate": "2015-03-31",
"highlights": [
"A great year from a technical standpoint in a very competent and complementary team",
"Discovery of AngularJS"
],
"summary": "For the opening of the Castorama Hénin Drive, I implementated of the customer application deployed on \"Drive\" terminals, the embedded application on Motorola \"smartbadges\" for the store team, and the store's e-commerce backoffice.\nI also created a tool to track raw material costs for renegotiating supplier prices",
"url": "https://www.linkedin.com/company/kingfisher/",
"location": "Templemars, Hauts-de-France, France"
},
{
"name": "Lyreco France",
"position": "Full-stack software engineer",
"startDate": "2013-03-31",
"endDate": "2014-03-31",
"highlights": [
"Created an offline with synchronisation when connection is back",
"Application was available on iOS, Android and Windows Tablets",
"Application was available in 20 languages"
],
"summary": "I developed a tablet application for Lyreco's sale force (Apache Flex, Java Spring JDBC, Oracle)",
"url": "https://www.linkedin.com/company/lyrecofrance/",
"location": "Marly, Hauts-de-France, France"
},
{
"name": "SOGEMA Services",
"position": "Full-stack software engineer - Apprenticeship",
"startDate": "2008-10-31",
"endDate": "2009-08-31",
"highlights": [],
"summary": "I developed a web application that geolocated company trucks and placed them on a Google Map",
"url": "https://www.linkedin.com/company/sogema-services/",
"location": "Lys-lez-Lannoy, Hauts-de-France, France"
},
{
"name": "Benchmark Automotive",
"position": "Web Developer - Internship",
"summary": "I worked on the Benchmark website allowing users to input their car register plate and retrieve governemental data about it",
"startDate": "2008-01-31",
"endDate": "2008-03-31",
"highlights": [],
"url": "https://www.linkedin.com/company/benchmark-automotive/",
"location": "Swords, Comté de Dublin, Irlande"
},
{
"name": "TVU Online",
"position": "Web Developer - Internship",
"summary": "I worked on the first versions of the social network Yootribe and the dating site SouffleDange.fr",
"startDate": "2007-05-31",
"endDate": "2007-08-31",
"location": "Roubaix, Hauts-de-France, France"
}
],
"education": [
{
"institution": "IG2I - Institut de Génie Informatique et Industriel",
"area": "Computer Science & Industrial Engineering",
"studyType": "Master's Degree in Engineering",
"startDate": "2004-09-01",
"endDate": "2010-06-20",
"summary": "5-year engineering program combining software development, automation, and industrial IT. Focus on project-based learning, internships, and professional experience through work-study opportunities.",
"courses": [
"Software Development",
"Industrial Systems",
"Automation & Control",
"Project Management"
]
}
],
"skills": [
{
"name": "Frontend Development",
"level": "Master",
"keywords": [
"Android",
"Vue.js",
"Nuxt.js",
"Vuetify"
]
},
{
"name": "Backend Development",
"level": "Master",
"keywords": [
"Java",
"Kotlin",
"Node.js",
"REST APIs",
"Microservices"
]
},
{
"name": "DevOps",
"level": "master",
"keywords": [
"CI/CD",
"Github Actions",
"Gitlab CI",
"Jenkins",
"Bitrise",
"Monitoring",
"Alerting",
"Infrastructure as Code",
"Docker"
]
},
{
"name": "Database",
"level": "advanced",
"keywords": [
"mySQL",
"postgreSQL",
"MongoDB"
]
},
{
"name": "Cloud Provider",
"level": "advanced",
"keywords": [
"AWS",
"GCP",
"Firebase"
]
},
{
"name": "Mentoring & Team Collaboration",
"level": "advanced",
"keywords": [
"Team Training",
"Knowledge Sharing",
"Code Reviews",
"Onboarding"
]
}
],
"languages": [
{
"language": "French",
"fluency": "Native speaker"
},
{
"language": "English",
"fluency": "Fluent"
}
],
"certificates": [
{
"name": "TOEIC 905/990",
"issuer": "The TOEIC Program",
"date": "2008-04-30"
}
],
"projects": [
{
"name": "Haxball Bot",
"startDate": "2022-11-30",
"description": "Haxball is an online multiplayer football game that is quick and easy to pick up.\nThe basic version allows players to engage in matches.\n\nAn API is available to create a bot and enhance the experience.\n\nI developed a bot capable of:\n- Saving player statistics\n- Tracking ball possession per team\n- Allowing players to perform a powershot after a channeling time\n- Managing offside rules\n- Recording matches to analyze replays of majestic plays!\n\n...and many other small features!",
"url": "https://github.com/tpoisson/haxball-boenbot",
"keywords": [
"docker",
"typescript",
"github",
"api"
]
},
{
"name": "Teazr",
"startDate": "2019-06-30",
"description": "Teazr (pronounced Tee-zer) is an app that lets you send photos and videos to your friends in the future! Create an album, set an unlock date, share it with your friends, and add your photos and videos!\n\nPerfect for creating vacation photo albums, wedding albums, and more!\n\nMy role:\nThe iOS app, created by 2 friends, had been around for 2 years but couldn't thrive without an Android version!",
"url": "https://www.teazr.fr/",
"highlights": [
"Created the Android \"Teazr\" app from scratch",
"Fully containerized the backend with Docker-Compose using Parse-Server",
"Self-taught Android development (Android Jetpack, MVVM, Work Manager, AndroidX Navigation, CameraX, push notifications, view binding)",
"Self-taught Docker-Compose",
"Build of the Android app from scratch"
],
"keywords": [
"docker",
"parse",
"docker swarm",
"typecript",
"android"
]
}
],
"interests": [
{
"name": "🧠 Soft skills",
"keywords": [
"Perseverance",
"Empathy",
"Curiosity",
"Altruism",
"Kindness",
"Prudence",
"Optimism",
"Enthusiasm"
]
},
{
"name": "🏡 Homelab",
"keywords": [
"Jeedom",
"Jellyfin",
"Automation"
]
},
{
"name": "🏸 Sports",
"keywords": [
"Squash / badminton"
]
}
],
"references": [
{
"name": "Magali Barthet - https://www.linkedin.com/in/magali-barthet-99976a60",
"reference": "Thomas is truly an asset to any team! His positive attitude is contagious and he makes every day enjoyable! I worked with him as a PO and it was a real pleasure to have someone so invested in the project, even though he wasn't internally employed. It's not always easy to find people like that! With Thomas, it's second nature. I really appreciated his ability to explain all the technical projects he was leading in simple terms, making them accessible to everyone – a real strength! I spent 3 years working with him and enjoyed every minute of having him on my team! Don't miss out on a profile like his 👌"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment