Hello!
Hello there! I am an aspiring researcher focused on TDD, a close friend of software testing. My research is focused on investigating the influence of Test-Driven Development (TDD) on the generation of test smells. This entails examining various aspects of software development under TDD, including organizational factors, team dynamics, and technical practices. I also developed Testable, a gamified tool that aims to improve the unit test teaching, trying to change the boring perception that developers have in learning how to test their code. Currently I am working as a Software craftsperson at Codurance, changing the way people build systems and trying to close the gap between academia and industry. Want to stay tuned on software development? Sign up on my newsletter "Papers of the week".What are you looking for?
Find out the reviews of books that are key for practitioners.
Curated content
Architectural styles
Start to finish
AZ-900 and AZ-204
The unicorn project
About me
Academic background
- PhD - Software engineering (focused on software testing) - CURRENT
- MSc - Software engineering (focused on software testing)
- MBA - Software development and game development for mobile applications
- MBA - Software engineering
- Degree - Technology analysis and systems development
EN publications
- Behaviors To Avoid When Practicing Pair Programming
- TDD: From Katas to Production Code
- The Never-Ending Debate: For Loops in Test Cases or Multiple Assertions
- TDD Knowledge Book- Insights from the first TDD Conference
PT-BR publications
- Matheus Marabesi: Testing - 7Masters
- Matheus Marabesi: Migrando de Mysql para MongoDB - 7Masters
- Nesse novo mundo da Internet das coisas, nos perguntamos: e o PHP? - iMasters
E-books
Certifications
Keep in touch
Recent posts
A first glance at teaching TDD for university students
This post will provide a brief overview of the challenges I faced, the strategies I employed, and the insights I gained while introducing TDD to students who were new to this methodology.
Continuous Integration vs Continuous Delivery vs Continuous Deployment
Get to know what is the difference between CI, CDE and CD and what it takes to practice each one of them with GitHub Actions example.
Software quality from a broader to a concrete point of view
Software quality is a multifaceted concept that encompasses various aspects of software development. In this article, we will explore the different dimensions of software quality, including architectural styles, code quality, and team dynamics. By understanding these aspects, developers can enhance their work and deliver high-quality software solutions.
PlantUML for developers a pratical approach
Discover how PlantUML transformed my software development workflow by enhancing communication, collaboration, and understanding of complex systems. Explore the benefits of integrating UML into coding practices.
Building Software with TDD vs Without TDD
In this article, we will explore the differences between building software with Test-Driven Development (TDD) and without it. We will discuss the challenges faced by teams, the role of TDD in addressing these challenges, and common misconceptions about TDD. By understanding these aspects, developers can make informed decisions about adopting TDD in their workflows.
Tracing down gitlab metrics with python
Discover how to build reports using Python, Matplotlib, and GitLab. This post covers the entire process from setting up the environment to generating reports, including data acquisition, processing, and visualization.
The one thing vitest has better support than jest
In this post, we explore the limitations of jest in regards to jsdom-worker and compare it with vitest, that supports it out-of-the-box.
The Challenges in Adopting DORA Metrics for DevOps success
Learn about the key obstacles and strategies for successfully implementing the DORA metrics in your software development project.
Retrofitting Tests into a ReactJS Codebases without tests with Copilot
This blog post explores strategies for enhancing testability with ReactJS context, challenges in maintaining and refactoring code without tests.
A Guide with test-doubles for Testing ReactJS Context
Learn to set up tests, verify default context values, simulate user interactions with and without test-doubles to make your reactjs app refactor friendly