Professional Experience
Leading/managing project teams, responsible for the project outcomes, technical decisions and team performance, I successfully achieved several results:
Defined the company's standard software development process;
Established a measurement program to be used by the teams to monitor their performance;
Led teams to deliver project outcomes within quality and time constraints;
Led multiple software process improvement initiatives, improving various practices the teams perform daily.
Collaborating with the University Information Systems Research Group, we successfully achieved several results:
M. Sc. and D. Sc. new researchers’ formation;
Several publications in recognized journals and conferences.
My responsibilities include: guide new M. Sc. and D. Sc. students, assess research proposals, collaborate with research ideas, co-advise research projects, publish in scientific conferences and journals.
This is part of my personal efforts to keep updated with the state-of-the-art in Software Engineering and is an effective way to bring innovations to the organization where I work.
Past Experiences on the Academy
Collaborating with the University Information Systems Research Group, we successfully achieved several results:
Undergraduate, M. Sc. and D. Sc. new professional formation;
Several publications in recognized journals and conferences.
My responsibilities included: research high maturity project management area (CMMI maturity level 4 process area) and conduct a systematic literature mapping, minister academic graduation courses on Software Processes and Software Metrics, co-advise research projects from undergraduate, M. Sc. and D. Sc. students, guide new M. Sc. and D. Sc. students, review research proposals and partial results, collaborate with research ideas, participate in empirical studies, publish in scientific conferences and journals, review 18 papers for conferences and symposiums on software process improvement area, assist in the organization of one symposium and one workshop held at Rio de Janeiro on software process improvement and attend some others, as a coordination or committee member.
This is part of my personal efforts to keep updated with the state-of-the-art in Software Engineering and is an effective way to bring innovations to the organization where I work.
Collaborating with the Computer Science Department, we successfully achieved several results:
Ministered Computer Programming I course in Electric Engineering during the first semester of 2011;
Ministered Computer Programming II course in Electric Engineering during the first semester of 2011;
Ministered Computer Programming I course in Naval Engineering during the second semester of 2011;
Ministered Computer Programming I course in Oceanic Engineering during the second semester of 2011.
My responsibilities included: prepare the program for the courses for the full semester, minister all the classes, choose students to be course monitors, prepare assignments and programing challenges, verify the assignments and programming challenges' correctness, prepare program exams, assess the program exams correctness, assign the students' final grades, deliver those grades to the institute.
Technologies: Python, basic programming language principles and data structures for Computer Programming I, object-orientation principles and more complex data structures for Computer Programming II.
Assistant Professor at COPPE/UFRJ Systems Engineering and Computer Science Program from July 2008 to December 2010
Collaborating with the Systems Engineering and Computer Science Program, we successfully achieved several results:
Ministered Software Quality in Computer Engineering and Information course during the second semester of 2008;
Ministered Software Quality in Computer Engineering and Information course during the second semester of 2009;
Ministered Software Quality in Computer Engineering and Information course during the second semester of 2010.
My responsibilities included: prepare the program for the courses for the full semester with the professor, minister half of the classes, prepare course exams, assess the correctness of the exams, assign the students' grades for the professor's review.
Technologies: Basic principles of software quality and maturity models.
Professional Training at Summer,+i from May to July 2010
Providing professional training as a contractor to the Board of Officers Promotions of the Brazilian Navy, we successfully achieved several results:
Ministered a 27 hours training covering the basics of Java programming in June and July of 2010;
Ministered a 12 hours training covering XML and XML Schema in May and June of 2010.
My responsibilities included: prepare the program for the courses, minister all the classes, elicit business needs and adjust the course content, prepare course exams, assess the correctness of the exams, provide certificates at the end of the course to the participants.
Technologies: JPA/Hibernate, Java Security, Swing, JGoodies (Forms Layout and Looks), JasperReport, IReport, JUnit, Log4j, Spring, and ZK for the Java Programming. course.
Past Experiences on the Software and Service Process Improvement
Software and Service Process Improvement Appraiser at Implementum Consultoria em Tecnologia da Informação from May 2008 to November 2017
Leading or participating in official software/service process appraisals toward CMMI or MPS-BR maturity model levels in 54 different software companies, we successfully achieved those companies’ goals:
Provided the level of compliance achieved by the company together with a gap analysis and improvement suggestions;
Reported the appraisal results to the official model institution for public records.
My responsibilities included: plan the appraisal with the company (including the intended maturity model level, schedule, and resources), travel to the company site and analyze their organizational and project documentation to assess if they are adherent to the maturity level, document the gaps between the company process and practices and the necessary practices for the maturity level, provide some improvement suggestions to better implement the maturity level practices, verify if the reported gaps were adequately addressed in a second visit, interview people responsible for executing the process activities to confirm the practices in place, document the assessment results and send them to the model institution for its publication.
Technologies: PMBOK, CMMI 2.0, MPS.BR, RUP, Scrum, eXtreme Programming, SAFE, ISO Standards, Six Sigma.
Software and Service Process Improvement Consultant at Implementum Consultoria em Tecnologia da Informação from May 2006 to November 2017
Leading process improvement initiatives over 15 different software companies, we successfully achieved companies’ goals:
Guided the companies into becoming adherent to a maturity model level, impacting on productivity, cost, and market goals;
Provided knowledge and coaching to several companies’ groups like the SEPG (software engineering process group), metrics group, configuration management group, quality assurance group, portfolio management group, project managers, architects, analysts, developers, and testers.
My responsibilities included: elicit the company goals, observe the software process and life cycle in place and identify improvement opportunities, suggest processes practices, formalize a software development process with the company, provide training in the process, assist in the processes execution through mentoring/coaching day-to-day activities, monitor the performance of the initiative and report to the sponsor for reactive action support, perform unofficial appraisals to identify necessary improvements before the official process appraisal, support the company during the official maturity model appraisal.
Technologies: PMBOK, CMMI 2.0, MPS.BR, RUP, Scrum, eXtreme Programming, SAFE, ISO Standards, Six Sigma.
Past Experiences on Software Engineering
Leading/managing five Scrum teams of around ten people each, responsible for the company’s wealth platform evolution, we successfully achieved several results:
Improved product quality (defect escape rate) by around 70%, from an initial state where contracts were at risk with clients unsatisfied to a situation where clients see us as partners;
Defined Engineering roles and responsibilities to guide the teams on people management and technical guidance. Coached several engineers into leadership positions, keeping them in the company and reaching retention rates of around 80%;
Established a measurement program that is used by the teams to improve their performance while providing higher levels of the company visibility to the progress being made. Several indicators have shown improvements;
Defined processes for development, releases and support;
Led multiple software process improvement initiatives, improving various practices the teams perform daily.
My responsibilities included: lead the teams in adopting software engineering best practices, guide software development process improvement initiatives, assist the teams in meeting commitment deadlines with proper product quality, manage engineering managers and tech leads in their career development, analyze the teams' performance indicators and foment continuous process improvement.
Technologies: Angular, Typescript, Nest.js REST APIs, microservices, PostgreSQL.
Leading/managing a Scrum team of 6 people, responsible for the company’s trading platform, we successfully achieved several business goals:
Increased the quality of the company’s trading platform through better design, quality assurance, and product documentation, impacting on maintenance costs and client satisfaction goals;
Delivered new features like the support to trade PTFs and ETFs, impacting on profitability and market goals;
Removed technical debt migrating GIC support from the trading legacy module to the new one, impacting maintenance costs and market goals;
Removed technical debt migrating features to a new API microservice architecture applying, impacting on maintenance costs.
My responsibilities included: lead the team to high-quality design and code, participate in all code reviews and provide improvement guidance, assist the team in meeting commitment deadlines, coach team members on their career development, approve vacation requests and time logs, analyze the team’s performance indicators and foment continuous process improvement, partner with the PO for proper portfolio management and requirement documentation, contribute to the company communities of practices with my experience.
Technologies: Java EE, Spring Boot, REST, Vue.js, MS SQL Server, JPA, Hibernate, MyBatis.
Leading/managing a team of 2 people, responsible for a knowledge base portal on software engineering process innovation named Kaino, we successfully achieved several goals:
Developed and put in production the portal in the committed timeline;
Presented the portal to the community engaging the researchers in the field.
My responsibilities included: identify and document requirements with literature reviews and client interviews, define the portal architecture and tech stack, develop the portal frontend and backend, test the portal, deploy it at Red Hat OpenShift, and present it to some potential clients.
Technologies used: JBoss 7, JEE 6 (JSF 2 with Primefaces 4, EJB 3.1 and JPA), Log4J Logback, Maven, and PostgreSQL, Red Hat OpenShift.
Leading/managing a team of 6 people, responsible for the company’s process-centred software engineering environment named Taba, we successfully achieved several business goals:
Delivered new features for the environment used by several companies in the committed timeline, impacting on profitability and market goals;
Customized the environment for the use by new clients, impacting on profitability and market goals;
Removed technical debt migrating features to a new architecture, impacting on maintenance costs;
Achieved compliance with MPS.BR maturity model level E (correspondent to CMMI level 2) on the company software development process, impacting on profitability and market goals.
My responsibilities included: identify and document requirements with literature reviews and client interviews, provide training for the development team on Java technology and common frameworks (JSE 5.0, JSP, Servlets, JavaBeans, Taglibs, JSTL, Design Patterns, JUnit, Log4J, Hibernate Annotations, Ant, Struts, Struts TestCase, Eclipse IDE), define the product architecture and development frameworks, interview and select team members for the new project, provide training on the selected development frameworks, design features, develop both frontend and backend, test features.
Technologies used: JBoss 4.2.2 and 5.0, JEE 5 (JSF with RichFaces and Facelets, EJB 3.0 and JPA), Log4J, JSFUnit, JUnit and JUnitB3, Oracle DBMS.
Leading/managing a team of 6 people, responsible for an integrated environment for developing knowledge representation and reasoning systems named JPE, we successfully achieved several business goals:
Delivered the first version of the product in the committed timeline, impacting on market goals;
Developed the project dissemination website in PHP, impacting on market goals;
Published and presented papers about the product, impacting on visibility and market goals.
My responsibilities included: identify and document requirements with literature reviews, define the product architecture and development frameworks, interview and select team members for the project, provide training for the development team on Java technology and UML, design features, develop both frontend and backend, test features, publish the product on the website.
Technologies used: Java SE (J2SE 1.4), JForms, JLayout, Log4J, JUnit, UML, MVC, JUnit, design patterns, XP, and RUP.
Software Engineer at COPPE/UFRJ Database Laboratory from February 2004 to October 2005
Being part of a team of 12 people, responsible for a knowledge management system to control the academic background, certification and professional training of Petrobras operators named Antares, we successfully achieved several business goals:
Delivered new features for the system in the committed timeline, impacting on profitability and market goals;
Provided training courses for Petrobras employees in the use of the developed system at its final implantation step.
My responsibilities included: review and provide feedback on the system requirements, review and provide feedback on the product architecture and development frameworks, design features, develop both frontend and backend, test features, provide training to final users.
Technologies used: Java/J2EE technology, Weblogic, and Oracle.
Software Engineer and Director at Empresa Júnior de Consultoria em Microinformática from September 2000 to September 2003
Directing the Legal and Financial Department, we successfully achieved several business goals:
Contracted an accounting consultant, externalizing legal accounting, impacting on performance and profitability goals;
Managed and controlled the company expenses, impacting on profitability goals.
My responsibilities included: plan the strategic goals for the department, monitor and take actions regarding the strategic goals during the year, manage and keep records of all the company expenses, document the company accounting, interview and select team members.
Directing the Projects Department, we successfully achieved several business goals:
Closed contracts for development with prospect clients, impacting on profitability goals;
Delivered products in the committed timeline, impacting on profitability, customer satisfaction, and market goals.
My responsibilities included: plan the strategic goals for the department, monitor and take actions regarding the strategic goals during the year, manage the department and have meetings with all the project managers about their projects' status, interview and select project managers.
Leading/managing a team of 2 people, responsible for an exam generation software on engineering for Abraman named DB Provas, we successfully achieved several business goals:
Delivered new features to the first version of the product, impacting on profitability and market goals;
Delivered new features and a second version of the product, impacting on profitability and market goals.
My responsibilities included: identify and document requirements with client interviews, interview and select team members for the project, design features, test features, monitor the project progress, have meetings with the client.
Technologies used: Delphi and Access.
Being part of a team of 3 people, responsible for a direct mailing system for the Mathematics Department named Mala Direta, we successfully achieved several business goals:
Delivered new features for the system in the committed timeline, impacting on profitability and market goals.
My responsibilities included: review and provide feedback on the system requirements, develop both frontend and backend, test features.
Technologies used: Delphi.
Being part of a team of 4 people, responsible for a system for designing umbilicals inside subsea risers for Petrobras, we successfully achieved several business goals:
Delivered new features for the system in the committed timeline, impacting on profitability and market goals.
My responsibilities included: review and provide feedback on the system requirements, develop both frontend and backend, test features.
Technologies used: Delphi.