Currently i've more than 18 years of experience as a software engineer, I've always dedicated myself to keeping up with everything related to the internet and technologies. I'm a true believer that the future is on the Web. I think technology is my biggest passion, when you love what you do in that way, it just stops being a job.
I've always considered myself a Tech-Lover and especially of the newest technologies. I'm in favor of the fact that in this world we cannot be left behind, so we must always be innovating and evolving.
My goal is and will always be my professional and personal growth, adding value and knowledge both forme and for those around me.
I also consider myself a collaborative person, willing to help as well as to learn at the time something that is important for it to exist in any work environment. That is why I would like to eventually lead teams in which together as a team we can grow professionally and work towards building quality software.
Over time, I've come to realize the importance of software architectures, the principles of object-oriented programming, and design patterns. that is why I've dedicated time to learning about it
and overall, applying this knowledge in each project i've leaded / worked on.
I have spent a lot of time on architectures such as Domain-Driven Design and Hexagonal Architecture, which provide a scheme that allows us to decouple from any technology and to easily scale easily over time.
Also, I sticked to the SOLID principles since it is a fundamental pillar for development under domain driven design. I have concentrated on implementing design patterns such as CQRS which has allowed me to combine it with messaging and queuing systems to allow the
execution of asynchronous processes.
Finally, I just want to let you know some abilities i've been acquiring over the time:
• Implement Software Architectures in projects.
• Choose the right technology to apply based on business
requirements.
• Define functional requirements based on business needs.
• Plan development activities and tasks.
• Lead and coordinate work teams.
• Focus and motivate teams.