Software Engineering Manager at Rush Street Interactive since September 2021
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 Advisor at iftrue.co since August 2022
Providing guidance on Software Engineering measurement and analysis needs allying with statistical techniques to support software development and different management levels in software organizations.
This position is part-time, performed on my personal time. It’s an advisory board position with compensation in advisory shares.
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).
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, 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 to development practices, defect prioritization techniques, and technical debt management.
Team 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, fix defects, and address 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.
Team 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.
Senior Software Engineering Manager 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/).