Blog Bugginho Academy

Entrevista com Maurício Aniche, uma das maiores referências em testes automatizados e TDD no Brasil

Essa entrevista faz parte de uma série de entrevistas com alguns dos principais nomes da TI no Brasil.

Você já escreveu diversos livros e já participou de diversos eventos sobre TDD, até mesmo fora do país. Como surgiu essa paixão pelo TDD?

Maurício Aniche: É uma história engraçada. Em 2006/2007, eu trabalhava em um projeto bastante interessante, todo feito em C. Era uma aplicação que rodaria em um dispositivo embarcado e controlaria postos de gasolina. E, pela primeira vez, eu era o líder técnico do projeto. Alguns meses de trabalho depois, viajei (todo feliz) para a República Dominicana para ver meu sistema rodar pela primeira vez. E, claro, funcionou por apenas algumas horas, e depois deu um super bug. Obviamente minha equipe só fazia testes manuais!

Voltei pra casa triste, afinal meu primeiro projeto como líder técnico não aguentou um dia no ar. Foi aí que comecei a ler mais sobre como testar “de verdade”. Acabei caindo em testes automatizados e TDD. Viciei no assunto e comecei a ler tudo o que podia e praticar de todas as formas possíveis.

Você é hoje referência em testes automatizados e TDD no Brasil. Esse sempre foi o seu objetivo ou aconteceu por acaso?

Maurício Aniche: Fico feliz por você me achar uma “referência” sobre testes, hehe. Se aconteceu, aconteceu sem querer. Sempre gostei de compartilhar todas minhas aventuras com TDD (sejam elas as mais práticas ou mesmo mais científicas como meu mestrado). De repente, as pessoas começaram a me convidar para palestrar nos mais diferentes eventos, faculdades e empresas. Em 2012, o Paulo e o Adriano, ambos da Casa do Código, me convidaram para escrever um livro sobre TDD e eu topei. Acho que isso ajudou.

Apesar de o conteúdo de seus livros serem úteis para qualquer linguagem, os exemplos são quase sempre em Java. Por que você optou pelo Java?

Maurício Aniche: Java é, com certeza, a linguagem de programação que sou mais fluente. Não sei se há algum motivo especial, foi somente a linguagem que mais usei na faculdade e nos meus empregos. Mas posso falar que gosto muito de Java, apesar dos seus defeitos (como toda linguagem). Me sinto mais seguro em linguagens estaticamente tipadas. Mas gosto também de outras linguagens, em particular, C#.

E o mais legal é que a comunidade me ajudou a traduzir o livro para outras linguagens. O Hugo converteu para Ruby, o André para PHP. Viva a comunidade.

Segundo o seu Currículo Lattes, você é pesquisador pós-doutorado na Delft University of Technology, além de ser doutor em Ciência da Computação pela Universidade de São Paulo, Mestre em Ciência da Computação pela Universidade de São Paulo e Bacharel em Ciência da Computação pela Universidade Presbiteriana Mackenzie. Qual a diferença entre estudar / trabalhar no Brasil e no exterior?

Maurício Aniche: É, acabei caindo nesse mundo da academia. Gosto bastante, não posso negar!

É bem difícil comparar uma faculdade no Brasil e no exterior. Na graduação, onde o foco é formar o aluno para o mercado de trabalho, vejo muitos cursos bons no Brasil; posso recomendar a USP e o Mackenzie, faculdades que conheço bem. Acho que a grande sacada é o aluno escolher bem, afinal temos esse ‘boom’ de faculdades, e é difícil saber qual oferece um curso legal e quão oferece.

Quando falamos de mestrado e doutorado, a diferença é ainda grande, IMHO. O aluno de doutorado não é tão bem tratado. Aqui na Holanda, o aluno é funcionário da universidade, tem benefícios, e o salário é suficiente (obviamente ainda menos do que um programador em uma empresa, afinal, programadores valem ouro). Os grupos de pesquisa são grandes e produzem em alto nível. No Brasil, temos excelentes pesquisadores, mas ainda é difícil conseguir verba e contratar uma equipe de pesquisadores.

Você já trabalhou como desenvolvedor de software e como instrutor. O que te dá mais prazer entre essas duas áreas e por quê?

Maurício Aniche: Puxa, é como perguntar se prefiro sorvete ou chocolate. Gosto muito das duas coisas e vejo elas bem conectadas. Gosto de programar porque isso me desafia; gosto de ensinar porque me sinto bem ao ver outras pessoas melhorando! E, claro, quanto mais eu programo, mais eu tenho a ensinar!

Muitas pessoas têm dificuldade de entender SOLID e TDD, qual dos dois você acha que seus alunos têm mais dificuldades e por quê?

Maurício Aniche: Como qualquer novidade, os dois são difíceis de serem bem absorvidos.

Modelar um sistema orientado a objetos é mais difícil do que parece. Não é só ter umas classes, uns métodos, e pronto. É pensar em abstrações, e só depois na implementação concreta delas. É difícil, sem dúvida. E é aí que SOLID entra. Quando escrevi o livro, minha ideia era mostrar pras pessoas como eu penso ao modelar minhas classes. Aí achei legal conectar com o SOLID, que as pessoas ouvem falar, e que faz todo sentido.

Sobre escrever testes, acho que a grande dificuldade do aluno é colocar-se no lugar de quem vai usar a classe e pensar: “puxa, como faço pra usar essa classe de todas maneiras possíveis?”. É bem comum ver o aluno conseguir implementar um algoritmo absurdamente complexo, mas não conseguir escrever um simples teste. A parte boa é que, em algum momento, há um “click” na cabeça do aluno e ele pega o jeito. E depois, ele escreve testes pra sempre!

Quais dicas você dá para quem está pensando em entrar no mercado de desenvolvedor de softwares?

Maurício Aniche: Aqui, acho que meu lado mais “cientista da computação” fala mais forte. Minha sugestão é sempre para que o candidato entenda os fundamentos da área que ele está. Ou seja, não só seja especialista na linguagem X, Y ou Z, mas também entenda de linguagens de programação, diferentes paradigmas, boas práticas. Não só decore o framework A, B, ou C, mas sim entenda a ideia por trás deles. Acho que eu prefiro o tipo mais generalista, com certeza (mas talvez eu seja enviesado, porque é a categoria na qual eu me encaixo, hehe).

Quais os seus planos para o futuro como profissional?

Maurício Aniche: Não sou muito bom com bolas de cristal, mas meus planos são de continuar em meu pós-doutorado aqui na Holanda pelos próximos 3 anos. Depois disso… Surpresa! 🙂

Importante: Essa entrevista foi gentilmente cedida por Maurício Aniche para veiculação na página “Bugginho Developer”. Caso queira replica-la, não esqueça de pedir autorização ao mesmo para tal.

Você pode conhecer um pouco mais e acompanhar o trabalho de Maurício Aniche nos links abaixo:

http://mauricioaniche.com/
https://twitter.com/mauricioaniche
https://www.casadocodigo.com.br/products/livro-tdd

Espero que tenham gostado tanto quanto eu e até a próxima, amiguinhos!!! 😉

Bugginho Developer

1 comentário

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Your Header Sidebar area is currently empty. Hurry up and add some widgets.