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 forXXXLutz and their secondary brands,Mömax,Möbelix, andLesnina.
Worked within the client's facilities, leading an agile team that ranged from 4 to 9 other developers and analysts.
Due to their nature, most of the projects I've worked on are not publicly accessible. The smaller pet projects can be found over myGitHub 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.
Technologies: Java, JUnit, JavaScript, JSP, Servlets, EJB3, SQL (Informix & Oracle), Scrum, JBoss, JMS, Web services, SVN, CVS, Maven, Redmine and Jira.
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:
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 theATF 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.
Technologies: Java, JUnit, JMS, SonarQube, JavaScript, JSP, Servlets, EJB3, SQL (Informix), JBoss.
A set of functionalities that, together withCobranç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:
Technologies: Java, JMS, JavaScript, JSP, Servlets, EJB3, SQL (Informix), JBoss.
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 onlineATF 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 ofCobranç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.