DEV Community

Henrique Lobo Weissmann (Kico)
Henrique Lobo Weissmann (Kico)

Posted on • Originally published at devkico.itexto.com.br on

Minhas boas leituras de 2021

O projeto MundoKico

Acho que posso dizer que 2021 foi 2020 com esteroides: a pandemia continuou e com ela nosso isolamento social. Mais tempo longe do contato físico com os colegas e amigos acabou por ter efeitos inesperados em mim, razão pela qual antes de falar sobre os livros que li (foram tantos!) falo sobre o projeto que prometi ano passado, o MundoKico.

Minha ideia era criar um blog e um canal só pra poder falar durante todo o ano sobre as coisas que ia lendo. Acabou acontecendo mas de forma totalmente inesperada. Apesar de ter sido um ano glorioso pra itexto também foi um período muito difícil pra mim pessoalmente, então acabei reatando contato com um velho melhor amigo: o violão clássico.

Apesar de ser quase auto didata neste aspecto resolvi após quase 20 anos (ou 20 anos?) voltar a ter aulas (na adolescência fiz curso de musicalização e piano na Fundação de Educação Artística de Belo Horizonte) pra me aprofundar no assunto a partir do meio do ano. Comecei tendo aula de harmonia e improvisação com o Magno Alexandre, que é um músico de Jazz maravilhoso aqui de BH e que você deveria ouvir (link pro Spotify dele): tem sido uma luta fantástica por que são assuntos muito difíceis pra mim e a vivência que o Magno me passa é única. Aí depois veio o Gustavo Bracher que tá lapidando minha técnica de violão e é um monstro tanto no violão quanto na didática (aqui tá o canal dele no YouTube). Ambos estão me levando pra um outro nível da coisa e tem me feito um bem danado!

Então o projeto MundoKico acabou virando... eu tocando violão sem parar, o que você pode acompanhar neste canal que criei pra poder compartilhar com estes dois gênios que citei acima o meu progresso.

Esta minha volta ao violão em parte foi motivada também por experiências bastante negativas que tive nas redes sociais ano passado e final do ano retrasado sobre as quais só direi isto: a consequência principal foi decidir me afastar do "mundo dev". Não mais escrever no blog, paralisar o projeto do livro que estava atualizando e me focar apenas naquilo que realmente fosse o essencial e valesse à pena pra mim, minha família e meu time.

Isto quer dizer que na realidade produzi muito conteúdo que não foi publicado (será este ano), li muito mais e, mais importante: que estes limões serviram pra que eu não fizesse uma limonada, mas sim uma infinidade de variedades cujos frutos serão vistos este ano e nos seguintes. Aprendi pra daná!

Então vamos aos livros?

Aviso

Ver a imagem de origem

Os livros que gosto não necessariamente são aqueles com os quais concordo e a visão que mostro a respeito do conteúdo que exponho aqui é pessoal. Eu não gostar de um livro não quer dizer que ele seja ruim: livros ruins eu sequer cito para que você não corra o risco de os ler (só vou te indicar se não gostar de você mesmo, ok?).

E não fique triste se xingar muito um autor aqui ou indicar alguém que você não gosta.

Livros técnicos

Foi um ano de releituras importantes. Então começo por um autor que foi um conflito pra mim começar a letura.

Releituras

Robert C. Martin (o "Uncle Bob")

Em 2019 notei várias críticas a este autor referente às suas opiniões políticas que são inclusive incompatíveis às minhas. Surgiu o conflito: devo consumir conteúdo de alguém com estas posições? Seria ético? É possível separar o autor da obra? Depois de muito "matutar" noto que estes são problemas provavelmente insolúveis e alguns fatores me levaram a dar uma segunda chance:

  • Meus sentimentos conflitantes em relação ao "Clean Code". A primeira leitura que fiz deste livro foi muito ruim: me soou raso, a linguagem me parecia artificialmente pessoal (talvez fruto da tradução?).
  • Apesar de tudo o autor tem um papel muito importante na formação técnica dos profissionais brasileiros. Sempre há citações, então talvez a minha primeira impressão estivesse errada e, mais importante: isto me ajudaria a entender melhor o modo como nós, brasileiros que programam, pensamos e somos formados.
  • Sempre li o que quis independente da opinião alheia: bastou me lembrar disto para resolver o conflito na hora.

Clean Code - Código Limpo

Ver a imagem de origem

