Professional experiences

Current experiences

Independent Software Engineering Process Improvement Consultant since August 2022

Providing leadership and directions to the engineering team and guidance Software Engineering measurement and analysis needs allying with statistical techniques to support software development at different management levels.

Worked closely with managers and directors to perform root cause analysis of development issues around developers' onboarding and QA management.

Identified and piloted modified traceability matrixes to improve knowledge management, story estimation, and maintainability.

Developed a QA Strategy, Test Plan template, and evidence-based Code Review Guidelines for developers and QA engineers. Also supported the definition of improvement goals for QA, with an associated measurement plan (using the GQM approach) and a BI dashboard to report the measures.

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

Software Engineering Manager at Rush Street Interactive from September 2021 to November 2022

Hired and led a team of seven engineers working on developing the integration between our game platform and multiple marketing platforms and tools. In the first 2 weeks, the team started delivering changes in production, which wasn’t happening for 4 months (until I joined). In the following 2 months. I promoted improvements to our hiring process that allowed us to accelerate our talent acquisition 4 times (and it became the standard process in all countries), developed measurements and management dashboards in Excel from Jira data (rolled out to other teams), set up our team's internal development process, defined the team’s QA strategy which is becoming the foundation for the organizational QA strategy, lead the definition of our code review guidelines, establish logging usage standards, among other accomplishments.

Software Engineering Manager at Agreement Express from December 2020 to August 2021

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 trying 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, the development process was defined 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 to development practices, defect prioritization techniques, and technical debt management.

Team Leader (Software Engineering Manager) at Jonah Group from March 2020 to November 2020

Developed a business case for a technology update, which was decisive in justifying a project to remove the legacy technologies that started in October 2020. Defined quality strategy (testing plan template, testing strategy, reviews standards, etc.) suitable to the product, guided the definition of non-functional requirements based on the Product Owner's expectations, streamlined the communication between the support team and the development team, communicated and negotiated impact on other teams’ scope, among other things.

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

Team Leader (Software Engineering Manager) 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, and legacy migration. I'm also responsible for team-building activities, skill-building, and managing the team members, helping them achieve their professional goals.

Some of the achievements were the definition of complex financial calculation methods, usage of historical data with statistics to better estimate initiatives efforts, introduction of practices to ensure software quality, active participation in the 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 (contract while waiting for my relocation to Canada)

Acted as an independent consultant in Software Architect and Technical Leader roles. 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 of new approaches that could help boost the company's results.

Director of Software Engineering 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, I 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 shifting to Scrum, introducing agile practices and quality assurance tasks, resulting in an aggressive reduction of effort spent 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, and 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 the Computer Science Department of the Federal University of Rio de Janeiro from July 2009 to August 2010

Requirements analyst and system architect at the 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 project aimed 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 with 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 for 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 in 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/).