Hi, I'm Maurício Aniche, an Assistant Professor at TU Delft.
I help developers to effectively maintain and evolve their software systems. To that aim, I dive into the challenges that developers face during such activities by means of rigorous Empirical Software Engineering research. With a clear picture in hands, I build approaches, techniques, recommenders, tools, and even educational material that help developers to improve their jobs.
Education. I got my PhD from University of São Paulo (2016), where I proposed context-aware code metrics and smells for MVC-based software systems. I got my MSc degree on Computer Science at University of São Paulo (2012), and my BSc in Computer Science at Mackenzie University (São Paulo).
Teaching. At TU Delft, I am part of teaching team of our Software Testing and Quality (BSc level) and Software Architecture (MSc level).
Industry experience. I also have substantial experience as a software developer in industry. I worked as software developer for Caelum and Alura (5 years), Locaweb (1 year), and VeriFone (3 years). As an associate at Caelum, a Brazilian training company, I trained 996 different students in a total of 1,928 hours, and visited 27 different companies in 12 different cities. Together with Caelum, I co-founded Alura, the most popular e-learning platform for software engineers in Brazil. During this period, I developed 37 online courses in several software engineering topics: web development, C#, automated software testing, refactoring, and Design Patterns are some of them.
Book author. To support my training and consultancy activities, I have authored books (in portuguese) about TDD, automated software testing in practice, Object-Oriented design, and introduction to C Programming, which have sold more than 8k copies. The TDD book, in particular, has been used at many universities in Brazil.
My thoughts on software engineering
- Interview with Joel Costigliola, creator of AssertJ —
- To Mock or Not To Mock? An Empirical Study on Mocking Practices —
- Code smells in MVC architectures —
- An Experience Report on Applying Passive Learning at Adyen —
- A Collaborative Approach to Teaching Software Architecture —
- SATT: Code Metric Thresholds for Different Software Architectures —
- A Validated Set of Smells in Model-View-Controller Architectures —
- Developers’ Perceptions on Object-Oriented Design and Architectural Roles —
- Is TDD magic? —