Normalmente quando as pessoas entram pra área de desenvolvimento (especialmente os auto didatas, como é o meu caso (só depois que entrei pra faculdade)) optam como primeiras leituras livros sobre linguagens de programação ou frameworks, o que hoje vejo como um erro. Eles até mostram boas práticas, mas voltadas para aquele contexto específico (o da linguagem ou framework), não vão além (deveriam?).

Na outra ponta há os livros de formação que vão tratar das "coisas que você deveria saber" sobre o ato de programar, são as boas práticas e as armadilhas do dia a dia. Código Limpo entra neste grupo. Se for o seu primeiro livro neste assunto é um bom livro. Você vai ler sobre como tratar exceções, escrever boas classes, concorrência, etc. Temas que são vistos em detalhes na faculdade condensados nestas páginas.

Como uma introdução, é um bom livro: como guia pro resto da sua carreira é raso.

É um livro pequeno que não assusta quem está dando os primeiros passos. A linguagem do autor é até agradável: passa a sensação de alguém experiente te contando as dores pelas quais já passou com algumas pitadas de "rabujice amável".

Meu problema com Clean Code é que antes eu havia lido algo muito melhor que é o Code Complete do Steve McConnell. Acho muito difícil alguém que tenha lido antes o Code Complete não achar Clean Code raso.

Ver a imagem de origem
Se vai pegar o seu primeiro livro de formação, pega este, não o Clean Code!

Code Complete vai muito além do Clean Code: é mais aprofundado e tem muito mais conteúdo. Trata, por exemplo, do relacionamento com membros da equipe, algo que quem está começando não leva em consideração e é tão importante ou mais (na minha opinião, bem mais) que boas práticas de codificação.

Mostra estratégias adicionais de desenvolvimento (baseada em tabelas, por exemplo), mas possui uma linguagem mais técnica. Enquanto no Clean Code temos o "programador experiente", aqui estamos lidando com um "consultor experiente". Há mais referências sendo citadas e também mais ferramentas (as checklists brilhantes ao final dos capítulos são um exemplo) que te agregam ao final. É muito menos subjetivo que Clean Code e isto é necessário para que os iniciantes não caiam na tentação de reproduzir estereótipos tolos.

Então por que as pessoas falam mais do Clean Code que do Code Complete? Não sei mas especulo: na itexto temos ambos os livros e não raro os iniciantes se assustam com o Code Complete quando notam ser um livro bem mais grosso e com fonte menor. Talvez seja esta primeira impressão, mas não raro os que optam pelo caminho do Code Complete acabam tendo uma formação inicial bem melhor.

Veredito final agora: continuo achando Clean Code uma introdução bem leve e rasa às boas práticas, mas também amando o capítulo sobre nomeação de variáveis, funções e classes (segundo capítulo) uma das melhores coisas que já li e indico para toda a minha equipe sempre.

Arquitetura Limpa - Clean Architecture

Ver a imagem de origem

Desta vez li duas vezes pra confirmar que realmente é um livro do qual adoro discordar, o que enriquece a leitura: me ajudou a confirmar diversas das opiniões que tenho e sobre as quais é bem possível que venha a escrever algo aqui no futuro a respeito.

Se você leu Clean Code como seu primeiro livro de formação, então leia Arquitetura Limpa logo na sequência pois é um complemento na minha opinião obrigatório para que fique claro como os princípios expostos no primeiro se aplicam em situações reais.

Clean Architecture tem como objetivo ser uma introdução à Arquitetura de Software, mas aqui temos uma visão muito pessoal do que é a arquitetura de software. Sendo assim, se você não leu Clean Code, a melhor forma de ler este livro é saber que "é a visão pessoal do Robert C. Martin sobre o assunto e suas experiências a respeito", ok? Se você ler sob este viés vai ter uma experiência muito rica, caso contrário é possível que você só discorde e a coisa morra aí, o que seria uma pena.

O livro tenta trazer uma visão de alto nível para o desenvolvimento: o que é arquitetura (na opinião do autor), o que são valores, paradigmas de programação até chegar em "princípios de design". Estes princípios são o SOLID, cunhados pelo próprio autor, só que agora aplicados a elementos de mais alto nível (componentes, sistemas). A coisa fica interessante neste momento, mas se estende demais, ao ponto de ficar repetitiva. Daí vai tratar de conceitos como dependências entre elementos da arquitetura, limites, etc.

Como uma introdução é legal: se você quer se aprofundar, fuja daqui. Todos estes assuntos já li inúmeras vezes na minha vida profissional, então a coisa fica tediosa pra mim, mas não pra quem tá começando. Há inclusive alguns exemplos práticos e experiências de vida do autor que agregam bastante.

