Maurício possui mestrado e doutorado em ciências da computação pela Universidade de São Paulo, Brasil. Durante seu mestrado, ele cofundou a Alura, uma das plataformas de e-learning mais populares para engenheiros de software no Brasil. Ele é o autor de muitos livros: "Effective Software Testing: A Developer's Guide", bem como "TDD no Mundo Real" e "SOLID para Ninjas".
Maurício acredita fortemente que a engenharia de software em breve se tornará um campo mais baseado na ciência. Um de seus objetivos é garantir que os profissionais saibam o que os acadêmicos estão fazendo e que os acadêmicos conheçam os desafios reais que os profissionais enfrentam em seus trabalhos diários.
LINUXtips - Como você se identificou com a área e porque escolheu essa profissão, quais foram os passos para chegar nela (cursos, início no mercado de trabalho)?
Maurício - Meu pai comprou um computador quando eu era bem jovem. Talvez uns 6, 7 anos. E, por algum motivo, ele começou a aprender a programar em BASIC. Eu me interessei muito pela "brincadeira" quando vi. Meu pai, percebendo meu interesse, investiu nisso. Me comprou livros de programação para crianças, me pagou cursos de programação (em um curso de Delphi, o instrutor não queria nem deixar eu participar por causa da minha idade!), além de me dar um computador. Quando fiquei mais velho, nem pensei sobre carreira, para ser honesto, já sabia que queria ser programador.
Maurício - Meu pai comprou um computador quando eu era bem jovem. Talvez uns 6, 7 anos. E, por algum motivo, ele começou a aprender a programar em BASIC. Eu me interessei muito pela "brincadeira" quando vi. Meu pai, percebendo meu interesse, investiu nisso. Me comprou livros de programação para crianças, me pagou cursos de programação (em um curso de Delphi, o instrutor não queria nem deixar eu participar por causa da minha idade!), além de me dar um computador. Quando fiquei mais velho, nem pensei sobre carreira, para ser honesto, já sabia que queria ser programador.
Meu primeiro emprego formal como programador, acredite ou não, achei pelo Orkut. Alguém postou uma vaga de emprego, eu mandei meu curriculum, e deu certo. Ganhava 600 reais, trabalhava 4-6 horas por dia. Meu primeiro projeto foi customizar a loja virtual em ASP que a Locaweb disponibilizava de graça na época, para que as pessoas pudessem criar suas lojas e colocar lá!
Depois disso, fui entendendo mais da área, fui procurando por empregos melhores, e tudo foi dando certo!
LINUXtips - Falando sobre o livro Effective Software Testing, você fala bastante sobre reduzir o risco e o custo corrigindo defeitos com antecedência por meio de testes. Você pode nos dar um spoiler e contar um pouco sobre a “cultura de testes”?
Maurício - Cultura é talvez até mais importante do que os desafios técnicos de se testar. Se você tem um time, ou ainda mais, uma empresa que acredita em testes automatizados, os desafios técnicos viram só um detalhe, um item no backlog que vai ser resolvido. Agora, se você está em um time que não tem essa cultura, convencer a galera de que testar de maneira automatizada é a única maneira de conseguir entregar software de maneira contínua e com confiança é difícil. Acredite ou não, mudar é difícil. Mesmo que o time saiba que teste é importante, fazer testes virarem uma coisa do dia-a-dia não é fácil.
Ou seja, entrou numa empresa, e a galera não testa. Minha sugestão é pensar em como você vai mudar a cultura primeiro, e só depois pensar em ferramentas.
LINUXtips - No início da sua jornada/carreira profissional, você teve alguém que te apoiou e foi essencial nesse processo?
Maurício - Meu pai e minha mãe sempre me deram muita ajuda, inclusive financeiramente. Sem ter o papai e mamãe bancando meu tempo de estudo, nada disso seria possível. Tive sorte na vida. Tive também professores que me influenciaram muito e alguns ainda influenciam até hoje, mas com certeza meu pai e mãe são os responsáveis, de longe.
LINUXtips - Você tem uma base acadêmica muito sólida, parabéns! Qual a importância de continuar estudando na sua vida?
Maurício - Fazer um mestrado e um doutorado é uma opção de vida, e como tudo, tem vantagens e desvantagens. Mas continuar estudando é fundamental. Todo mundo precisa achar o seu ritmo, como colocar "estudo" na agenda para que isso fique constante!
Muito do que eu "vendo" hoje quando falo de testes não veio só da minha experiência pessoal. Foi uma mistura dos sei-lá-quantos livros e papers e palestras e posts de blog que li sobre o assunto.
LINUXtips - Como é dar aula em uma universidade no exterior? E como é ter sido escolhido o professor do ano? E parabéns novamente!
Maurício - Dar aula, de maneira geral, é uma experiência fantástica! É bem legal também dar aula em uma universidade gringa. O desafio maior, claro, é cultural. Os holandeses, por exemplo, têm menos respeito pela hierarquia acadêmica que os brasileiros. No começo foi bem difícil entender isso. Recebi e-mails de alunos que não conseguia imaginar um professor ou professora no Brasil recebendo. E recebo até hoje, mas agora sei lidar melhor com isso.
A vantagem é a diversidade. No Brasil, você raramente tem uma sala tão diversa em relação à diferentes números de países. Na USP, eu até encontrava algumas pessoas de países da América Latina, mas aqui, são pessoas do mundo todo, e isso é bem legal.
A vantagem é a diversidade. No Brasil, você raramente tem uma sala tão diversa em relação à diferentes números de países. Na USP, eu até encontrava algumas pessoas de países da América Latina, mas aqui, são pessoas do mundo todo, e isso é bem legal.
LINUXtips - Como foi sua jornada mudando para uma empresa no exterior e qual dica você daria para alguém que está tentando o mesmo?
Maurício - Mudar de país é um desafio muito grande. Você chega em um lugar e não sabe nem o que fazer com o lixo da casa (meu caso!). Você não tem sua família pra te confortar, ou mesmo para te ajudar numa emergência. Mas, em compensação, eu cresci demais como pessoa e recomendo a todos. Acho que a maior recomendação é: se você tem vontade de ir pra fora, se joga! Vai dar medo, mas tudo vai dar certo! :)
LINUXtips - O que você acha sobre “Ser especialista no começo e depois generalista”? Faz sentido para você?
Maurício - Acho que todas as possíveis combinações de caminho são válidas, e tem espaço para todos no mercado. No começo da minha carreira, eu era muito mais generalista. Estava ali na linha de frente do desenvolvimento, e programava no que aparecia na minha frente. Mudava de PHP, para Java, para C#, de volta para PHP toda semana, e não sentia. Hoje me sinto muito mais especialista, sei de poucas coisas, mas muito à fundo, e tenho espaço no mercado. Você tem que ver o que te agrada mais. Algumas pessoas gostam de saber um pouco de tudo. Eu gosto de saber de poucas coisas mas muito a fundo!
Descomplicando o papo...
LINUXtips - O que você gosta de fazer nas suas horas de descanso, fim de semana?
Maurício - Passar tempo com meu filho é meu hobby favorito. Mas quando estou sozinho, meu maior hobby é o xadrez. Passo horas assistindo partidas de grandes mestres ou assistindo as lives dos streamers brasileiros (Oi, Xadrez Brasil, Oi, Raffa Chess, sou fã de vocês!).
LINUXtips - Momento Marília Gabriela: Um sonho, um medo e um Prazer culposo?
Maurício -
Um sonho: já realizei, morar fora do país!
Um medo: Perder contato com meus pais
Guilty pleasure: Sorvete!!!!
LINUXtips - Você gosta de séries? Recomenda alguma pra comunidade ai!
Maurício - Eu sempre joguei muito futebol. Quando mudei pra Holanda, comecei a andar muito de bicicleta. Um ano antes da pandemia, virei um rato de academia junto com minha esposa e um amigo meu. Íamos 3-4 vezes por semana. Parei durante a pandemia, e ainda não voltei ao ritmo. Preciso achar uma maneira de colocar o esporte novamente na rotina. O desafio agora é, claro, o filho pequeno.
LINUXtips - E por último: Qual foi a última coisa que você fez pela primeira vez?
Maurício - Que ótima pergunta. Demorei muito pra responder! Acho que foi jogar mini golfe! Decidimos ir em um no nosso último encontro de time. E, pra minha surpresa, é muito divertido!