I am a full-stack developer based in Montreal, QC, Canada.
As far as I remember, I have always been interested by computers and programming in general. I started playing around with programming at 13, mainly hacking PHP scripts.
I am currently working for SimplyPHP, a PHP-centered web agency. Nowadays, my focus is on PHP applications based on Laravel and Vue.js.
I am also interested in DevOps, the AWS platform, and the cloud in general.
Open-source software is really important for me, so I try to give back to the community as much as I can by creating new packages, sharing the knowledge I have on my blog, submitting pull requests or reporting bugs.
I enjoy working with a variety of languages and frameworks and I am always eager to try something new.
Born and raised in Toulouse, France, I moved to Montreal in 2017 to pursue a Masters degree in Software Engineering at Concordia University. Before that, I was studying Software Engineering at Efrei near Paris.
Vinyl Music Playerhttps://adrien.poupa.fr/introducing-vinyl-music-player
Light and slick material design music player for Android
This is a local music player for Android, written in Java. Forked from Phonograph, it is easy to use and customizable (multiple themes including a dark one). It supports folder browsing, sleep timer and a tag editor.
Customizable Docker-compose template made for Laravel
Laradose aims to bring a light yet powerful and configurable Docker-compose configuration to run a Laravel application locally. Installation and configuration are made easy with the provided Bash script. Custom settings are saved in Laravel’s .env.
March 2019 - October 2020
As a full-stack developer at SimplyPHP, I usually work on PHP applications based on Laravel and Vue.js. Sometimes, I may have to work on applications using WordPress, Zend Framework, jQuery and other related technologies and languages.
I am also very interested in the DevOps side of those applications as I created an complete architecture on AWS to host them. The details are present on my blog.
I mostly split my time between two projects:
- A financial application built on Laravel and Vue.js used by financial advisors. I wrote the export engine that is responsible for generating PDF files that are handed out to the client. I also wrote a generic integration engine that allows fetching financial data from various external providers. I am the principal maintainer of the application so I am responsible for bug fixing and developing new features as well.
- A multi tenant legacy PHP application for which I created the AWS infrastructure mentioned above. There were discrepancies between the tenants’ databases that I fixed. I created a new Laravel application that runs next to the legacy application that is used to create new features using a modern technology stack, using the strangler pattern.
April 2017 - August 2017
KDS is a global provider of a corporate travel management software solution. During my internship, I worked on their software written in C# and Ember.js.
I refactored the internal API to comply with REST architecture.
I migrated the mocking framework from RhinoMocks to Moq.
I prepared the repository for a migration from SVN to Git by removing unnecessary files from the Git history.
January 2016 - June 2017
During my time at Efrei, I worked as a freelancer for Efrei’s junior enterprise, SepEfrei.
I developed a few projects, including BlockPharma, a Laravel application that uses the blockchain to fight against drug counterfeiting by associating the datamatrix present on each drug’s package to a unique blockchain transaction by using additional data. That way, the drug’s history cannot be altered.
June 2016 - September 2016
Diagamter’s main activity is to screen housing properties. That includes checking for issues such as the presence of asbestos or termites, but also getting information about the property such as the surface or the isolation. Such checks are mandatory when selling or renting a property in France. Diagamter’s customers include technicians, notaries, real estate agencies and end customers.
Diagamter sells its brand and IT platform, called monDiagamter, to franchisers. This platform is based on Laravel, and I gained my first professional experience developing new features on the platform.
Once my internship was over, I kept working for them as a freelancer when needed; I helped building the end customer website as well as the careers website.
June 2015 - August 2015
During my first internship, I worked for Orange, the biggest telecom service provider in France.
I worked on a PHP application called Part Variable Vendeur - Orange Promotion, responsible for calculating the variable part of sellers. It was built on the Orange Framework & Tools, an homemade framework based on components from Zend Framework 2 and Symfony.
MEng Software Engineering
September 2017 - December 2018
It is a 2-year program dedicated to Software Engineering. aimed at enhancing analytic and design skills as well as improve one’s ability to present technical material in written form. Throughout the program, I was trained to work on all aspects of the software product life cycle and learned how to develop high-capacity computer software in a controlled, systematic and quantifiable manner and ensure it is reliable, efficient and economic.
Here is the list of the courses I have taken:
- Advanced Programming Practices: I wrote a tweet displayer using the Play framework in Java. I replicated the paper “How Not to Structure Your Database-backed Web Applications: A Study of Performance Bugs in the Wild” in the Laravel ecosystem. I found performance issues in some open-source applications and I fixed them.
- I added support for C# to the the Ptidej tool suite using ANTLR4.
- Introduction to Artificial Intelligence: I wrote 3 mini projects in Java and Python to learn about Good Old Fashioned Artificial Intelligence, Machine Learning on datasets and Natural Language Processing.
- Software Verification and Testing: I wrote a static bug detector in Java.
- Advanced Design Software Architecture
- Software Comprehension and Maintenance
- Software Design Methodologies
- Software Engineering Processes
- Software Measurement
- Software Project Management
- Systems Requirements Specifications
Bachelor and Master of Software Engineering
September 2015 - August 2017
I started to study computer science and software engineering full-time at Efrei (Engineering School of Information and Digital Technologies), where I prepared an engineering bachelor and masters degree in software engineering.
I obtained my undergraduate degree in software engineering there, and took advantage of the dual-degree program they had with Concordia University to move to Montreal. This means that graduating in Montreal made me also graduate from Efrei with a Masters.
Kuala Lumpur, Malaysia
April 2016 - June 2016
Exchange semester done while I was studying at Efrei. This is when I discovered what living abroad was like for the first time and that played a major role in my decision to move to Canada.
I took the following courses there:
- Operating Systems
- Introduction to Web Programming
- Object Oriented Methods with UML
September 2013 - August 2015
Two-year undergraduate intensive course in mathematics, physics, engineering sciences and computer science.
Icam (Institut Catholique des Arts et Metiers) is a general engineering school, with a focus in mechanic.
At the term of this two-year formation, I passed a national exam (Banque PT) and entered Efrei, which was my top choice as I wanted to prepare a software engineering degree rather than a mechanical one.
When I'm Not Programming
When I’m not behind a computer, you can usually find me devoting myself to one of my hobbies.
In the summer, it is leg day everyday as I bike everywhere. I find biking to work very rewarding. Some day, I will also bike during the winter!
In the winter, as I still need to exercise, I play badminton.
I like to discover Quebec’s nature when I go on hikes, especially during Fall when temperatures drop and the foliage turn from green to auburn and gold.
Cooking is my way relax, it is usually a good recipe to clear my mind.