O que realmente gosto deste livro é o capítulo 29 sobre arquitetura de software embarcado. Se eu pudesse ter um "Clean Architecture" a la carte só compraria este capítulo. Não pelo que é dito sobre software embarcado (é só o óbvio pra quem conhece o assunto), mas sim sobre os insights que me trouxe sobre software legado. Se for ler este livro, preste muita atenção neste capítulo específico.

Trabalho Eficaz com Código Legado - Michael C. Feathers

Ver a imagem de origem

Esta releitura foi a mais importante do ano pra mim e que realmente agregou. Continuo achando a definição de "software legado" aqui péssima: "é software sem testes". Sobre isto inclusive já escrevi bastante aqui no blog. Péssima por que reduz toda uma categoria de software a um problema que seria a ausência de testes, simples assim.

Tirando esta definição ruim de código legado, se lido como um guia de refatoração é fantástico, inclusive muito melhor que o Refactoring do Martin Fowler. O modo como as técnicas são tratadas aqui são excelentes e o que gosto muito é que não são simplesmente regras lançadas a esmo, é exposto também como aplicá-las.

Aprendizado de máquina - Machine Learning

Fiz um bootcamp este ano sobre machine learning para me atualizar sobre o assunto, adquirir vocabulário e obter novas referências para que pudesse me aprofundar a respeito não enquanto desenvolvedor, mas sim gestor para poder participar mais ativamente junto com a equipe da itexto na execução de projetos nesta área (a empresa cresceu tanto que não participo mais de todos os projetos, acredita?).

Foi uma experiência válida (apesar de bem pobre) pra que eu pudesse solidificar alguns conceitos e também ler coisas interessantes a respeito. E deu muito certo: hoje temos projetos muito bem sucedidos nesta área!

Foco em estatística primeiro

Algo que ficou claro no bootcamp que fiz: os instrutores chegavam mostrando os diversos algoritmos mas qusae não mencionavam a base estatística da coisa. Resultado: pessoas boiando entendendo muito pouco do que lhes era apresentado. Então voltei pros meus livros de estatística e sigo com uma releitura e um livro novo que me ajudaram bastante.

Estatística - O que é, para que serve, como funciona - Charles Wheelan

Ver a imagem de origem

Já falei deste livro aqui e volto a indicar: é uma introdução aos conceitos da estatística descritos por um jornalista. Então te fornece uma visão de altíssimo nível mas, mais importante, o vocabulário pra que você possa mais a frente se aprofundar nos assuntos tratados.

(dica de estudos: sempre comece aprender algo pelo vocabulário, caso contrário você sequer consegue escrever uma busca no Google)

Mais que apresentar o vocabulário, Wheelan também ensina o autor a como interpretar notícias que usam estatísticas como base, o que te fornece uma visão muito mais crítica não só no mundo técnico mas social também. Por isto sempre recomendo este livro.

Estatística Prática para Ciência de Dados: 50 conceitos essenciais - Peter Bruce e Andrew Bruce

Recomendo ler este segundo livro na sequência pois aqui já temos uma visão mais matemática da estatística. Foi a partir da leitura deste livro que os conceitos de machine learning passaram a fazer bem mais sentido pra mim.

Ferramental de Machine Learning

É um livro no formato técnico clássico e faz exatamente o que se propõe: vão ser apresentados os conceitos estatísticos essenciais passando por análise exploratória de dados, regressão, classificação, etc.

Ferramental de Machine Learning

Uma outra falha no bootcamp foi uma apresentação extremamente rasa das ferramentas de machine learning, então precisei correr atrás. Ano retrasado já havia iniciado um estudo mais intenso de Python, o que me ajudou bastante, mas eu precisava de um livro que pudesse condensar estas ferramentas para que, enquanto gestor/arquiteto, pudesse participar mais ativamente destes projetos na itexto. Então encontrei o livro abaixo.

Mãos à Obra: Aprendizado de Máquina com Scikit-Learn & Tensor Flow - Aurélien Géron

Se tivesse visto este livro antes não teria feito o bootcamp, simples assim. É um guia que vai além das ferramentas, mostra também os principais algoritmos de machine learning e os conceitos envolvidos. Novamente segue a minha dica: só vá para este livro se você já tem os conceitos de estatística fixados na sua cabeça, caso contrário será uma leitura bem rudimentar da coisa (vai te faltar vocabulário).

