About Me
I don’t quite remember when it all began, but for as long as I can remember I’ve been surrounded by technology. I believe it was sometime in my childhood — maybe when I was 5 or 6 years old — that I spent hours staring at the ZX Spectrum screen, typing the legendary LOAD "" command to bring games to life. That simple experience sparked a curiosity in me that never faded: understanding how a few lines of code could transform into something alive.
Not long after, I was already exploring my father’s 386 laptop, where I learned to launch games in DOS and ventured into discovering what lay behind those commands. It was around the age of 11 or 12 that I started programming in a more serious way — back then, learning demanded a lot of curiosity and patience. I always knew that technology — and software development in particular — was where I wanted to be.
It was also around this time that the internet started to enter my life. Suddenly, the world was no longer just the books and magazines I devoured — it was a click away. Forums, online communities, and the wisdom shared by more experienced programmers opened doors for me to learn faster and exchange knowledge with people on the other side of the world. That spirit of community and sharing has stayed with me ever since.
Today, I’m a software architect with over 20 years of experience, dedicated to designing and implementing well-structured, scalable, and sustainable systems. I learned early on that writing code isn’t just about making something “work”: it’s about building solutions that stand the test of time and evolve alongside the business. For me, software architecture is not just a diagram or a buzzword — it’s the solid foundation that allows products and teams to grow with consistency.
My way of thinking has been deeply influenced by authors like Robert C. Martin, Martin Fowler, and Eric Evans, who taught me that frameworks come and go, but principles remain. That vision has shaped my career: more important than mastering the “trendy technology” is knowing how to apply timeless fundamentals that make software truly robust.
I’m the founder of a software development company, where I lead projects, support clients in defining efficient architectures, and help teams scale products without compromising quality. I also work as an external consultant and trainer, sharing knowledge and helping professionals grow with confidence and autonomy. My focus is on raising the technical maturity of people and teams, because I believe that’s the key to building software with purpose and impact.
Throughout my career, I’ve worked with companies of all sizes — from fast-paced startups to large organizations — in very different contexts. That diversity taught me how to adapt principles to different realities, without ever giving up on quality. In recent years, I’ve specialized in Domain-Driven Design, Clean Architecture, and Hexagonal Architecture, because I believe these are the foundations that keep systems flexible, clear, and ready for the future.
More recently, I’ve been diving into the impact of Artificial Intelligence on software development. I use these tools to streamline processes, improve quality, and free teams to focus on what truly creates value. I also mentor professionals and companies on how to adopt AI in a practical, ethical, and strategic way. For me, AI does not replace fundamentals: it’s just a new layer of tools, to be used wisely, critically, and always grounded in good practices.
But I believe knowledge only has real value when it’s shared. That’s why, beyond code, I dedicate time to writing articles, teaching, and giving technical talks. I love the energy of sharing: teaching forces me to better organize my ideas and allows me to learn just as much as those listening to me. It’s in this space of exchange that I see teams and individuals truly grow.
Outside of work, I’ve practiced judo for over 30 years, I’m a black belt, and I consider this discipline an essential part of my life. Judo has taught me structure, respect, and intention — principles I apply daily in software development. I’m also an unapologetic geek, passionate about technology, video games, and everything that challenges me to keep learning.
At the core, what I believe in can be summed up in a few simple ideas:
- Clean code is not optional.
- Frameworks come and go, but principles remain.
- “It works on my machine” is not QA.
- Code should be boring — features should be exciting.
- Side projects are what make us grow.
- And documentation isn’t an afterthought — it’s a gift to your future self.
And that’s what drives me to this day: the same childhood curiosity that began with the ZX Spectrum still follows me in every project, every team, and every line of code. I believe the best part of our field is that we never stop learning. That desire to explore, create, and share is what inspires me every day to help others grow and to build software that truly makes a difference.