Do Junior ao Sênior — Vamos falar de livros!

Adriano Croco
5 min readJul 27, 2021

--

Olá!

Além dos artigos que escrevo para me obrigar a condensar tudo que leio de uma forma mais estruturada, acho que está na hora de dar os holofotes para de onde eu tiro boa parte das minhas influências: os livros.

Com isso dito, o intuito desse artigo é fornecer algumas recomendações de livros importantes (sejam técnicos ou não) que acredito que sejam importantes na formação de um profissional de tecnologia.

Os livros mencionados não estão em nenhuma ordem de importância, ok?

Migrating to Microservice Databases de Edson Yanaga

Esse livro me ensinou uma variedade de técnicas relacionadas a gestão de banco de dados que são de vital importância na carreira de uma pessoa desenvolvedora. Você sabe como fazer mudanças em banco de dados de forma não destrutiva? Estratégias de convivência entre duas bases de dados? E como trabalhar os dados para que estejam aderentes a um formato distribuído?

Apesar de serem técnicas relativamente triviais para pessoas que trabalham especificamente com dados, para a maioria das pessoas desenvolvedoras que conheço não é.

Indispensável se você quer aprender o jeito "certo" de lidar com dados no contexto de sistemas distribuídos.

Infelizmente, desconheço versão em português.

Arquitetura Limpa de Robert C Martin

Aqui a mensagem é bem simples, apesar de ser escrita de uma forma desnecessariamente complicada em alguns capítulos: SOLID também se aplica a arquitetura. Na visão do Uncle Bob, não há distinção entre engenharia e arquitetura (para mim, existe), portanto, boas práticas de engenharia podem ser usadas na arquitetura, com leves adaptações.

Além da recomendação de várias técnicas (e acrônimos), a ideia básica de uma arquitetura mais enxuta e robusta é algo que toda pessoa que desenvolve software precisa ter em mente ao desenvolver sistemas. Talvez não seja o livro mais acessível para quem está começando na área de desenvolvimento, mas vale lê-lo por algumas histórias de guerra do autor, que tem praticamente CINQUENTA ANOS de experiência trabalhando com desenvolvimento.

O Projeto Fênix de Gene Kim, Kevin Behr e George Spafford

Esse livro me fez de fato entender DevOps de uma forma mais ampla.

Escrito em um formato de romance, o livro conta a história de um gestor de operações de tecnologia que cai de paraquedas na função e aprende aos poucos uma nova forma de se trabalhar, usando conceitos como just-in-time, teoria de filas e a importância de priorização.

Os principais conceitos de agilidade e lean são descritos de uma forma fácil e contextualizada. Os problemas sofridos pelo protagonista são claramente inspirados em muitas histórias reais de profissionais de tecnologia.

A Startup enxuta de Eric Ries
O Estilo Startup de Eric Ries

Se você quer saber o porquê do burburinho sobre MVP, Startups e entender um pouco mais da visão de como a molecada do Vale do Silício criaram unicórnios e influenciaram a forma de trabalho de praticamente todas as empresas que criam produtos digitais hoje, esse livro é para você.

Lembrando que a leitura de ambos os livros é recomendada, mas não necessariamente obrigatória, dado que são muitos parecidos. Caso só possa ler um, vai no mais antigo (a Startup Enxuta), acredito que seja o suficiente.

Scrum — A arte de fazer o dobro do trabalho na metade do tempo — de Jeff Sutherland e J.J Sutherland

Você não precisa fazer um curso caríssimo de Scrum para aprender a metodologia, basta ler esse livro. Para quem não quer ser Agile Coach certificado pela Scrum Alliance, isso é mais do que o suficiente.

O autor traz vários exemplos do porquê trabalhar no formato cascata é perda de tempo e algumas dicas de como usar o Scrum de forma prática (inclusive na vida pessoal).

A título de curiosidade, um dos autores é um dos 17 signatários originais do manifesto ágil. Ou seja, um dos pioneiros no assunto — nada mais eficiente que ir direto na fonte para aprender algumas coisas, certo?

Team Topologies — de Matthew Skelton e Manuel Pais

Na minha opinião, esse é o livro que condensa praticamente toda a experiência contida nos livros anteriores e resolve uma quantidade considerável de problemas que todo profissional de tecnologia passa.

Sua publicação é recente (2019) e infelizmente, ainda não está disponível nesse idioma que você está lendo esse artigo. Pensando em trazer esse conhecimento de uma forma acessível e em português, eu escrevi um resumo dessa obra aqui — foi um resumo bem abrangente, deixei pouquíssimos assuntos de fora — e deu um trabalhão diga-se de passagem.

O livro sugere uma nova forma de enxergar estrutura de times, a importância de se levar a Lei de Conway em consideração, a importância do número de Dunbar e sugere que é possível driblar essas limitações com um jeito específico de organizar os times e suas interações. Além disso, traz recomendações práticas de como construir uma plataforma de software (uma necessidade cada vez mais comum em empresas em fase de digitalização).

E qual não foi a minha surpresa ao encontrar uma menção a esse livro em um relatório de tendências da indústria da InfoQ:

tendências da indústria de software — jul/2021

Sem dúvida, o livro mais de vanguarda da lista. Apesar de ser muito novo, acredito que as ideias contidas nesse livro irão se disseminar e virar commodity a ponto de se tornarem jargões comuns como MVP, Gambiarra e Squads em um futuro próximo.

E aí? Sentiu falta de algum livro importante? Sugere ai nos comentários, quem sabe não rola uma parte dois dessa lista?

Até!

Você gostou do conteúdo e gostaria de fazer mentoria comigo? Clique aqui e descubra como.

--

--