Learn more
At the age of 11, my adventure began. Guided by a relative, I wrote my first batch script, discovering the fascinating world of programming.
After my baccalaureate, I went on to do a bachelor's degree in computer science and then a master's degree in cybersecurity at INSA.
During my studies, I worked on various personal projects to gain experience.
During my Master's degree, I did an end-of-studies internship at Sopra Banking Software, where I learned a lot.
Following my internship, I then entered the world of work, accumulating several professional experiences.
Today, I'm going freelance!
My studies
After passing my Bac S, I decided to study computer science to finally satisfy my passion. I enrolled at the UPHF (Université Polytechnique Hauts-de-France) for a degree in computer science. I chose this university because of its reputation for the quality of its computer science teaching.
Over the past 3 years, I’ve gained a wealth of skills and experience. Programming, algorithms, networks, operating systems, databases, artificial intelligence, C, Java, Python and SQL were now familiar terms that I could master. I was also able to discover many areas of computer science, some of which I preferred, others of which I was less familiar with.
During my studies, I worked on group projects, which helped me develop my teamwork skills.
I went on to study for a master’s degree in computer science at UPHF, specializing in cybersecurity. I chose this specialization because my initial project was to become a pentester. As I progressed through my master’s degree, I realized that I was having more fun developing than testing system security. Nevertheless, I went ahead with this specialization, which now helps me every day in my work. Indeed, having the knowledge to understand how attacks and vulnerabilities work, I’m able to develop more secure solutions as a result.
During this master’s degree, I also did a 6-month internship, which I invite you to discover by continuing the experience.
At the end of these 5 years, I obtained an engineering degree in cybersecurity from INSA (Institut National des Sciences Appliquées).
At the same time, I worked on various personal projects, which enabled me to continuously develop my programming skills. Continue the experiment to discover them.
The beginning of the adventure
I decided to go freelance. Why did I do it? To be happier in my work. Being able to choose my assignments and the people I work with stimulates me enormously.
Thanks to my professional experience, my personal projects and the people I’ve met, I’ve acquired skills and knowledge that enable me to embark on this adventure.
I’m passionate about web and mobile development, and I’m convinced that I can bring real added value to my customers. As a freelancer, I can devote myself fully to my projects and my customers, and offer them a quality service.
Come closer to the plane to embark on this adventure with me!
I’m looking forward to bringing your projects to life and helping you make them a reality.
My beginnings
When I was 11, I went to stay with my uncle, who works in the computer industry. During my stay, he showed me that with his computer you could make very simple little programs. That’s when I wrote my first lines of code, a batch script that displayed “Hello World” in the console. Nothing too complex, but it was enough to give me a taste for programming.
Back home, I started learning about loops, conditions, variables, functions and so on. Then I started showing my little projects to my friends, proud of what I’d learned.
And then I realized that there had to be a better way than just displaying text on a black background.
I started playing with shutdown
or del
(I admit it wasn’t very clever of me).
And then the classic HTML, CSS to make those first websites.
That was when I really realized what programming was all about. A fascinating universe, where you can create anything you want, be free, handle data as you please, and above all, solve problems.
I even created little games on my TI-82+ calculator when I was in high school. I’ll leave you to imagine the complexity of these games (in TI-Basic), but I still managed to make a “hot or cold” and a “the right price”, which was all the rage when we got bored.
My end-of-studies internship
During my studies, I was able to carry out a 6-month internship to develop my skills and discover the corporate world.
Company presentation
I chose to do my end-of-studies internship at Sopra Banking Software, a subsidiary of Sopra Steria, which is a European leader in digital transformation. Sopra Banking Software is a banking software publisher, offering solutions for banks and financial institutions. Headquartered in Paris, the company is present in over 70 countries.
Project presentation
During this internship, I had the opportunity to work on a project aimed at T2 and T3 banks (small and medium-sized banks). The project is cloud-native, with a microservices architecture. It’s based on modern technologies such as Spring Boot, Kubernetes, AngularJS, and Typescript.
I had the opportunity to work on all aspects of the project, doing front-end development with AngularJS (using Typescript), many of the back-end services (Java and Spring Boot), and production (Kube and CI/CD). Because of my studies, I brought a fresh vision to the project, and was able to propose innovative solutions, particularly concerning personal data security (to comply with the RGPD, proposing Hashage and data encryption solutions). I also practiced agile methods, working in teams, doing code reviews, and taking part in daily meetings.
The project was divided into 3 different teams, and mine was made up of 8 people. I was able to work with developers, architects, project managers and product owners.
An important point to note is that I was able to work in an international environment, with people of many different nationalities. English was therefore omnipresent, and used on a daily basis.
Conclusion
I really enjoyed this internship, thanks to the freedom and trust I was given (thank you Bruno for your trust). I was able to develop my technical skills, but also my human skills, by working in a team, being autonomous, and taking on responsibilities.
Following this internship, I was offered the chance to continue working at Sopra Banking Software. I wanted to explore other horizons, so I declined the offer (which I invite you to discover in the next section).
However, I have very fond memories of the experience, and I’m grateful to the company and the people I worked with.
Thanks to the whole team for this enriching experience, and thanks again to Bruno for his trust and humanism.
My professional experience
I’ve had the opportunity to work for several companies. Here’s an overview of my professional experience.
2023 - 2023 : Smile
After leaving Axa, I wanted to take a job as a software developer. I applied to Smile, an ESN that allowed me to work on a variety of projects. I had the opportunity to work on software development projects for large and small accounts. I was able to work on software development projects, but also on projects to redesign existing software.
Thanks to the knowledge I’ve acquired, my desire to have more freedom and to choose the missions that interest me, I’ve decided to leave Smile and go freelance. I invite you to discover this in the last section.
Stack: React.js, Node.js, Javascript, Typescript, Java, Git.
2022 - 2022 : Axa
Following my internship, I had the opportunity to work for Axa. During our interviews, we concluded that my missions would consist of DevOps development, while retaining the software development aspect that I love so much.
Once in my position, I worked on missions that differed from what had been agreed. Instead of being in a software development position with DevOps practices, I found myself doing Operations (implementing new releases, managing incidents, etc.). In order not to waste time, I decided to learn as much as I could about the subject, but I soon realized that this wasn’t what I wanted to do. I also had the opportunity to help out on a React.js front-end project. So, at the end of my trial period, I decided to leave the company.
Thanks to this experience, I learned what the problems were on the operational side, and how developers can help solve them before they arise. To this day, I use this knowledge to write cleaner code to make it easier to put into production.
Stack: React.js, Azure DevOps, Terraform, Ansible, Git, Jenkins, SonarQube, Jira, Confluence, Python.
My projects
As said before, I’ve had the opportunity to work on several projects. In this section, I’d like to present a few of them, you can see the list of my projects here.
Moulin dashboard
During my studies, my father had just completely redone his garden. As part of his renovation, he wanted an automatic watering management system. So I decided to create one for him.
To achieve this, I used a Raspberry Pi, several relays and solenoid valves. On the code side, I chose the NextJS framework, so as to learn a new framework, and have the back and front ends in a single codebase. I’m also using a MongoDB database to store information in the event of a reboot, and SocketIO to allow several users to be connected simultaneously.
The system is exposed directly on the web, allowing my father to manage his watering from his phone (don’t worry, there’s an authentication system (Cookie and JWT), and it’s exposed on a particular port).
Thanks to this project, you can program how long you want to water, manually trigger the system and some statistics.
After completing the automatic watering, my father came up with the idea of managing the outdoor lighting and the electric gate. So I implemented these functions in the project.
For the lighting, I use a public API to retrieve the sunrise and sunset times, and I’ve implemented logic that turns the lights on according to the configuration. Currently, the system switches on at sunset and off at 1:00 am.
For the gate, I used a relay to simulate pressing the remote control button. The interface is a simple button that lets you open, stop and close the gate.
This project is still running, and is used daily by my father (for 3 years now).
Thanks to this project, I was able to learn a new framework, and put my knowledge of electronics into practice. I was also able to learn how to manage a project from A to Z, from design to production. Several issues came up, such as the processor architecture to be taken into account, multiple simultaneous users and authentication management. This enabled me to develop my skills in web development, electronics and project management.
Even if this project is functional, a redesign would be welcome. The code isn’t very clean, and some features could be improved. For example, the interface could be made more intuitive and the logic improved.
Stack: NextJS, NodeJS, SocketIO, MongoDB.
Homelab
I’ve been interested in self-hosting for a few years now. So I decided to create my own server. I bought another raspberry, to make a small cluster (of 2). On this cluster, I’ve got Docker up and running. I also have a NAS to store my data. This little homelab lets me experiment, test new technologies and have fun. So I’ve been able to dabble in Ansible, Terraform, CI/CD, and selfhosting in general.
I have a VPN that lets me access my local network, and therefore my services, from anywhere. I also have a monitoring system, which lets me see the status of my services, and receive alerts in the event of a problem.
Above all, I’ve been able to learn a lot about Docker, containerization and deployment. I also took the time to learn how to use cloud platforms like AWS, GCP and Azure.
Stack: Docker, Ansible, Terraform, CI/CD, Cloud.
Mathis Engels
Freelance Fullstack Dev
Hi!
I'm Mathis, a freelance fullstack developer passionate about creating engaging and enjoyable digital experiences.
Follow my path, explore my skills, and discover the value that my services can bring to your projects.
Your window may freeze during loading.