Developing software is more than a job for me. It is a passion. A passion that makes me care a lot about what I do and how I do it. I care about software quality. I care about business needs. I care about end users and the development team. Above all, I always strive to be the best professional I can.
Professionalism implies that you are determined to continuously improve your craft. This is what I do, and, in this endeavour, I have discovered that the more I learn, the more there is to learn. But, this is beautiful. When I look at the mirror, I see a lifelong learner. I love to learn. And I also love to teach and to share knowledge with others.
So far, I have focused on mastering TDD, design patterns, SOLID principles, refactoring techniques, clean architecture, domain-driven design, and, in general, any software engineering discipline that helps me write clean code and develop high-quality products in a pragmatic way. I am aware that everything comes with pros and cons, but I try to make up for this by always experimenting with new ways of working. A continuous-improvement mindset is what allows software development teams to be truly agile.
This passion for experimentation and discovery may stem from my past as a researcher. In this academic stage of my career, I obtained a PhD in Computer Science. I also gained skills such as self-direction, public-speaking fluency, ability to simplify complex ideas (and communicate them clearly), and ability to come up with novel solutions to problems.
All of these skills are very valuable in the software industry, which is filled with great challenges to overcome and innovative products to build. This reality of our industry makes me feel really lucky and excited, and also very grateful.