Aquele post anual que escrevo desde 2011: então pra manter a tradição viva tenho um monte de coisas boas que vi e consumi este ano que compartilho com você aqui. Vão desde livros técnicos (muito bons, outros não tanto), passando por boas leituras de ficção (MUITO boas) e também uma leitura especial que levei vinte (VINTE) anos me preparando para iniciar.
Leitura técnica geral
Como li coisas boas este ano! Começo então pelos que mais me impactaram positivamente.
A Philosophy of Software Design – John K. Ousterhout
Se você já foi guiado por mim sabe que sempre indico livros de formação (Code Complete do Steve McConnell como sendo meu favorito e Clean Code do Robert Martin como o livro que você deve criticar). Sempre senti falta de uma leitura introdutória de boas práticas (estratégias seria um termo melhor) mais leve que o Code Complete para quem está iniciando e acho que finalmente encontrei.
Este livro (bem barato na versão Kindle) na minha opinião é muito importante pelo fato de finalmente alguém estar se contrapondo ao Clean Code. Um problema muito comum que encontro são leitores fãs deste livro que o seguem de forma indiscriminada. Entendo perfeitamente isto, eu mesmo já gostei em excesso do Robert Martin até a ficha cair para o fato de ser um autor que se baseia em sua maior parte em si mesmo e basear boa parte da sua argumentação em afirmações carismáticas mais que em pesquisas realizadas fora de sua bolha pessoal (eu poderia escrever páginas e mais páginas do por quê não recomendo mais a leitura do Clean Code, mas isto fica para outro post).
Os capítulos mais interessantes pra mim foram o segundo (The Nature of Complexity) em que o conceito de complexidade é tratado de forma teórica e prática (muitos insights interessantes ali), os capítulos sobre comentários (12 – Why write comments? The four excuses, 13 – Comments should describe things that are not obvious e 15 Write comments first).
Os capítulos sobre comentários são leitura obrigatória na minha opinião (especialmente o 13) pois são um antídoto as péssimas ideias expostas de forma carismática no Clean Code. Você irá entender por que dizer que “comentários são desnecessários se o código é fácil de entender” são uma grande falácia: por que existem aspectos não óbvios em código fonte.
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable and Maintanable Systems – Martin Kleppmann
Sabe aquela história que você gosta tanto que sente prazer em escutá-la em suas mais variadas versões? Este é meu sentimento em relação a este livro. Apesar de muito denso não aprendi muitas coisas novas aqui por causa da minha estrada e por ter tido a sorte de encontrar excelentes professores ao longo do caminho. Se você está iniciando agora ou não fez faculdade, este é o melhor livro que já encontrei sobre os assuntos ali tratados.
É um livro sobre dados: eu diria que condensa muito bem semestres da matéria “banco de dados” que normalmente é dada nas faculdades. E faz isto muito bem. Tem tudo o que busco em um livro técnico excelente:
- Praticamente todas as afirmações feitas pelo autor são fundamentadas em alguma pesquisa.
- A narrativa é muito boa: a sequência dos capítulos faz todo o sentido.
- É absurdamente bem escrito (é o livro que gostaria de ter escrito).
Você deve lê-lo de cabo a rabo. A primeira parte é sobre os fundamentos: como os dados são obtidos em bancos de dados, esquemas de concorrência, armazenamento, etc. A segunda é sobre sistemas distribuídos: após entender tudo o que pode dar errado em sistemas que executam em uma única máquina você verá os desafios de se ter diversos bancos de dados trabalhando em paralelo. Finalmente, na terceira parte lidamos com processamento em lote, streaming e um pequeno exercício de futurologia ao final.
Minha crítica ao livro? Não ter encontrado uma tradução para o português.
Continuous Architecture in Practice – Murat Herder, Pierre Pureur e Eoin Woods
Foi uma leitura muito enriquecedora não por concordar cegamente mas sim por ter me permitido questionar cada um dos capítulos. Descobri o livro por indicação do Adriano Tavares (sempre me indica bons livros, devia ser livreiro) e coincidiu muito com meu momento profissional no qual a arquitetura passa a tomar mais de 80% dos meus afazeres.
Os princípios da arquitetura contínua são descritos de forma prática neste livro (daí o título). Cada um destes princípios por si só valeria um livro pois levantam questionamentos sobre como pensamos o ofício de arquiteto de uma forma profunda e, no meu caso, extremamente conflitantes. O que o pensamento dos autores diz sobre requisitos fucionais vs qualidade, por exemplo, é um ponto com o qual não consigo concordar, porém me fez questionar tantas coisas que por si só já valeu o investimento na leitura.
O Adriano iniciou uma comunidade só pra tratar destes temas – The Roosters. Vale muito à pena participar se este assunto te interessa. Segue o link: https://theroosters.org/
Um ponto importante sobre este livro: o tempo inteiro faz referências ao anterior, “Continuous Architecture“, que não li. Sendo assim, recomendo que você não cometa meu erro e inicie por este livro.
Outras leituras técnicas interessantes
Os três livros acima foram os que mais me impactaram, mas é importante fazer menção a outros que li no ano que também achei interessantes.
Introdução ao GraphQL – Eve Porcello e Alex Banks
Quer uma introdução interessante aos conceitos do GraphQL? Este livro quase consegue. A primeira parte é realmente muito útil, mas a segunda na qual faz uma narrativa prática é absolutamente dispensável pois é basicamente Apollo, Apollo, Apollo. Quase escrevi um post só falando como é frustrante ler algo que começa tão bem e descamba de forma tão brusca. Primeiros três capítulos: ok, depois… Mais jogo você ler a documentação oficial do Graphql.
Kubernetes Básico: mergulhe no futuro da infraestrutura – Brendan Burns, Joe Beda e Kelsey Hightower
Não sei se Kubernetes será de fato o futuro da infraestrutura pois já é o presente nas ideias que trouxe. E este livro como introdução à tecnologia é excelente. Precisava de um contato inicial com a tecnologia e foi exatamente o que encontrei aqui. Foi tão bom, aliás, que me deu argumentos muito bons não apenas para adotar o Kubernetes mas também para oo contrário (o mais importante na minha opinião).
OAuth 2.0 – Proteja suas aplicações com o Spring Security OAuth2 – Adolfo Eloy
Fazia tempo que eu buscava uma introdução legal pra OAuth 2.0 e finalmente achei aqui uma que chega bem perto. Este livro do Adolfo Eloy é a melhor introdução que já vi sobre o assunto: fácil de entender, os conceitos são bem descritos e a abordagem mão na massa pra quando você precisa implementar os padrões OAuth em seus projetos.
Por que não é perfeito (e é por muito pouco)? Por que ainda faltam alguns detalhes que geram dúvida no pessoal no primeiro contato, e o Spring OAuth 2 por resolver quase todos os problemas em aplicações baseadas em Spring Framework acaba por não expor estes detalhes.
Effective Kafka – Emil Kountanov
Precisei me aprofundar em alguns aspectos do Kafka em 2022: até então o usava essencialmente como mecanismo de mensageria (eu sei.. eu sei…) e este livro foi o que me fez entender diversos pontos do Kafka que fizeram toda a diferença no meu ano. Ele vai desde como você deve projetar suas aplicações, passando por como tunar o Kafka, sua arquitetura, segurança, gestão de transações, armazenamento… Foi de longe o melhor material que já encontrei sobre o assunto.
Blockchain
Em 2021 blockchain entrou no meu radar como um possível mercado para consultorias para a itexto e no ano passado lançamos uma iniciativa interna de pesquisa sobre estes assuntos. Nisto encontrei material muito legal que compartilho aqui com vocês.
Livros do Andreas Antonopoulos
Ao consultar o pessoal que entende muito do assunto (David Gibbin, Armando Dutra, Marco Jardim) este nome sempre aparecia como principal referência. Então eu… li praticamente tudo o que encontrei dele e aqui seguem as minhas impressões.
The Internet of Money – Primeiro, Segundo e Terceiro livros
São as transcrições de diversas palestras do Antonopoulos: todos os três estão inclusive disponíveis no Kindle Unlimited para quem é assinante. O que há de bom: é uma visão de alto nível para o pessoal de negócios sobre cripto moedas e aplicações da blockchain. Ele fala de coisas como defi, criptomoedas, e todas as maravilhas que a descentralização trás.
Você deve ler estes livros com muita cautela e de forma crítica pois pintam um mundo bonito demais pra ser levado a sério. Sinceramente não sei se recomendo ler os três como fiz pois com o tempo vai ficando repetitivo (os assuntos se repetem nas palestras), mas como visão de evolução do autor, é interessantíssimo.
Mastering Bitcoin: Programming the Open Blockchain
Que livro legal: apresenta uma descrição técnica muito detalhada não do bitcoin em si, mas da rede blockchain usada por ele. Todos os detalhes são tratados ali, inclusive como programar para esta rede: é importante lembrar que este livro é de 2017, então se você comprou a versão impressa, algumas coisas vão ter mudado.
“Se você comprou a versão impressa”… este livro foi liberado pela licença Creative Commons, e o texto atualizado pelo autor e corrigido pelos leitores está disponível no Github. Olha que legal: https://github.com/bitcoinbook/bitcoinbook
Mastering Ethereum
Mesmíssima pegada do Mastering Bitcoin, só que voltado para a rede Ethereum. É interessante ter lido antes o livro sobre Bitcoin para entender os conceitos de blockchain.
Os conceitos são muito bem explicados (finalmente entendi o que era o “tal do token”). A primeira metade do livro é expondo a infraestrutura básica do Ethereum e na parte seguinte como funciona o desenvolvimento de smart contracts. Não espere aqui um tutorial de solidity: a linguagem é exposta de uma forma bastante superficial pois não é o objetivo do livro.
Tal com o Mastering Bitcoin aqui também temos o livro liberado como código aberto no Github e atualizado pelos leitores. Link: https://github.com/ethereumbook/ethereumbook
Importante: agora o Ethereum está adotando a proof of stake, e este livro não está tão atualizado, mas como base, é bem legal.
Ethereum
Blockchain Ethereum: Fundamentos de arquitetura, desenvolvimento de contratos e aplicações – João Kuntz
É um livro bem atualizado, de março de 2022, bem no formato popular da Casa do Código, isto é, bem prático. Não é um livro ruim: é dividido em três partes. Na primeira uma descrição arquitetural da rede Ethereum, a segunda o ambiente de desenvolvimento e na terceira algumas questões de segurança.
É um livro ruim? Não. Recomendo a compra? Não, pois batendo o conteúdo do livro com a documentação oficial do Ethereum esta, além de ter grandes partes já traduzidas para o português é fonte primária de informação e portanto mais atualizada e segura. É mais interessante portanto ir direto pra esta.
Documentação oficial do Ethereum
Fiquei encantado com esta documentação. É realmente muito boa e trás tudo o que a gente precisa para entender como a rede funciona e também pra já poder ir pondo a mão na massa e ir desenvolvendo os smart contracts.
O Learn Hub é muito impressionante, e a seção “basics” pra ter uma visão de negócio e “Ethereum protocol” pra entender como as coisas funcionam por baixo dos panos é realmente muito interessante. Mas cuidado: por ser a documentação oficial há aqui uma visão muito enviesada positivamente sobre a tecnologia. Leia de forma crítica tudo o que encontrar. Busque ler sobre limitações do Ethereum e principalmente sobre os custos.
Link pro site do Ethereum: https://ethereum.org/en/learn/
Leituras não técnicas
Por “não técnicas” entenda não diretamente relacionadas a desenvolvimento de software (no final das contas tudo tá relacionado).
Literatura geral
Planeta dos Macacos – Pierre Boulle
Que livro! Se em 2021 o livro que me impressionou foi “Laranja Mecânica”, em 2022 sem sombra de dúvidas foi “Planeta dos Macacos”. A ideia de nós, humanos, não estarmos mais no topo da cadeia alimentar e de repente sermos vistos como animais de estimação é incrível.
O livro te faz pensar muito sobre a questão da racionalidade animal (eras atrás quase fui pra este ramo de pesquisa enquanto aluno da Filosofia, mas ao ser apelidado de “Dr. Doolittle de BH” desisti da ideia (shame on me)) tratada no livro é incrível. Você começa a se questionar se o conceito de civilização é estritamente humano e mesmo se o modo como tratamos nossos animais de estimação é o mais adequado.
E o final… épico.
Nunca mais olhei pra Kica do mesmo modo. :)
Tropas Estelares – Robert Heinlein
Eis um livro que meu preconceito impedia de levar a sério (sempre lembrava do filme). Aí um dia resolvi dar uma chance e… no contexto da guerra da Ucrânia rolando… QUE LIVRO!
Achei que seria apenas um livro de ação boba de humanos lutado contra uma espécie alienígena que no final descobriríamos ter sentimentos, mas não: é muito mais que isto. Pra começar são pouquíssimos os chavões. Há reflexões aqui sobre a natureza da guerra que me chamaram muito a atenção.
Claro, não é um livro perfeito: há longos períodos de puro tédio no qual se descreve os pormenores da vida das tropas, mas estas reflexões (os diálogos com os generais e professores especialmente) valem a leitura.
Children of Time – Adrian Tchaikovsky
Um livro que me caiu em mãos por absoluto acaso. A sinopse me ganhou: no futuro a humanidade busca um novo planeta para habitar e salvar a espécie e o encontra. Então desenvolve um vírus a ser aplicado em macacos para que evoluam neste novo habitat: um acidente faz com que o vírus não atue sobre os macacos mas sim sobre… aranhas que desenvolvem sua própria civilização enquanto a humanidade está a caminho para habitar este novo planeta.
COMO NÃO VOU LER ALGO COM ESTA SINOPSE??? Uma civilização de aranhas? Como seria a cultura desenvolvida? Como seriam aranhas racionais, como interagiriam entre si?
(olha o tema da racionalidade animal voltando)
E a pergunta mais importante de todas: como nós, humanos, conseguiríamos (será que é possivel?) nos comunicar com uma espécie totalmente alienígena?
Descobri que tem tradução para o português, mas li em inglês. Há lá alguma cafonice no texto, mas a ideia é muito legal.
Um mundo que não foi feito para humanos ou que humanos são pets? hmmm…
Assista este filme, você vai gostar.
Ciências sociais e filosofia
Coisas interessantíssimas aqui: e para uma delas me preparei 20 anos. Vamos lá.
Pele Negra, Máscaras Brancas – Frantz Fanon
Que livro maravilhoso: foi sem sombra de dúvidas uma das leituras que mais impactou meu ano. O que me surpreende (e ao mesmo tempo é bastante ilustrativo) é o fato de tê-lo descoberto por acaso ao ouvir este episódio do podcast “History of Indian and Africana Philosophy”.
Fanon descreve com uma escrita muito particular (é incrível o modo como escreve, realmente muito interessante) os efeitos psicológicos do racismo e do colonialismo sobre nós, os colonizados. Frantz Fanon escreve sua experiencia nas Antilhas, mas enquanto brasileiro me identifiquei bastante com o que é narrado ali.
O modo como ele expõe a manifestação dos preconceitos através da linguagem e literatura é fenomenal. Leitura fascinante: que livro, que livro, que livro!
O Capital – Livro 1 – Karl Marx
Quando entrei no curso de Filosofia em 2001 me disseram: “há autores que você deve evitar ler durante o curso se é muito jovem, tal como Marx, pois ele vai enviesar sua visão do mundo e ferrar o restante do seu curso”.
Aí ano passado apareceu o Livro 1 do Capital no Kindle Unlimited: comecei e ler, me interessei e acabei comprando a edição impressa da editora Boitempo cuja tradução foi feita pelo Rubens Enderle. Dias depois chega um pacote do tamanho de um tijolo para mim: era o livro.
Esta edição é maravilhosa: contém uma série de artigos de Jacob Gorender, Althusser e Giannotti que devem ser lidos ates de chegar ao texto em si. São muito bons e dão a contextualização que precisamos pra ler o texto.
Finalmente, chegando ao texto, me impressionou MUITO a riqueza de referências que há ali: vai desde Balzac até elementos de química. Não é um texto fácil, é fundamental ter o contexto histórico para não termos uma leitura pobre da obra e, mais importante, tentar se distanciar ao máximo de preconceitos que temos em relação a Marx (o termo marxismo hoje é carregado de uma série de preconceitos que se não for levado em consideração na leitura irá destruir sua experiência).
O primeiro capítulo sobre o conceito de Mercadoria deveria ser lido por todo desenvolvedor (principalmente pelo pessoal que gosta tanto de cripto moedas). Tem sido uma leitura muito enriquecedora, mas difícil. Você pode precisar de ajuda, sendo assim segue minha última dica de leitura.
Para entender o Capital Livro 1 – David Harvey
Estou lendo o livro 1 do Capital junto com este livro do David Harvey que vai dando o contexto histórico político em que a obra foi criada. É uma leitura muito bacana pois vai tratando capítulo por capítulo do livro 1.
Então você pode ir lendo de forma concomitante os dois, como se fosse um curso universitário.
Concluindo e adicionando um pouco mais
Nem só de livros foi o ano, mas muito violão também (acho que não compensa colocar aqui o que li a respeito) cujo progresso fui registrando no YouTube. Mas dentre as coisas que mais gostei sem sombra de dúvidas foi minha assinatura da Darkflix. O app é horrível, mas o acervo de filmes de terror que eles tem é maravilhoso. Dentre os flmes excelentes que vi:
- Peixe Cru (genial)
- Crimes do Futuro
- Mary Morbida (genial)
- Além da Imaginação (a série clássica)
- V (a série clássica, não lembrava ser tão poucos episódios)
- Viagens Alucinantes
- A Descendência
- E mais uma infinidade de filmes horríveis que adoro
Música foi muito John McLaughlin, Mike Stern, Miles Davis, Al di Meola, Larry Coyrell e outros que inclui nesta playlist.
Basicamente, é isto. 2023 chegou e tem livros que quase pararam nesta lista. Só não entraram por que… é 2023.
Mas estou pensando em durante o ano fazer reviews mais detalhados aqui destes livros. Vamos ver.