PHP & WordPress Engineer

Tailored software that gives shape to your digital ideas.

From discovery to launch, I turn complex requirements into scalable products: dedicated admin panels, advanced WordPress builds and automations that speak the language of your business.

New project
//Are you ready?

Stack & Focus

PHPWordPressWooCommerceMySQLJavascriptJQueryNodeJSNextJSGitHubDockerGo
Dev Diary

My latest posts

Ideas, insights, and reflections to share together

Go, Docker, and Kubernetes: Why I Decided to Step Out of My Comfort Zone

After more than 15 years spent developing web applications in PHP—working on management software, web platforms, and production systems—I decided to take on a new technical challenge: <strong>learning Go, Docker, and Kubernetes.</strong> Not because it is "trendy." And not because I think the technologies I use today are no longer valid. The reason is much simpler: I believe a good developer should <strong>never</strong> stop evolving. <h2>Why Go?</h2> Over the last few years, I started noticing more and more backend projects and infrastructures built in Go. What immediately struck me was the language's philosophy: <ul> <li>simplicity</li> <li>performance</li> <li>readability</li> <li>native concurrency</li> </ul> After so many years spent on traditional web stacks, working with a language designed for modern services, APIs, and distributed systems has been extremely stimulating. Go forces you to think differently. And that, in my opinion, is one of the most exciting parts of learning. <h3>A Completely Different Approach to Concurrency</h3> One of the aspects that impressed me the most about Go is how it handles concurrency. After years on traditional web stacks, facing concepts like: <ul> <li>goroutines</li> <li>channels</li> <li>select</li> <li>context management</li> </ul> completely changes the way you design certain types of applications. The ability to run concurrent tasks in a simple and readable way makes Go particularly interesting for: <ul> <li>microservices</li> <li>high-performance APIs</li> <li>CLI tools</li> <li>distributed services</li> </ul> Another aspect I am highly appreciating is the standard library: minimal yet extremely powerful. It really feels like Go continuously tries to eliminate unnecessary complexity, favoring clear and maintainable code. <h2>Docker: The Moment Everything Changes</h2> For years, I worked with local environments, Linux servers, staging, and manual deployments. Then Docker comes along, and it completely changes how you look at an application. You are no longer just thinking about the code. You are thinking about the entire environment: <ul> <li>services</li> <li>dependencies</li> <li>containers</li> <li>portability</li> </ul> The ability to have consistent environments between development and production radically changes the workflow. And honestly? After you start using it, you instantly understand why it became a standard. <h3>Containerizing an Application Changes Your Mindset</h3> The interesting part of Docker is not just creating containers. It is understanding how it changes your approach to development. Over the last few months, I started working with: <ul> <li>multi-stage Dockerfiles</li> <li>docker-compose</li> <li>inter-container networking</li> <li>volume persistence</li> <li>containerizing databases and backend services</li> </ul> and this made me realize how important it is to design truly isolated and portable applications. One of the most useful aspects is the ability to replicate complete environments in just a few seconds: <ul> <li>backend</li> <li>database</li> <li>reverse proxy</li> <li>secondary services</li> </ul> drastically reducing the classic configuration issues between development, staging, and production. Docker is not simply a DevOps tool. It is a different way of thinking about the software lifecycle. <h2>Kubernetes: Complex, yet Fascinating</h2> Kubernetes is probably one of the most complex technologies I have started tackling in recent years. And it is also the one that made me realize how much the modern development world is shifting toward: <ul> <li>scalability</li> <li>automation</li> <li>orchestration</li> <li>resilience</li> </ul> At first, it feels massive. Pods, deployments, services, ingress, clusters... everything seems overwhelming. But then you start to see the bigger picture. And you realize that Kubernetes is not "just DevOps": it is a new way of thinking about software in production. <h2>The Hardest Part? Becoming a Beginner Again</h2> After so many years of experience, the biggest challenge is not learning the syntax. It is accepting being back in a phase where: <ul> <li>you don't know everything</li> <li>you have to make mistakes</li> <li>you have to experiment</li> <li>you have to start asking questions again</li> </ul> But it is also the healthiest part of this job. Because it reminds you that technology constantly evolves... and that stopping to learn is the fastest way to fall behind. <h2>What I Am Really Trying to Build</h2> I am not trying to "switch stacks" overnight. I am trying to broaden the way I design software. Understanding: <ul> <li>how modern architectures work</li> <li>how services are deployed</li> <li>how applications scale</li> <li>how development and infrastructure communicate</li> </ul> And above all, I want to continue being a developer who is capable of adapting. <h2>Why I Am Sharing This Journey</h2> For two reasons. <strong>The first:</strong> because I think it is important to show the learning process itself, not just the final result. <strong>The second:</strong> because I would love to connect with other developers who are going through similar journeys. Different tips, experiences, and points of view are often the best way to truly grow. <h2>Conclusion</h2> After many years in web development, stepping out of your comfort zone is not easy. But it is probably one of the best things a developer can do. And honestly? I am glad I started this journey.

Portfolio

A snapshot of products and case studies

From booking platforms to custom plugins for multinational companies, these case studies show how I approach business challenges with code.

cec-milano

C&C Milano

Supporting the development of C&C Milano's international textile portal by optimising catalogue performance and editorial workflows.

View the project arrow_outward
jobtalent

JobTalent

Job portal delivered for ConfArtigianato Lombardia with end-to-end candidate workflow and content management for partner companies.

View the project arrow_outward
spazi-espositivi

Spazi Espositivi

Booking system for temporary stands inside Carrefour malls, complete with slot management, availability and request automation.

View the project arrow_outward
ascomfidi-varese

Ascomfidi Varese

Custom WordPress plugin powering financial calculators, document uploads and back-office repository for the Ascomfidi network.

View the project arrow_outward
re-italo

Re Italo

Hybrid e-commerce platform with a dedicated back office to manage catalogues, variants and editorial content in real time.

View the project arrow_outward
Testimonials

What clients and partners say

Real-world experiences from agencies, startups and companies that relied on my support to ship complex digital products.

ComeStudio

I have known Matteo for a few months and we have already collaborated on several projects. I will definitely keep relying on him thanks to the professionalism he has demonstrated. Clear communication, availability and proactive suggestions make him a reliable partner that I gladly recommend to other agencies.

PlayCode Studio

Matteo is a skilled and helpful developer, a serious professional with whom it is always a pleasure to work.

Coffeemesh

It was a pleasure working with Matteo. Coffeemesh is a complex platform and he proved to be up to the challenge, providing ideas and advice to improve the product. His curiosity and willingness to learn make him a valuable addition to any project.

Coach&Play S.R.L.

Matteo handled the entire development of our company website. Both on a personal and professional level I was extremely satisfied: collaborative, open to every request and quick to solve issues in real time.

bikersroads.com

Matteo is precise, serious and prepared. Working together from the early stages allowed us to balance specifications, budget and timing. He was always available and met every deadline.
Author: Michele

TRB Rec

Matteo supported TRB Rec with automations for the music industry. He is reliable, professional and able to anticipate market needs when delivering technical solutions.

Cloud Care Srl

Matteo is extremely detail-oriented and achieved great results while working with us. His expertise in MVC, PHP, chats, websockets and AJAX makes him a very solid developer.

creatoridimmagine

I involved Matteo in an e-commerce project. He was efficient and punctual, taking ownership of every activity and suggesting improvements whenever possible. A professional I will gladly collaborate with again.
Contact

Let's talk about your next project

Share context, goals and timelines: you'll get a reply within 48 hours with clarifying questions and a tailored proposal. We can jump on a call or start via email.

Name