Professional experiences

Current experiences

Software Engineering Manager at Agreement Express since December 2020

My primary assignment was to implement, through the application of Software Engineering practices, the mechanisms to quantitatively manage the quality of releases/deliverables so that it could become a manageable performance indicator and apply techniques of defect avoidance (avoid introducing defects as opposed to try to identify them later), which was carried through with the implementation of measurable quality indicators, non-functional requirements definition and defect origin analysis.

By introducing learning sessions I was able to get engineers involved in improving application security. I have also analyzed the client onboarding process, providing directions on how to shorten its duration, reduce variation, and improve its quality results. I have provided developers with coding guidelines, improved their practices through code reviews, and coached engineers in their professional careers.

In the medium to long term, there was the definition of the development process as a tool to standardize the development practices and make the performance outcomes more predictable. The defined process then becomes the tool through which the organization will introduce changes and innovations in alignment with the corporate objectives to achieve the defined organizational goals. I have introduced all these concepts and initiated the implementation of all these initiatives plus significant contributions in development practices, defect prioritization techniques, and technical debt management.

Other affiliations

Software process improvement consultant and appraiser at Implementum Information Technology Consulting since November 2013

Consultant helping Brazilian Software Organizations to improve their engineering processes to achieve better organizational performance.

Software process improvement consultant for the MPS.BR process improvement model (an equivalent to CMMI) at Implementum (Implementum: http://www.softex.br/wp-content/uploads/2013/07/IMPLEMENTUM-Publicacao_Portal_SOFTEX_21_11_2013-a-21_11_2015_17nov14.pdf).

Software process improvement appraiser for the MPS.BR process improvement model (an equivalent to CMMI) at Implementum (Implementum: http://www.softex.br/wp-content/uploads/2013/07/IMPLEMENTUM_IA_Publicacao_Portal_SOFTEX_29_01_2015-a-29_01_2018_v14jan2015.pdf).

Past experiences

Technical Leader at Jonah Group from March 2020 to November 2020

The team is composed of 7 people (including myself, developers, and QA) and I was responsible for technical decisions, design decisions, code reviews, technical assessments and estimations, prioritization of technical issues, technical debt management, and legacy migration.

This position also requires me to actively develop new features, solutions, fixing defects, and addressing customer needs working closely with Product Owners, Business Analysts, and QA analysts for that purpose.

I have defined a quality strategy plan (testing strategy, reviews, etc.) suitable for the product, non-functional requirements based on the Product Owner expectations, developed a business case for a technology update project to remove the legacy technologies in place, streamlined the communication between the support team and the development team, communicated and negotiated impact on other teams’ scope, defined audit instrumentation for root cause investigation in the product to speed up the solution of problems, among other things.

Technologies used are Java EE, Spring, Weblogic, among other technologies.

Technical Leader at Univeris Corporation from January 2018 to March 2020

Responsible for technical decisions and design, code reviews, technical assessments and estimations, prioritization of technical issues, technical debt management, legacy migration. I'm also responsible for team-building activities, skill-building, and managing the team members helping them achieve their professional goals.

This position also requires me to actively develop new features, solutions, fixing defects, and addressing customer needs working closely with Product Owners, Business Analysts, and QA analysts for that purpose.

Some of the achievements were the definition of complex financial calculation methods, usage of historical data with statistics to better estimate initiatives efforts, introduced practices to ensure software quality, active participation in software engineering practices committee, participation in the recruitment of new employees, definition of test plans and risk management plans, provided training in testing techniques, established templates to document business requirements, reduced test automation gaps, defined strategies to save on cloud costs, conducted successful PoCs, identified network vulnerabilities and provided support for higher management to define the corporate mission, vision, target market and strategies to align with the product roadmap and the software development process, among other contributions.

Some of the technologies I use are Java EE, Java 8 (including lambda and streams), Spring, JBoss EAP 6.4, and MS SQL Server.

Software Architect and Technical Leader at O2 Fund from April to August 2017

Acted as an independent consultant in the roles of Software Architect and Technical Leader. Designed the whole system architecture for high scalability in a cloud-based environment using REST-based on Java/Spring backend and an OLAP component for data analysis planned together for easy integration and simplified ETL process (O2 Fund: http://o2fund.com/). This was a startup with a very fast-paced environment using all the latest technologies where I was involved in designing new features and thinking on new approaches that could help boost the company results.

Software Engineer at Petrobras from August 2012 to December 2016

From January 2015 to December 2016 I worked at the Software Engineering Processes and Methodologies department of Petrobras (Petróleo Brasileiro S.A.: http://www.petrobras.com.br/) with statistical analysis on software engineering process performance to understand and explain projects’ performance, identify performance issues and propose solutions to improve productivity and schedule predictability.

From January 2013 to December 2014 worked with Software Process Improvement and other initiatives at the Lotus Notes development department to keep 4 to 6 development teams' (around 20 people) performance aligned with corporate performance indicators and objectives by improving our development process. I was responsible for making the shift to Scrum, introducing agile practices and quality assurance tasks resulting in an aggressive reduction of effort spent in fixing defects (around 0.3% of men-month hours were spent fixing defects in December 2013 against 14.5% in March). Other goals achieved in the period include 100% of the software being accepted by clients at the first demonstration and effort/cost/schedule estimations accuracy varying in less than 10%, facilitating release planning with high estimation predictability.

System Architect at Portal Kaino from August 2013 to October 2016

Responsible for defining the architecture and development/test/production environments, selecting and integrating components and frameworks besides developing some of Kaino Portal's backend. Kaino Portal is a software engineering process innovation portal developed with the Java EE 7 stack (CDI, EJB 3.1, JSF and Servlets) using JBoss 7.1.1, PrimeFaces 4.0, JPA, Apache Shiro, OmniFaces, and PostgreSQL as SGBD. It was launched in April 2014 (Kaino: http://kaino.se-er.com/).

Software Process Improvement consultant at COPPE/UFRJ from June 2006 to November 2013

Software process improvement (SPI) consultant for the MPS.BR process improvement model (a Brazilian equivalent to CMMI) at COPPE/UFRJ (COPPE/UFRJ: http://www.coppe.ufrj.br/).

Scrum Fundamentals exam Leader at Knowledge Black Belt from January 2011 to January 2013

Proposed, elaborated, and coordinated the efforts for a Scrum Fundamentals Exam, becoming the exam leader during the time it was available (Scrum Fundamentals Exam: http://www.blackbeltfactory.com/QuestionnaireDefDisplay.wwa?questPublicId=1699) at KnowledgeBlackBelt (KnowledgeBlackBelt: http://www.knowledgeblackbelt.com/). This online certification platform was retired in January 2013.

System Architect at Stefanini from May to July 2012

Worked with design and evaluation of Java systems' architectures and artifacts, building and running proofs of concepts, development team technical leading, active participation in the software architecture organization committee for the Caixa Econômica Federal (Brazilian’s Federal Bank) besides support and guidance on organizational software development process definition and improvement (SPI) based on MPS.BR and CMMI models and Scrum practices at Stefanini (Stefanini: http://stefanini.com/en/).

Java developer at Nabble from April to December 2011

Java developer fixing bugs, providing user support, optimizing advertisement/revenue, and other minor programming projects as an independent consultant for Nabble (Nabble: http://www.nabble.com/).

Technical leader at WorkingMinds from August to November 2010

Technical leader, project leader, and Java developer at WorkingMinds (WorkingMinds: http://www.workingminds.com.br/).

Requirements analyst and system architect at Computer Science Department of Federal University of Rio de Janeiro from July 2009 to August 2010

Requirements analyst and system architect at Computer Science Department at Federal University of Rio de Janeiro (DCC/UFRJ: http://www.dcc.ufrj.br/) on a joint project with Rio de Janeiro State’s Military Police (PMERJ: http://www.policiamilitar.rj.gov.br/) and Rio de Janeiro State’s Research Support Foundation (FAPERJ: http://www.faperj.br/) to build a Java software for weaponry allocation and management control for PMERJ. The software features biometric identification of military personnel as well as a visual identification of the weapons using neural networks.

Requirements analyst and system architect on SMER Project, supported by Rio de Janeiro State’s Research Support Foundation (FAPERJ: http://www.faperj.br/). The goal of the project was to develop a Java prototype capable of identifying geographic positions of individuals carrying encoded radio transmitters featuring voice recognition besides monitoring troops’ positions by GPS aiming to facilitate missions in urban areas.

Defined a software process based on Scrum and compliant to MPS.BR’s level G, to be used by the SMER’s team as part of a Software Process Improvement (SPI) initiative. Level G is equivalent to Project Monitoring and Control (PMC), Project Planning (PP), and Requirements Management (REQM) CMMI processes.

Software Process Improvement consultant to Geo System from 2008 to 2009

Consulting for implementing software process improvements (SPI) toward MPS level G (appraised on September 16th, 09) at Geo System Informática (Geo System: http://www.geosystem.com.br/) while working for COPPE/UFRJ (COPPE/UFRJ: http://www.coppe.ufrj.br/). Level G is equivalent to Project Monitoring and Control (PMC), Project Planning (PP), and Requirements Management (REQM) CMMI processes.

Requirements analyst and Java developer at Provayo from January 2009 to June 2009

Built a professional social network in Java EE 5, Spring, Apache Wicket, Maven, and MySQL. Provayo was an NYC-based startup and I worked as an independent consultant.

Also developed a software development process to be used to develop new features at the application as part of a Software Process Improvement (SPI) initiative based on MPS.BR and CMMI.

Requirements analyst and Java developer at COPPE/UFRJ’s Software Engineering Laboratory from December 2005 to January 2009

Requirements analyst and Java developer at Taba Web at COPPE’s Software Engineering Laboratory (LENS: http://lens.cos.ufrj.br/) using Java EE 5 running on a level E MPS process (equivalent to CMMI level 2 plus Integrated Project Management (IPM), Organizational Process Definition (OPD), Organizational Training (OT) among other processes).

The Estação TABA is a software development environment that supports the execution of activities to be accomplished in a software process by a set of integrated tools and a repository with information collected during the project's process execution (TABA: http://lens.cos.ufrj.br/taba).

The system was developed in Java on JBoss 4.2.2 and 5.0 using JSF (with RichFaces and Facelets), Log4J, EJB 3.0 and JPA, JSFUnit, JUnit, and JUnitB3 for automated testing, having Oracle as target DBMS, but keeping portability to other DBMS.

Software Process Improvement consultant to Vertigo Computação from July 2006 to September 2007

Consulting for implementing software process improvements (SPI) toward MPS level G (appraised at September 2007) at Vertigo Computação (Vertigo Computação: http://www.vertigo.com.br/) while working for COPPE/UFRJ (COPPE/UFRJ: http://www.coppe.ufrj.br/). Level G is equivalent to Project Monitoring and Control (PMC), Project Planning (PP), and Requirements Management (REQM) CMMI processes.

Applied Mathematics Laboratory (LabMA) of UFRJ’s Mathematics Institute from October to November 2005

Java developer of applets (in Java SE 1.4) for an educational project addressed to high school for the Rio de Janeiro state's Educational Secretary at Applied Mathematics Laboratory (LabMA: http://www.labma.ufrj.br/) at Mathematics Institute/UFRJ (IM: http://www.im.ufrj.br/).

System analysis, architecture, and project management consultant to UFRJ's Informatics Student Union from July to October 2005

Consulting on requirements analysis, architecture and project management to UFRJ's Informatics Student Union (CAInfo UFRJ: http://cainfo.dcc.ufrj.br/) on the development of a Site and a System, both in Java EE, to manage jobs exam competitions for Fundação José Pelúcio Ferreira, UFRJ supporting foundation, based on Tomcat and MS SQL Server.

Java developer at COPPE/UFRJ’s Database Laboratory from January to September 2005

Java developer on the Downstream Competence Management System to manage training, certification, and professional capability of Petrobras (Petrobras: http://www.petrobras.com.br) employees, with Java EE (1.4) technology (EJB 2.1, Struts, JSP and Servlets) and Oracle at Database Laboratory at COPPE/UFRJ.

Requirements analyst and system architect, project manager, and technical leader at Computer Science Department – UFRJ from March 2004 to January 2006

March 2004 to October 2005 - Requirements analysis, architecture, and project definition of an integrated development and research environment of logic and artificial intelligence to the Computer Science Department at UFRJ (DCC: http://www.dcc.ufrj.br/) in Java/J2SE, using UML, MVC2 architecture, automated tests, and design patterns.

March to April 2004 – Lecturing a course to the development team on UML and Java SE. Still on system analysis and modeling.

March to April 2004 – Project's site development in PHP (JPE: http://jpe.dcc.ufrj.br/).

April 2004 to October 2005 – Project management using incremental development model, adopting extreme programming (XP) practices. Project documentation was based on RUP's artifacts.

Requirements analyst and Java developer at COPPE/PESC from January to September 2004

Full-stack software engineer (from requirements level to production) of a selection process management system for M.Sc. and D.Sc. courses at COPPE/UFRJ (PESC: http://www.cos.ufrj.br/) with Java/J2EE initially in Tomcat and JBoss afterward with MySQL database.

Java Developer at UFRJ’s Mathematical and Natural Sciences Center in 2003

Development of a flexible library of mathematical Java applets for educational purposes for the UFRJ’s Mathematical and Natural Sciences Center (CCMN: http://www.ccmn.ufrj.br/).

Project Manager, developer, and Requirements analyst at Micro informatics Consultancy Junior Enterprise from February to December 2002

Project manager, developer, requirements analyst, consultant, and marketing and public relationship director at Micro informatics Consultancy Junior Enterprise (EjCM: http://www.ejcm.com.br/).