Lead Software Engineer - Java/Kotlin
-
ABN AmroApr 2021 - Dec 2021
Document & Data Processing team tech lead, we are responsible for the creation and maintenance of the documents classification and data extraction pipeline inside the bank.
- Leading the redesign of a bloated monolith to a new event-based microservices architecture on cloud.
- Enforced the use of TDD and Mutation Testing to improve the code quality, my team now have a 95% test coverage with more than 85% of mutation coverage!
- Sharing the culture of “doing it together”, spreading the word of pair programming and knowledge sharing sessions, this allowed the team to feel safe in sharing knowledge and trying new approaches, which led to a considerable increase in the team confidence.
- Compared to our older bloated service, the new architecture reduced the complexity considerably, it’s so extensible that we were able to add new input flows in a couple of days!
- As a Kotlin enthusiast, i brought the Kotlin usage to backend services, creating an internal community for Kotlin developers, which in just one month became one of the largest developer community inside the bank.
- Developing services with Kotlin + Quarkus, i’ve also created some quarkus extensions to make lots of the basic configurations inside of the bank working out-of-the-box.
- Shared the knowledge about DDD, Event-Sourcing, Hexagonal Architecture, Mutation Testing, Functional Programming and a lot more!
Senior Software Engineer - Java/Kotlin
-
BolDec 2019 - Apr 2021
Software engineer at the Team 8C of the Retailer Offer fleet.
- Was Responsible for the maintenance of the system which is responsible for store, analyse and retransmit the offers created by all retailers that are partners of bol.com. These services have a normal load of 3 thousand requests per second (and it’s increasing!), reaching up to 6-9 thousand requests at Black Friday!
- Worked in a migration from a legacy monolith to a micro-services architecture, while keeping everything working as expected! Quite a challenge.
- I was also responsible for the creation of several python scripts to help developers and business analysts to test and run analysis on the system offers.
- Bought the usage of Kotlin to the team, tought the usage of coroutines that improved our performance two-fold.
Senior Software Engineer - Groovy
-
ZG SoluçõesApr 2019 - Nov 2019
Software Engineering and New Products team, developing strategic products as a FullStack Developer.
- Developed micro-services written in Groovy with Grails
- Improved a domain specific language
- Creation and maintenance of Domain Specific Languages
- Front-end development using Angular 8
- Experience with ElasticSearch and Metabase
- Experience with PostgreSQL and SQL Performance Tuning
- Experience with refactoring and performance optimization
Full Stack Software Engineer
-
TOTVSApr 2016 - Apr 2019
Framework and Software Engineering Team
- One of the lead architects responsible to oversee the migration of the company ERP from a Delphi monolith to a cloud capable microservice
architecture.
- Responsible for enforcing good development practices for the JAVA codebase.
- Internal training of new developers.
- Writing agile documentation, experience as a SCRUM Master and with Design Thinking.
- Software development using Java and several technologies, such as: Spring Framework, OSGi, Apache Karaf, Apache Camel, Apache
Aries, Apache Felix, Apache Shiro, Apache Maven, Messaging (JMS) and JasperReports.
- Front-End development using JavaScript, GWT, GWTP, HTML5/CSS3 and Angular.
- Experience with design patterns and code quality, test driven development, enterprise integration patterns (EIP) and algorithm’s complexity analysis.
- Building pipelines for continuous delivery and analysis using Jenkins, Sonar, PMD and CheckStyle.
- Experience with ElasticSearch and Kafka.
Medior Software Engineer
-
CerradoWebSep 2014 - Mar 2016
- Development of Websites/HotSites using HTML5, JS and CSS3.
- Development of an ERP software using technologies like: Spring, JSF, Hibernate, JavaScript, JasperReports.
- Responsible to bring good practices to the company, such as: Unit and integration tests, use of SCM software and agile development
Junior Developer
-
TJGOJun 2012 - May 2014
- Development of an internal software to control the stock of office products. The software was developed using PHP, MySQL, JavaScript
and HTML5/CSS3
- Maintenance of Linux servers
- Tech support