A didática do livro é bem legal: você na prática irá executar alguns projetinhos e com eles experimenta a aplicação destes conceitos na prática.

Rust

Tá aí uma tecnologia que me impressionou muito este ano. Aprendi horrores a respeito e inclusive publiquei um guia de estudos pra quem está começando que pode ser acessado neste link que contém inclusive uma bibliografia comentada que aumenta bastante este post.

Mas é importante fazer uma menção honrosa a um livro em particular:

Rust: Concorrência e alta performance com segurança - Marcelo Castellani

É publicado pela Casa do Código e já ouvi falar que estão trabalhando em uma segunda edição. Simplesmente é o melhor livro sobre Rust que já li e em português. Foi graças a este material (e principalmente o Júlio Brito) que a tecnologia se viabilizou na itexto e tivemos um projeto de muito sucesso com ela.

É leitura simples e bem guiada, que dá um caminho muito bom pra quem está começando e o melhor: 100% nacional!

Building Microservices: Designing Fine-Grained Systems - Sam Newman

É raro encontrar livros tão densos quanto este: em aproximadamente 250 páginas vai te dar uma aula sobre como projetar micro serviços mostrando não só o lado vendável da coisa mas, mais importante: os desafios.

Todos os conceitos essenciais de micro serviços são abordados nestas poucas páginas: definição de domínio, monitoramento, segurança, integração, testes, implantação, escalabilidade... e vai inclusive além quando trata da lei de Conway, segundo a qual as empresas tendem a expor sua organização interna nos sistemas que usa/produz. É leitura obrigatória se você quer se aprofundar nestes assuntos.

Cito este livro por que finalizada a leitura uma pergunta vinha à minha mente: como a gente foi parar em um mundo tão complexo? Seria esta complexidade toda realmente necessária ou nós que nos colocamos nela? Estas questões tomaram boa parte do meu ano.

Apostila Microservices com Spring Cloud - Alexandre Aquiles

Imagem

O título é péssimo pra melhor coisa que já li sobre micro serviços. Apesar do Alexandre usar o Spring Cloud como ferramenta que guia o leitor durante todo o material, ele é usado apenas como ferramenta de apoio. Tirando isto, são expostos todos os conceitos por trás dos micro serviços e com inúmeras referências ali.

Há a parte prática com Spring Cloud que ajuda bastante e inclusive já vi ser aplicada "as is" em alguns projetos legados que toquei e ela é muito bem descrita.

O mais interessante destas referências é que, ao contrário do livro do Sam Newman, estas são locais, pessoas daqui, do Brasil, ou seja: são casos próximos a nós. E o aprofundamento conceitual também é fenomenal: o Alexandre levanta várias questões ao apresentá-los e vai muito além de uma mera apostila.

Aliás... não é uma apostila, é um livro que deveria ser publicado como tal.

E está totalmente acessível de graça neste link do Github. Fantástico termos outro material nacional de altíssimo nível nesta lista, hein?

Livros não técnicos

Houve um tempo em que via a minha menção a livros não técnicos como algo "off topic": hoje já vejo como algo totalmente "in topic" pois está bem claro pra mim que os melhores profissionais são aqueles que vão bem além do teclado. Faz todo o sentido se você pensar que software interage com o mundo humano.

Laranja Mecânica - Antony Burgess

Laranja mecânica por [Anthony Burgess]

No meu post do ano passado disse que estava finalizando Laranja Mecânica e só o fiz em janeiro, então ele entra nesta lista. Mas mais do que isto: foi o livro que me acompanhou durante todo este período graças à minha relação com Alex, o protagonista.

Burgess mostra neste livro como a linguagem e a ignorância de Alex expõem sua visão de mundo (determinismo linguístico clássico!). Enquanto parte de um grupo extremamente ignorante ao ponto de, por falta de vocabulário (notaram como estou usando esta palavra aqui?) criar um idioma próprio e depois, mais vivido e culto, o abandono deste vocabulário próprio e adoção de um mais civilizado, deixando pra trás seu passado criminoso.

Enquanto alguém de 42 anos (43 dia 9) me pegava pensando no meu duplo papel enquanto leitor: como alguém mais velho que interage com uma geração mais nova e me lembrando quando era mais jovem e como interagia com a geração mais velha. Este diálogo interno entre mim, Alex e o mundo enriqueceu horrores o meu ano.

A Peste - Albert Camus

Ver a imagem de origem

Já que estou em uma pandemia, por que não, né? Neste caso foi quase uma releitura, pois meu primeiro contato com este livro se deu quando tinha uns 16, 17 anos. E ao reencontrá-lo em 2021 percebi que não havia entendido NADA daquela primeira leitura. :D

