Coletânea Uncle Bob — O Codificador Limpo

Aqui no médium costumo publicar textos com cunho mais técnico e também de livros das mais determinadas categorias, essa semana pensei em trazer uma coletânea de livros que moldaram o profissional que sou, que são os livros do Uncle Bob.

Robert C. Martin

Robert C. Martin — Uncle Bob

Biografia

Robert C. Martin começou sua carreira na década de 1970 e desde então desempenhou vários papéis, incluindo programador, gerente de projetos, consultor e instrutor. Suas maiores contribuições na área são:

  1. Criador do livro Clean Code que é referência em nossa área para desenvolvimento de software com boas práticas para escrever código limpo e compreensível;
  2. É um dos autores do Manifesto Ágil e é defensor dos princípios ágeis no desenvolvimento de software;
  3. Criou um dos princípios mais utilizado de design de software que é o SOLID;
  4. Além de seu trabalho como desenvolvedor e autor, Martin é conhecido por sua dedicação à educação e ao ensino de princípios de engenharia de software em todo o mundo a partir de conferências e eventos dentro da nossa indústria.

Após termos um breve resumo de sua carreira (uma baita carreira 😅) vamos conhecer o primeiro livro que recomendo que é o Codificador Limpo.

O Codificador Limpo

Capa do livro O Codificador Limpo

Capa do livro O Codificador Limpo

Alguns não irão concordar por ser o primeiro livro na lista, mas me defendo, esse livro traz uns dos pontos principais que é necessário para nossa área que é os Softs Skills, nós sabemos que o profissional pode ter um vasto conhecimento técnico, mas se não possui skills de trabalho em equipe, comunicação, organização e aprendizado contínuo o mesmo fica para traz no mercado.

O livro é sobre a conduta do programador como profissional. As dicas do autor são das mais variadas, desde adotar TDD (Test Driven Development) como técnica de desenvolvimento à assistir ou ler Romances Fictícios para manter a criatividade em alta.

Na primeira parte do livro já tomamos um choque onde ele apresenta a importância de dizer NÃO (isso mesmo dizer não). No texto ele demonstra o custo de dizer sim para tudo em desenvolvimento de software, mostra também como isso acarreta em decepções para todos no ambiente de desenvolvimento pois a cada vez que dizemos sim possivelmente estaremos descumprindo metas e aumentando a data de entrega. Outro ponto que ele deixa muito claro que a discordância e a discussão entre o time deve haver pois cada concordância sem concordar irá acarretar mais problemas (lembram do paradoxo de abilene?), aqui o time tem que ser claro e transparente para que o projeto saia da melhor forma possível.

Outro ponto que ele aborda e defende muito é o uso do TDD, no livro ele desmitifica quando se diz que levará muito mais tempo para desenvolver seguindo essa linha de desenvolvimento. Uncle mostra exemplos que podemos usar muito em nosso dia a dia para defender essa abordagem, sendo ela a mais simples, a premissa que todos nós devemos testar, então se testarmos pequenas partes conseguimos diminuir os testes inevitáveis (como testes de grandes formulários de cadastro), além de que cada vez que um bug passa mais se torna caro para o projeto.

Na camada do profissional, Uncle incentiva os desenvolvedores a buscar constantemente o aprimoramento de suas habilidades técnicas e não técnicas. Isso pode ser alcançado por meio de aprendizado contínuo, leitura, participação em conferências e colaboração com outros profissionais, nessa camada de colaboração há a ética profissional dos desenvolvedores, incluindo a responsabilidade de escrever código de alta qualidade, respeitar as regras de privacidade e segurança, e agir de maneira ética em todas as partes da vida, sendo ela pessoal e profissional.

Por fim, e não menos importante, Uncle traz a importância de termos nossos momentos de descontração e relaxamento. No livro aborda como gerenciar o estresse e a pressão que muitas vezes acompanham o trabalho de desenvolvimento de software, sendo uma das sugestões que leia qualquer outra coisa fora do contexto de programação, computação em geral. A recomendação é para aumentar a criatividade, mais precisamente ele recomenda a leitura de Romances e Ficção, para ele o resultado é muito positivo.

Talvez lendo você deve se pensar, mas para o QA qual é a importância da leitura desse livro? Abaixo vou enumerar alguns pontos que mostram a importância do livro para nossa área.

  1. Os profissionais de QA devem ser capazes de expressar suas descobertas, relatar bugs de forma clara e colaborar com outros membros da equipe para garantir a qualidade do produto.
  2. O QA deve sempre recordar ao time o quão é importante a entrega do software no prazo e apresentar a partir de sua visão o que é necessário do software para satisfação do cliente, tentando sempre ser o profissional que traga a dor do cliente para o projeto.
  3. Gerenciar o tempo de forma eficaz, cumprir prazos e compromissos são aspectos importantes para o QA. É crucial para garantir que os testes sejam executados de maneira oportuna e que os relatórios sejam fornecidos conforme necessário.
  4. É fundamental para o QA se manter atualizado com as últimas tendências, ferramentas e técnicas de QA. O aprendizado contínuo e a busca por melhorias são essenciais para se tornar um QA eficaz.
  5. O QA por ser um papel de âmbito geral dentro de um time, deve saber comunicar bem também na camada de gerenciamento de estresse, tentando sempre deixar o ambiente mais leve e evitando a divisão do time em Dev/QA, sentindo as dores que o time tem e vice-versa.

Uncle Bob é uma excelente escolha para leitura voltado para entendermos o nosso mundo de desenvolvimento de software. Para as próximas semanas trago sobre o livro Clean Code, que aborda a camada técnica de desenvolvimento de software, não perca😆!

Para ter conteúdos semanais sobre Tecnologia e Qualidade de Software, assine minha newsletter Tech & Quality 🚀