Over 8 years of software development experience, focusing on Java, working on back end and web system development/maintenance.
I have been a lead developer/team leader in projects of critical importance and priority to the state of Paraíba - Brazil. Currently living and working in Vienna, Austria, learning and growing personally and professionally, while supporting an e-commerce brand with online stores in multiple countries.---
"Whether or not you can never become great at something, you can always become better at it" -Neil deGrasse Tyson
Moved to Austria to join NETCONOMY, with the primary goal of maintaining the online stores for XXXLutz and their secondary brands, Mömax, Möbelix, and Lesnina.
- Improve and add new features to the online stores of XXXLutz;
- Maintain the system with care for all different subsidiary stores in around 11 countries, including: Austria, Germany, Sweden, and Switzerland;
- Learn about and support the improvement/automation of the build pipeline and deployment process;
- Technologies: Java, Docker, Kubernetes, Kyma, Groovy, Gradle, Jenkins, SonarQube, SAP Hybris, Spring, JUnit, Jira, Git, Scrum
Worked within the client's facilities, leading an agile team that ranged from 4 to 9 other developers and analysts.
- Continuous development and evolution of the web system (ATF) used by the state of Paraíba for tax and financial administration;
- Created a web service to allow taxpayers to declare and pay taxes online, eliminating previous off-line service, considerably quickening the release of goods at fiscal outposts;
- Lead and managed the development of the background service responsible for automatically charging taxpayers for their invoices;
- The service replaced the previous desktop application that used multiple servers instances, eliminated the costs for those servers and databases maintenance, increased speed and accuracy on tax charges, and reduced the number of administrative processes against the state caused by manual tax miscalculations;
- Managed stakeholders expectations, discussed requirements, negotiated schedules, defined priorities, created productivity reports, and acted as a support for the company’s project manager;
- Technologies: Java, JBoss, JSP, EJB3, JUnit, Scrum, SQL (Informix & Oracle), SonarQube, SVN, Web services, Redmine, Jira
- Evolution of modules on the ATF web system, including: tax levy, legislation, protocol;
- Technologies: Java, JBoss, JSP, EJB3, JUnit, SQL (Informix), CVS, SVN
- Developed tests for the applications that were used to process large amounts of data about the workers and work information in Brazil;
- Those applications were responsible for the information related to labor ties and other social programs. They served as a basis for studies, researches and programs linked to the labor market, while also subsidizing decision making for governmental actions on a national level;
- Technologies: Java, JUnit, JSP, JSF, SQL (Oracle), EclEmma Coverage and CVS.
Due to their nature, most of the projects I've worked on are not publicly accessible. The smaller pet projects can be found over my GitHub account.
The user base included thousands of companies and their accountants and partners. Since we worked within the government's facilities, I was directly connected to the product owners responsible for the management of their modules and definitions of business rules.
The system primarily uses Informix database for all its data, but recently started using Oracle for some specific cases (like electronic invoices and other documents and declarations). Since the state has to keep record of all the goods coming into it (for tax calculation purposes), the quantity of information is huge, and I dealt with table rows numbering up to over a billion.
During my work as a developer, I created and tested services for several modules of the application. After I was promoted to Systems Analyst, I helped with the implementation of the software development process chosen by the client, setting up the quality of the documentation to be used, reporting what affected daily work and suggesting changes.
By demonstrating quick growth and personal development, I was given the Team Leader position and aggregated lots of responsibilities, such as dealing with expectations, risks, requirements, schedules, priorities and different kinds of reports for the project manager.
When the client accepted to change the development process to Scrum, I also studied and became a Professional Scrum Master. Although the pace of change into Scrum was really slow, I always pushed for what was feasible for the team to achieve.
This is the project I am most proud of, as it is the most impactful and complex of them. Technically, it required parallel processing (controlled via JMS), complex business logics evaluations, and high availability and performance. Personally, it took my commitment and responsibility to the next level. It was an amazing experience and opportunity. I am happy to have been a part of it and proving myself with its success.
The project is of extreme importance to the state. It replaced the previous charging system, ATFD, and was given high priority by the Secretary, mainly because its goals included:
- increase the tax collection;
- lower the amount of errors caused by the manual inputs during tax calculations, and the consequent number of administrative processes against the Secretary caused by them;
- release many of the tax auditors from this manual activity, allowing them to exercise other inspection duties;
- eliminate multiple non-transactional databases and application servers;
- remove the necessity and complexity of the data migration from these local databases to the central;
- decrease costs with configuration and maintenance of all these servers;
- increase accuracy and speed on the tax charging;
- provide many different reports about the charged taxes;
Joining at the beginning, I participated in all stages of its development: requirements, impact analysis, construction, testing, documentation and deployment. I was one of the very few people who had deep knowledge and understanding of how everything worked, and was requested multiple times to create and give presentations to help distribute information about its details.
Even though I was focused on the back end service, I also mentored other five developers working on the front end functionalities that would be responsible for the parameterization. That was my first contact with team leadership, and although the whole project was built within difficult and stressful conditions, due to legislation complexity, changes in project management, multiple members resigning at the same time, and timing restraints, through perseverance and hard work we achieved the goal and delivered the first version of the product with quality, and without any major problems during deployment.
This was one of the first projects of the ATF system to have a large number of unit tests. This happened because I personally pushed for the usage of JUnit, and the result was the back end having a broad coverage. I also pushed for the usage of SonarQube for code quality inspection, and even though this was my first contact with the tool, I learned a lot became a fan.
A set of functionalities that, together with Cobrança Automática, allowed better inspection and control over the couriers data, facilitating analysis and tax charging of goods coming into the state through them. As long as the couriers followed a set of rules, they would be allowed some benefits.
With this change, some things could be achieved:
- the state had a better procedure for online analysis and charging of goods brought via couriers;
- the couriers would receive some tax benefits, their trucks could take products into their facilities, not having to stop at fiscal outposts while entering the state;
- the companies or people could have faster delivery, while goods were kept in safer places;
ATFD used local JBoss application servers on several outposts along the geographical border of the state, with local Informix databases that stored information and then migrated it to the central. It also used services of the central application server to calculate the taxes, based on information about the products and economic activity of the taxpayers.
Though the user base included mainly tax auditors who were charging the products on those outposts, the system impact should be considered bigger, as it affected thousands of companies (and, in a way, indirectly affecting their clients).
This project was particularly complicated because of its nature of having multiple non-transactional databases, application servers, and constant data migration, while being a highly critical and important project for the state. It needed attention 24/7, and many outposts had a limited infrastructure that wasn't good enough, so network/power problems that could cause data inconsistency needed to be dealt with on a daily basis.
The interface was written in Swing, but I preferred to work on the back end. I developed functionalities which involved complex business rules to calculate the taxes. For a long time, the project was set to be migrated into the online ATF system. I used my time as the responsible person behind ATFD to learn how it worked and absorb business knowledge that could facilitate this migration. The goal was achieved with the development of Cobrança Automática
GNRE is a web service adopted by most states in the country to facilitate the communication between the states. The central point is the state of Pernambuco, which provides most of the services and unifies the format of the information, allowing each state to apply it´s own business rules over the declarations, but keeping the same general XML format throughout all states.
The user base consists of companies and their partners/accountants, who are allowed or required to use this method of payment for their taxes.
I developed most of the web service in Java, and facilitated communication between both network teams of Paraíba and Pernambuco.
I wrote tests for the applications of CAGED to generate and manipulate data that is used by the Unemployment Insurance Program to check the data related to labor ties, in addition to other social programs. The data also served as a basis for studies, researches and programs linked to the labor market, while also subsidizing decision making for governmental actions on a national level.
JSF and JSP were used, but most of my focus was on writing tests in Java, using JUnit.
Even though I was an intern, I quickly grew within the team, and soon developed a connection of trust and respect with both the project manager and the lead developer, many times being requested to fix wrong data by writing Java programs to execute SQL updates into the Oracle database. This was a huge responsibility considering the importance of the data being manipulated.
Technologies: Java, JUnit, JSP, JSF, SQL (Oracle), EclEmma Coverage and CVS.