É fascinante você observar os paralelos entre a realidade descrita por Camus e o que vivemos neste ano. A desinformação, o momento em que negamos uma realidade que pode se mostrar terrível, a aceitação da mesma, o pânico... é quase uma descrição de 2020 e 2021 aqui no Brasil. Valeu cada página.

Lula, volume 1: Biografia - Fernando Morais

Em tempos polarizados (será que estamos tão polarizados assim hoje?) mencionar uma personagem como Lula pode gerar reações interessantes. O que posso dizer então? Goste ou não de Lula (o curioso da pessoa que me critica por ter lido a biografia do Lula mas lê a do Hitler...), pode ler esta biografia, é magistral.

É uma biografia diferente: não segue o formato clássico do momento do nascimento até o último momento da personagem. Começa a narrativa a partir da prisão de Lula em 2018 e faz uma narrativa quase que de hora em hora do que aconteceu. É Fernando Morais clássico: se você já leu os outros trabalhos dele sabe o que vai encontrar.

Pode ler como literatura, é certo que você vai gostar e muito da coisa. Há os que dirão que é um material político... com certeza é, mas se for pra ser, que seja algo muito bem escrito pelo menos. Fazia muitos anos que não lia uma biografia tão boa.

A Criação do Patriarcado: História da Opressão das Mulheres pelos Homens - Gerda Lerner

É um soco no estômago enquanto homem este livro: que narra desde a antiguidade até os tempos atuais como foi criado o patriarcado e de que formas se manifestou a opressão às mulheres e as hipóteses apresentadas pela autora são fascinantes. Se você gosta de história tá aí um belo livro: muitas referências e uma pesquisa claramente muito bem feita. Me impactou bastante.

A introdução escrita para esta edição por Lola Aronovich já te ganha. Está disponível no Kindle Unlimited caso você seja assinante.

O Genocídio do Negro Brasileiro - Abdias Nascimento

E aqui um soco no estômago enquanto branco: este livro do Abdias Nascimento me foi indicado pela Nanna para que fosse lido. Tem uma história curiosa: o texto aparece pela primeira vez em 1977 para ser apresentado em um congresso na Nigéria e que é duramente sabotado por mostrar, já naquela época, uma visão sobre a história brasileira discordante da que nos foi imposta pelos militares durante a ditadura e que tem seu retorno com os bolsonaristas atuais.

É importante ler este texto hoje pra que tenhamos uma visão mais dura da monstruosidade a que foram submetidas estas pessoas e pra entender que sim, há uma dívida histórica.

Uzumaki - Junji Ito

Eu pagando língua aqui: sempre achei animes muito, muito, muito chatos. Mas ouvi um episódio do podcast Mundo Freak Confidencial que me deixou curioso sobre o autor e... que negócio maluco! Que narrativa bizarra! Me ganhou.

Primeiro por que como nunca tinha lido um anime (então como eu achava "muito muito muito chato"? puro preconceito) então li ao contrário primeiro. Aí vi que tinha de ler do outro modo. Dos dois modos gostei bastante. Leria mais coisas do autor? Não: confesso que me exauriu ali, mas fica aqui minha sugestão de quadrinho pra quem curte pois realmente gostei muito deste.

1177 B.C: The Year Civilization Colapsed - Eric H. Cline

Você sabia que houve um colapso civilizatório neste ano? Eu também não: e este livro que descobri por acaso quando o YouTube me mostrou este vídeo chamou muito minha atenção então acabei com este material em mãos.

E é fascinante e assustador como Cline faz paralelos entre o que ocorre na era do bronze e os tempos atuais. Como uma curiosidade histórica é bem interessante. Não cheguei a buscar críticas a este livro, mas como leitura, vale à pena. Tem no Kindle.

Projeto pra leituras de 2022

Enquanto escrevia este post não me saia da cabeça a impressão de que estava esquecendo algum material que tenha me sido importante. Talvez não tenha sido tão importante assim já que o esqueci, mas poderia ter sido importante para alguém que leia este blog. Sendo assim vou tentar durante este ano ir publicando aqui as coisas interessantes que leio. Não prometo, mas vou tentar, ok?

Que 2022 seja melhor que os dois anos anteriores que tivemos.

https://www.youtube.com/watch?v=5V9i6ndGwD8

The post Minhas boas leituras de 2021 appeared first on /dev/Kico.

Top comments (0)