Professional experiences

Current experiences

Software Engineering Management and Process Improvement Specialist since August 2022

Tools: PowerBI, Lucidcharts, Confluence, Jira, Google Docs/Sheets, Statistics/Data Analysis.

Past experiences

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

Hired and led a team of seven engineers to develop the integration between the 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).

Improved the hiring process, accelerating recruitment time by 75% (the changes became the standard process in all countries).

Developed measurements and management dashboards in Excel from Jira data (rolled out to other teams).

Set up the team's internal development process and defined the team’s QA strategy, which became the foundation for the organizational QA strategy.

Lead the definition of code review guidelines and logging usage standards, among other accomplishments.

Technologies: REST APIs, Java, Microservices, mobile-first web development, React.js, JavaScript/TypeScript, Node.js, Google Cloud, AWS, Docker.

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

Designed the high-level microservices architecture.

Implemented, 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.

Promoted the definition of a development process as a tool to standardize the development practices and make the performance outcomes more predictable, plus significant contributions to development practices, defect prioritization techniques, and technical debt management. 

Technologies: REST APIs, Java, Microservices, web development, React.js, JavaScript/TypeScript, Node.js, Google Cloud.

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

Developed a successful 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 and development teams, communicated and negotiated impact on other teams’ scope, among other things.

Technologies: REST APIs, Java, Microservices, web development, Docker, Kubernetes.

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. Also responsible for team building activities, skill building, and managing the team members, helping them achieve their professional goals.

Designed complex financial calculation methods.

Applied historical data with statistics to better estimate initiative efforts and introduced practices to ensure software quality, with active participation in the software engineering practices committee.

Established test and risk management plans, provided training in testing techniques, established templates to document business requirements, reduced test automation gaps, and conducted successful PoCs.

Participated in recruiting new employees, defined strategies to save on cloud costs, and identified network vulnerabilities.

Provided support for higher management to define the corporate mission, vision, target market, and strategies to align the product roadmap and the software development process, among other contributions.

Technologies: REST APIs, Java, Vue.js, Microservices, web development, JavaScript/TypeScript, Node.js, AWS.

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.

Technologies: REST APIs, Java, Microservices, web development, React.js, JavaScript/TypeScript, Node.js.

Software Engineer (Director of Software Engineering) at Petrobras from August 2012 to December 2016

Worked 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 for the software development department (about 800 people).

Managed four development teams and a business analysis/QA unit (around 25 people), improving their performance and monitoring to ensure the corporate goals were met.

Responsible for shifting to Scrum, introducing agile practices and quality assurance tasks, resulting in an aggressive reduction of effort spent fixing defects (reduction of 14% of men-month hours spent fixing defects in 9 months, making room for quality assurance activities and improved productivity).

Other goals achieved include a 100% user acceptance rate and less than 10% effort/cost/schedule estimation variation, facilitating release planning with high estimation predictability.

Monitored the progress of each team member by reviewing their work products, from requirements to code. Also developed software when needed.

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/).

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).