Category Archives: paideia

Minhas boas leituras de 2017

Boas tradições não devem morrer, sendo assim aqui está aquele post anual no qual conto quais foram os melhores livros que li no ano. Minhas leituras se dividiram em dois grandes grupos: leituras técnicas e alguns livros que ouvi falar a respeito muitos anos atrás cuja curiosidade resolvi satisfazer em 2017.

Leituras técnicas

High Performance Mobile Web – Maximiliano Firtman

Se você quer saber como desenvolver interfaces web focadas em dispositivos móveis com desempenho extremo este é O livro.

É simplesmente maravilhoso: você começa com uma análise do ferramental disponível (os navegadores, as ferramentas de desenvolvimento presentes nestes), passando por uma crítica muito interessante à variedade de dispositivos em que nossas aplicações podem ser executadas até que finalmente nos fornece uma série de dicas de implementação que tornam os projetos realmente muito mais eficientes.

Fazia muito tempo que um livro não me ensinava tantos truques novos. Foi maravilhoso aprender tantas coisas novas.

HTML & CSS: Design and Build Websites – John Duckett

Este é um livro que se você for comprar, terá de ser a versão física. O comprei para o pessoal iniciante da Itexto na área de desenvolvimento frontend e, numa boa? Só me arrependo de não o ter comprado ANTES. Torna todo o processo muito mais claro justamente por ser visual.

Não o vejo como um tutorial, mas mais como um catálogo visual que ilustra as diversas funcionalidades presentes tanto no HTML quanto CSS. Além disto é muito bem escrito. Dica para as editoras brasileiras: traduzam este livro!

Me impressionou muito o fato de um livro técnico poder dizer tanto com as imagens que apresenta. O mais próximo que posso te mostrar é link sobre o livro na Amazon, que tem algumas imagens. Um trabalho maravilhoso. Clique aqui e compre.

Bullet Proof SSL and TLS: Understanding and Deploying SSL/TLS and PKI to Secure Servers and Web Applications – Ivan Ristic

Se você quer entender como funciona toda esta questão de certificados digitais, HTTPS, SSL, e cia, o livro é este. É fantástico, por que ao mesmo tempo em que apresenta estas tecnologias com um nível de detalhamento bastante aprofundado, o faz de uma forma bastante didática.

É inclusive um fato curioso: pouquíssimos profissionais DE FATO entendem como o HTTPS funciona. Vai muito além da instalação de certificados digitais e configuração de servidores. E este livro ajuda bastante nesta direção. Aliás, uma dica: existe um site da editora (Feisty Duck) no qual é possível baixar excelente material a respeito destes assuntos e que é totalmente gratuito. Segue o link.

Groovy in Action – Segunda Edição – Dierk Konig, Paul King, Guillaume LaForge, Hamlet D’Arcy, Cédric Champeau, Eric Pragt e John Skeet

Já havia lido anos atrás a primeira versão deste livro, e a segunda é uma atualização maravilhosa não só sobre Groovy, mas também sobre alguns outros astros que estão ao redor da linguagem, que ainda é a minha favorita.

Se é para indicar um único livro sobre Groovy, seria este. Claro, há o meu sobre Grails também, no qual já iniciei o trabalho de atualização para lidar com a versão 3 do framework.

O bacana deste livro é que é extremamente bem escrito: é uma leitura leve, e você não precisa ler inteiro em uma sentada. Dá para ler de uma forma completamente não linear, o que o torna uma excelente obra de referência.

Nenhum livro técnico de qualidade nacional?

Nenhum que valha à pena mencionar. Tudo o que li em português este ano de 2017 achei extremamente pobre e em alguns casos cheguei a me questionar se realmente houve um trabalho de revisão antes de serem publicados.

As mesmas críticas que fiz em 2016 se aplicaram a 2017 e vou além: a qualidade do que li piorou. Essencialmente uma série de tutoriais disfarçados de livros sem qualquer aprofundamento. Sobre estas minhas críticas, recomendo que você as leia aqui e aqui.

(pensando seriamente em fazer algo a respeito)

Livros que não falam de programação diretamente

Este ano resolvi buscar por livros sobre os quais ouvi algo a respeito no passado, deixei passar, mas cuja curiosidade continuou no decorrer dos anos. Então resolvi buscá-los e matar esta dívida literária.

Só os Paranoicos Sobrevivem – Andrew Grove

A primeira vez que ouvi falar deste livro foi em 1999, na revista Info Exame (ou PC Magazine). Se você não sabe quem é o Andy Grove, já te digo: é um dos responsáveis pelo fato da Intel ser hoje o que é, e foi o mentor de pessoas pouco conhecidas, tais como Bill Gates e Steve Jobs.

(você pode saber muita coisa a respeito da biografia do Andy Grove neste episódio (em espanhol) do podcast La Tortulia (meu podcast favorito))

O livro é sobre as mudanças repentinas que ocorrem tanto na vida profissional quanto na pessoal, e como podemos (e devemos) reagir a estas mudanças.

Grove era um excelente escritor, sendo assim a leitura é extremamente fluída, e do ponto de vista histórico, é fascinante, pois toma como ponto de partida o bug do Pentium. Quando lançado pela Intel, o Pentium era sua grande aposta, e foi descoberto um bug no modo como eram realizados cálculos usando ponto flutuante. Foi um momento de crise para a empresa, que se aproveitou da situação para dar a volta por cima e se tornar o gigante que é hoje.

(não é curioso que o mesmo esteja se repetindo agora com esta história do Meltdown nos chips da Intel?)

Foi o livro que mais me inspirou este ano: o li na versão em inglês que comprei para o Kindle. Ao buscar a versão em português nos sebos descobri que estava sendo vendido por valores altíssimos (200 Reais!).

High Output Management – Andrew Grove

“Só os Paranóicos Sobrevivem” causou um impacto tão grande em mim que passei o resto do ano lendo os livros de Andrew Grove (e também sobre ele). O outro livro que trouxe um profundo impacto para mim foi este, e a razão é simples: este foi o ano em que comecei a lidar mais diretamente com gestão e menos com desenvolvimento. Então, por que não aprender com Grove como gerenciar uma empresa?

E o livro é justamente sobre isto: sobre seu método de gestão baseado em feedback constante. É uma leitura muito interessante, e me ajudou a detectar diversos problemas que consegui tratar durante o ano.

Steve Jobs – Valter Isaacson

A famosa biografia do Steve Jobs também teve um impacto muito grande em mim este ano, mas confesso que não foi por causa do Steve Jobs, mas sim pelo seu autor. Este livro é muito interessante pelo seguinte: é raríssimo um biógrafo ter contato direto com o biografado (vivo!) durante a escrita de sua biografia, e foi justamente isto o que ocorreu aqui.

Dois fatores me encantaram no livro: o primeiro é o encantamento do biógrafo pelo biografado, o que fica gritante no livro. O esforço que Walter Isaacson faz para que Steve Jobs não fique com sua imagem manchada como um grande filho da puta chega a ser hilário durante o livro. Fica claro o conflito interno do autor: digo que este sujeito era um fulano insuportável ou o maqueio um pouco mais? Esta foi minha impressão, mesmo existindo relatos de que Steve Jobs deu carta branca ao autor (duvido).

(em uma entrevista Walter Isaacson chega a mencionar que irá queimar boa parte das gravações que fez com Steve Jobs, o que considero uma pena)

O segundo é o capítulo final que talvez seja uma das coisas mais bonitas que já li, no qual é contada a razão pela qual Steve Jobs não curtia botões de desligamento. É realmente lindo e muito sensível este capítulo.

Há um foco imenso na Apple e Pixar: acho que poderia ter falado um pouco mais sobre a NeXT, mas é uma leitura legal, eu recomendo.

Friends in High Places – Laton McCartney

Chegou para mim nas últimas semanas de 2017 e ainda não terminei, mas achei que seria interessante mencionar aqui. É essencialmente a biografia de uma empresa, não qualquer empresa, mas sim a Bechtel.

Talvez você não a conheça, mas é uma das maiores empresas de construção civil do mundo, fundada no final do século XIX e bem viva e operante até hoje. Ela está por trás das principais obras de engenharia do século XX, e este livro é justamente sobre esta história, mas mais do que isto: é a descrição do fato de que se você conhece as pessoas certas que ocupam posições privilegiadas, consegue-se qualquer coisa neste mundo.

É uma leitura fascinante, que mostra de uma forma bastante profissional como funcionam as engrenagens do poder nos EUA (e consequentemente no mundo). Como disse, ainda não terminei, mas está me impactando bastante.

Now it can be told – Leslie Groves

Este livro chegou junto com o “Friends in High Places” para mim e também não terminei, mas tem sido uma leitura que está me impactando HORRORES.

Não sou uma pessoa belicista mas confesso que o projeto Manhattan sempre me fascinou. Não conhece? Foi o projeto que resultou na bomba atômica durante a segunda guerra mundial lá nos EUA. E Leslie Groves, autor do livro, foi o general responsável pela gestão deste projeto.

E se você gosta de história este livro é um prato cheio, especialmente se levarmos em consideração o autor. Quando pensamos na bomba atômica vêm em mente Oppenheimer, que era o responsável pelo desenvolvimento científico e Groves sempre é posto de lado, como se fosse um personagem secundário, quando na realidade era bem o oposto.

Em alguns momentos Groves é inclusive retratado como um toscão. Durante a leitura fica claro que esta imagem é muito distante da realidade. Vejo aqui um gestor brilhante, que conseguiu no tempo hábil (apesar de ter gasto uma verdadeira fortuna) concluir o projeto de algo que tinha pouquíssima comprovação prática.

É fascinante ver como Groves lidava com a questão dos egos dos cientistas e, ainda mais interessante, o fato da física experimental o tempo inteiro se comprovar na prática com pouquíssima experimentação prévia.

O livro tem lá suas partes mais cansativas, pois Groves faz a descrição cronológica dos fatos, o que o torna um pouco massante nestes pontos, mas são momentos raros. No geral é uma leitura maravilhosa.

(e uma dica: o prefácio é do Edward Teller, outro monstro da física do século XX).

Leitura recomendadíssima!

Um ano de boas leituras

Em 2017 senti muita falta de bons autores brasileiros que eu pudesse colocar nesta lista. Infelizmente, tal como já mencionei, as leituras em língua portuguesa que encontrei (especialmente técnica) se mostrou muito, muito ruim. Fiquei bastante chateado com o fato da qualidade ter piorado, algo que achava não ser possível, mas para 2018 estou mais otimista.

Uma dica: comecei a ler um livro sobre JavaScript, em português, que está se mostrando promissor. Ainda não mencionarei qual é, mas comprovando sua qualidade, podem ter certeza de que escreverei um post aqui só com o review a seu respeito.

Stack Overflow pode te emburrecer?

Já faz um tempo que planejo escrever sobre educação, mais especificamente sobre a forma como nós, programadores, nos educamos. Como alguém que se encontra do outro lado da mesa agora – como contratante – creio que é interessante compartilhar aqui minhas impressões e descobertas sobre este assunto.

Vou começar por descrever uma doença que observo em nossas consultorias e, principalmente, nos processos seletivos que realizo tanto para a Itexto quanto para nossos clientes. Chamo esta doença de “emburrecimento por Stack Overflow”. Poderia usar o termo “fórum”, mas dado o sucesso do site, noto que seu nome se tornou uma espécie de sinônimo para “fórum”.

Como aprendemos

Para entender esta doença é necessário começar pensando o modo como aprendemos as coisas, especialmente as complexas, tais como programar. Tudo tem seu início nos conceitos mais simples.

Você começa a partir do clássico “Olá mundo”. O computador irá imprimir textos aleatórios na tela de acordo com aquilo que você definir em seu código fonte. Isto te fornece a ideia (e experiência) do conceito fundamental de comando. Você, humano, enviando instruções para o computador e este te respondendo, no caso, imprimindo algo na tela (ainda me lembro da minha primeira impressão desta experiência, e foi linda!).

msx_oiMundo

Após ter enjoado de todas as variações daquele comando elementar você começa a brincar com operações matemáticas, condicionais, loops, entrada e saída por teclado. Entra a lógica de programação mais básica: começam os códigos mais simples, tais como nossas primeiras funções de soma, talvez algo um pouco mais avançado, como a implementação de um Fibonacci, coisas assim.

Com o tempo adquirimos segurança e começamos a pensar em reuso: surgem as funções melhor elaboradas (uma função chamando outra), você começa a se preocupar com a qualidade do código que vai escrever, pois nota que aquele negócio vai ficando mais complexo conforme evolui. E aí entram as noções de programação procedural, que em pouco tempo irão evoluir para módulos (se estiver experimentando BASIC ou Pascal na faculdade).

smalltalk

Os módulos no futuro se transformarão em classes e objetos, e você começará a modelar sistemas orientados a objetos, a complexidade aumentou, o código começa a ficar bem mais difícil de ser mantido e você busca por soluções que outros tenham adotado para contornar estes problemas. É quando nos deparamos com padrões de projetos, frameworks, bibliotecas…

(se vir por aí alguém dizendo que programar é fácil, já te adianto: é picareta que tá tentando te vender curso ou livro)

Este é um caminho possível e, na minha opinião, o melhor. É o conhecimento sendo construído em camadas. Primeiro você monta uma camada bem simples (os comandos), se sente à vontade com ela, constrói outra (as funções), e outra (reuso), e outra (módulos) e outras (orientação a objetos), e outras (frameworks, bibliotecas) e outras (pensa em arquietura) e outras…. E por aí vai.

grandcanyon

E é por isto que bons professores e livros são tão importantes: se suas primeiras camadas forem mal construídas fica muito mais difícil se reprogramar e apagar impressões erradas. Na minha experiência enquanto contratante e tutor fica claro que os pupilos que melhor se desenvolvem normalmente são aqueles que baseiam seu conhecimento em um guia com começo, meio e fim bem definidos.

(Você sabe a diferença entre pupilo e estudante? O primeiro requer atenção continuada por parte do tutor, o segundo se vira por conta própria)

A importância do guia

Chamo de guia uma sequência de conhecimentos que são passados ao pupilo. Sequência esta que, naturalmente, começa pelo mais elementar, mas provê a base para que os novos conhecimentos (as camadas) possam ser adquiridos.

Este guia pode ter as mais variadas formas: um professor, um livro, vídeo aulas, uma série de artigos. O essencial é que começo, meio e fim sejam bem definidos e, mais ainda: que cada camada forneça a base para que possamos dominar a próxima. O bom guia torna claro a conexão entre as camadas.

(talvez a metáfora das camadas não seja a melhor, pois o conhecimento pode ser não linear, entretanto sempre há um ponto que segue o outro, mesmo que surjam bifurcações, sendo assim a ideia de sedimentação como base para elevar o conhecimento funciona no final das contas)

Ainda mais importante: o guia te diz aonde você irá chegar. Há um objetivo bem traçado: você sabe exatamente aonde deveria estar no final da jornada. E como você sabe que o caminho está certo? Simples, aquele objetivo que parecia distante de repente começa a se mostrar cada vez mais factível, de repente escrever seu próprio sistema operacional, linguagem de programação, website ou sistema de controle de armas nucleares começa a se tornar mais fácil ou pelo menos mais viável de ser realizado por você.

E como você sabe se o caminho está sendo bem trilhado? Simples: a partir da segunda camada de conhecimento, você pode verificar se o que está sendo dito é válido ou não checando aquilo que aprendeu no passo anterior. E se neste momento surgirem dúvidas que serão repassadas ao seu guia, o melhor sinal possível acaba de ocorrer: você está questionando, e se está questionando, é por que está pensando.

Após n camadas, o pupilo começa a perceber novos horizontes, novas fontes de conhecimento. Neste momento ele pode largar seu guia atual e buscar outras fontes de conhecimento. É quando o pupilo se torna estudante.

(no final das contas, o conhecimento sempre se dá a partir de conexões que criamos entre aquilo que está chegando (as novas camadas) e aquilo que já conhecemos (as camadas que sedimentamos))

Aí chega o Stack Overflow e ferra tudo

pollock_1_1949

Não me entenda mal, eu gosto do Stack Overflow, mas não como ferramenta de aprendizado. Infelizmente o problema que observo tanto em consultorias quanto em processos seletivos é que o indivíduo não usa fóruns como fonte secundária de conhecimento, mas sim primária. Explico melhor.

Você em uma sala de aula (virtual ou não): primeiro aprendemos com o guia. Em seguida, comentamos aquilo que aprendemos com os colegas ou mesmo diretamente com aquele que nos guiou até aquele ponto. Há um momento inicial essencial ali: o recebimento da informação e, posteriormente, a confirmação do conhecimento, que se dá normalmente em duas fases:

  1. O indivíduo reflete sobre aquilo que foi dito.
  2. Se não ficou claro após ter refletido (e experimentado) o que foi dito, interage com o guia ou seus colegas ou o mundo buscando entender ou confirmar aquela informação.

Agora: e quando você inverte a ordem? E quando quer criar um sistema de gestão mas não sabe programar? No Grails Brasil, por exemplo, já vi muitas dúvidas que seguem mais ou menos esta forma:

E aí pessoal, tudo bem?
Seguinte: quero criar um sistema de controle para minha padaria. Preciso então saber como, em Grails, eu faço para, me conectar ao banco de dados e persistir os dados para que eu possa gerar meus relatórios gerenciais.

Note: a pessoa sabe que existe uma ferramenta que pode ser aplicada para se atingir o objetivo traçado, mas ela não buscou conhecê-la em um primeiro lugar. Ao invés disto, buscou primeiro o auxílio dos colegas. Naturalmente a frustração irá ser o resultado final desta investida (e não raro a pessoa odiará o framework e sua comunidade até o fim dos seus dias).

Outra situação bastante comum: você precisa integrar seu sistema com alguma tecnologia, um hardware qualquer, por exemplo. Entra no Stack Overflow, busca por algo do tipo: “como ler dados de uma porta serial com Java”.

Encontra uma discussão que tem algum código fonte de exemplo. Copia para o seu projeto pessoal, altera um pouco aquele código fonte e a coisa funciona. A solução para o problema imediato está ali: a questão foi resolvida. Mas e no segundo (e terceiro, quarto…) momento, no qual é necessário entender por que a coisa parou de funcionar?

Tá, você poderia me dizer: “mas Kico, tudo em demasia faz mal, basta usar com sabedoria e bla bla bla bla bla”. O problema é que na esmagadora maioria das vezes noto as pessoas usando em demasia, o que mostra que há algo extremamente errado conosco e a maneira como estamos buscando conhecimento.

O conhecimento baseado em fóruns não passa de uma simples tentativa e erro. Talvez você encontre algo que te atenda, mas sem ter a base, jamais terá a certeza do seu funcionamento. No máximo sabemos que a coisa funcionou naquele caso.

(quanto ao Stack Overflow, confesso que detesto o próprio formato da coisa, que não promove discussões, mas sim uma forma extremamente rudimentar que visa apenas sanar dúvidas imediatas. Já escrevi sobre isto aqui)

O problema tá na web

Quando a Internet se popularizou me lembro bem que todos pensávamos que a partir daquele momento não haveria mais ignorância pois o conhecimento estava todo lá, acessível a qualquer um (que tivesse acesso à Internet). A impressão que tenho hoje é a de que na realidade a ignorância aumentou. Creio que a culpa esteja no link.

Sou da geração pré-internet: quando ela apareceu eu devia ter lá pelos meus 15 anos. Na minha época o guia não era uma alternativa, era minha única opção. Você não tinha dinheiro para comprar vários livros, então comprava um e, como um disco ruim, lia e relia várias vezes caso não tivesse gostado. E aquela leitura do início ao fim (mesmo que não necessariamente na ordem proposta pelo autor) nos obrigava a trilhar um caminho, a sedimentar camadas.

E sabe o que é interessante? Muita gente aprendia a programar pelo help das linguagens de programação (VB, Delphi, PowerBuilder), e normalmente os que se tornavam melhores eram justamente aqueles que haviam estudado horrores seguindo um guia, e não os links dos arquivos de ajuda. (o help de ontem era a web de hoje)

Na web a coisa é diferente: você começa a ler um texto e de repente topa com um link. Clica nele, e vai para outra página, e depois outra, e outra, e outra. No final das contas, o guia sumiu. Em seu lugar entrou um processo que, no frigir dos ovos, não passa de tentativa e erro. Se tiver dado muita sorte, continuou no mesmo assunto que iniciou sua pesquisa.

E ainda mais interessante: com os motores de busca você diz o que precisa saber naquele momento (“como renderizar um cubo em OpenGL”). E sem base alguma você topará com uma resposta em um fórum, contendo aquele código fonte perfeito, que basta copiar e colar para o seu projeto.

A ideia da teia (web) nos remetia a uma certa harmonia, mas na prática o que temos é uma daquelas teias feitas por aranhas que se encontram sob o efeito de narcóticos. Você não sabe o que vai encontrar, nem se aquilo que encontrou de fato resolve seu problema.

webondrugs

E para piorar a situação há a pressão do dia a dia. Seu chefe quer a solução na hora, você tem pouco tempo para resolver o problema. A web está ali: basta realizar uma busca, basta alterar um pouquinho aquilo que obteve na sua pesquisa… basta que o negócio funcione!

Pressa, informação fragmentada, falta de bases bem consolidadas… talvez esteja aí a base para que tantos livros técnicos e cursos online ruins estejam sendo criados.

Então o que faço?

Só tem uma solução: é encontrar um bom guia, por a bunda na cadeira e ler a coisa do início ao fim. Aliás, é importante saber ler também: não raro somos analfabetos funcionais (sobre como ler e minha própria história envolvendo este problema, veja este link).

Fóruns só servem como fonte secundária de conhecimento e troca de impressões a respeito de algo. Eles podem promover maravilhosas discussões e você aprender horrores com elas? Com certeza, basta lembrar de como era o GUJ em seu início. Entretanto, tal como Aristóteles, creio que para que haja uma discussão enriquecedora é fundamental que todos os participantes antes de mais nada saibam sobre o que estão falando.

E pra usar o fórum portanto… você primeiro vai ter de ler seu guia. Hegel tinha um bom nome para a cura deste problema: “paciência do conceito”.

Não tem como: você precisa ser paciente se quiser aprender algo. Ficar pulando de resposta em resposta dificilmente te fornece alguma base.

PS:

_ Mas e se eu não gostar de ler?
_ Se acostume com a mediocridade, pois você dificilmente sairá dela.

Minhas boas leituras de 2016

Apesar de ter lido muitos livros ruins em 2016, o contrário também se manifestou: peguei muita coisa boa para ler. Houve um lado positivo no atraso deste post anual: pude comprovar aqueles livros que realmente me fizeram bem. Sem demora, vamos à lista.

Configuration Management Best Practices – Bob Aiello e Leslie Sachs

cm_best_practices

É grande a chance deste ter sido o livro mais importante do ano para mim. Inclusive o mencionei na apresentação no DevCamp 2016. Em nosso trabalho com legado sem sombra de dúvidas o mais importante (junto com a análise inicial do projeto) é a aplicação de boas práticas de gestão de configuração e mudança.

O problema com esta disciplina (tenho vontade de escrever um livro sobre) é que se fala muita bobagem a seu respeito. Ainda pior: em praticamente todas as equipes pelas quais passei (com exceção, naturalmente, da itexto) esta é vista mais como um fardo que uma ferramenta capaz de alavancar projetos. Em grande parte por que as pessoas simplesmente não sabem escrever bem a respeito.

Este livro é o exato oposto: bem escrito e focado na prática apresentando diversas histórias (que os autores dizem ser reais) que batem com situações similares às que presenciei pessoalmente. Há um único porém neste livro: tive a impressão de ser um jabá monstruoso do site dos autores: http://cmbestpractices.com/ .

Vale cada centavo. Comprei na Amazon.

Software Estimation – Demystifying the Black Art – Steve McConnell

software-estimation

Se é do Steve McConnell há 90% de chance de que eu ame, e com este livro não foi diferente.

Já havia tido um contato com este livro alguns anos atrás, mas nunca o havia estudado a fundo, tal como fiz este ano. Sabe aquele papo de “no estimates”? Pois é, é bobagem, pois todo cliente quer ter uma ideia sobre quanto quer pagar.

E se você acha que sabe fazer uma estimativa, este livro te prova o contrário logo no primeiro capítulo. Tal como o próprio subtitulo diz, ele realmente desmistifica o processo de estimativa, te faz pensar o que realmente significa estimar algo. É um livro que te faz pensar e que me ajudou bastante neste ano de 2016.

Melhorou algo no qual já somos bons na itexto, que é o processo de estimativa em nossos projetos arquiteturais. Ajuda a te tirar da zona instintiva (mas não totalmente, pois isto é impossível).

Código Limpo – Robert C. Martin

codigo-limpoo

Finalmente li este livro, mas confesso que fiquei bastante decepcionado. Talvez tenha sido a tradução para o português (achei bem fraca), mas creio que a razão foi outra, e a culpa é do Steve McConnell com seu Code Complete, que li em meus anos de formação.

Sendo assim este livro não me trouxe grandes novidades, foi mais um repeteco com pouca profundidade do Code Complete. Isto não quer dizer que seja um livro ruim, muito pelo contrário. É também um bom livro de formação para quem está começando.

Na minha opinião os capítulos sobre como dar nome a variáveis e o sobre a definição de parâmetros em função já justificam sua leitura. Leia estes capítulos (faço muita pressão na itexto para que os mesmos sejam lidos por quem entra).

Não consigo pensar neste livro sem lembrar do Code Complete (ei, li as duas edições do Code Complete em inglês e português, se sou fanboy de algo, é deste livro, então desconfie do que vou dizer). Minha recomendação é a seguinte: Código Limpo te tornará um bom júnior, mas a boa leitura do Code Complete te prepara para ser um excelente pleno.

TDD com PHP – André Cardoso e Maurício Aniche

tdd-com-php

Em 2016 voltei a estudar PHP, então achei que seria interessante começar a partir do TDD. Comprei dois livros sobre o assunto e um deles foi este que adorei: vale ouro. Apesar de ser bem raso no que diz respeito ao PHP (o que é justo, visto que a linguagem é usada apenas para ilustrar o TDD), o que é tratado sobre TDD achei simplesmente excelente. Uma palavra para descrever este livro? Excelente. Merece uma review só para ele.

É excelente não por que concordo com os autores, mas por que sua leitura me fez questionar algumas das ideias que tinha sobre o modo como pratico TDD. É um texto que propicia o diálogo entre leitor e autor(es) de uma forma rica, pois é muito bem escrito.

Pelo que pude entender no site da Casa do Código há versões deste livro para .net e Java que contém essencialmente o mesmo texto, trocando apenas a linguagem usada para ilustrar os conceitos. Dos livros nacionais que li em 2016, este sem sombra de dúvidas foi o melhor: muito bom ver gente daqui fazendo coisa boa!

É o livro técnico tal como deve ser escrito: tem profundidade, te faz pensar, é cheio de referências, apresenta bibliografia decente, não é um tutorial disfarçado de livro, é técnico, tem o peso correto, apresenta a visão dos autores e seus contra-pontos (o que o torna intelectualmente honesto). Resumindo: leia.

Sobre o outro livro de PHP que li… lixo absoluto, profundidade de uma poça em evaporação, mal escrito, sem bibliografia alguma, sem qualquer referência, apresenta conteúdo equivocado…. Vai ter um review aqui no blog assim que encontrar adjetivos menos agressivos a seu respeito.

Aplicações Mobile Híbrigdas com Cordova e Phonegap – Sérgio Lopes

cordova-phonegap

Este foi outro livro que li em 2016 e gostei bastante. Sabe quando disse que detesto tutoriais disfarçados de livros? Este aqui foge à regra. Segue a forma de um tutorial, mas um muito bem escrito e que fornece um bom nível de profundidade sobre as tecnologias que aborda para quem está começando.

Cordova foi sem sombra de dúvidas uma das tecnologias mais importantes para nós em 2016, e este livro com certeza foi a melhor introdução ao assunto que poderíamos ter encontrado.

Não foi surpresa alguma para mim: o outro livro do Sérgio Lopes – A Web Mobile – indico para todos os nossos clientes e uso como referência em qualquer contratação de serviços de design que realizamos na itexto. Aliás, tenho um review deste outro livro, que pode ser lida aqui.

Professional WordPress – Design and Development – Third Edition – Brad Williams, David Damstra e Hal Stern

professional-wordpress-design-and-development1-235x300

Acho muito difícil fugir do WordPress quando precisamos de um bom CMS. Em 2016 investimos bastante em seu aprendizado e sem sombra de dúvidas este foi o melhor material que encontramos a este respeito.

Este livro valeu cada centavo que pagamos nele (foi barato, US$ 35,00 aproximadamente na Amazon). É um excelente material para quem quer se aprofundar no WordPress: se você quer conhecer as entranhas da criatura, este é O livro.

Realiza bem o que se propõe fazer: você irá entender como funcionam e como escrever plugins e templates para o WordPress. Ainda mais importante: te explica como montar o ambiente de desenvolvimento, algo que na minha opinião sempre foi uma atividade feita de uma forma bem porca.

Mais do que isto, é realizada uma verdadeira dissecação do WordPress: você vai entender como seu código é organizado, como são estruturadas suas tabelas e também é feita uma descrição (um pouco rasa, é verdade) sobre o ambiente no qual este é executado (infelizmente só fala do Apache HTTP) que para os que estão iniciando é simplesmente excelente.

Bem escrito, com excelente aprofundamento, bons exemplos, muitas referências interessantes, diversas dicas práticas. Depois da sua leitura posso dizer com certeza que subimos de nível quando o assunto é WordPress: somos muito mais produtivos agora e temos uma compreensão muito maior sobre seu funcionamento. É um daqueles livros que requer dedicação, mas que terá valido cada segundo do seu esforço.

(infelizmente o restante do material que li sobre PHP se encaixa na categoria lixo)

Gerenciando Projetos Grandes e Pequenos – Coleção Harvard Business Essentials – Richard Luecke

gestao_projetos

Pouco a pouco a ideia de que sou um empresário (um programador-empresário talvez seja o mais preciso) agora está influenciando minhas leituras. Achei que seria interessante rever diversos dos conceitos de gestão de projetos tradicional (o PMBOK).

Este livro é uma boa leitura nesta direção: entenda, você não terá aprofundamento algum nesta leitura, mas como uma simples revisão é uma leitura que vale à pena. No meu caso foi bastante importante para que eu pudesse confirmar aquilo da gestão que realmente não iremos usar o que, em si, já valeria um post.

Por ter me ajudado a validar o modo como gerimos nossos projetos estou citando este livro.

O Risco de TI – Richard Hunter e George Westerman

risco-ti

Este livro me tornou um melhor arquiteto de sistemas/corporativo/software sem sombra de dúvidas. É focado em TI, mas voltado para o público que consome nossos serviços. Essencialmente ele diz aquilo que não é dito para nossos clientes: que nós, da TI, além de provermos soluções, também somos uma fonte de riscos.

Na minha experiência infelizmente a gestão de riscos é vista como tabu na esmagadora maioria dos projetos. É como se as pessoas fossem supersticiosas a este respeito: como se simplesmente tocar no assunto magicamente materializasse as ameaças.

Os autores apresentam um framework muito interessante para ser levado em consideração na gestão de riscos envolvendo TI. Nos é provido o linguajar necessário para que provedores de serviço e consumidores possam se entender bem, tornar claras as ameaças e projetar estratégias para lidar com os riscos detectados.

O impacto deste livro em nós foi muito forte: digo com certeza que além de me ter tornado um arquiteto melhor, também me tornou um gestor mais atento, pois usamos a abordagem descrita no material para lidar com as ameaças que envolvem o nosso negócio, o que nos tem feito dormir com muito mais tranquilidade.

Recomendo sua leitura: especialmente para aqueles que pensam em gestão de riscos em TI como apenas o aspecto “segurança da informação”.

The Best Software Writing I – organizado por Joel Spolsky

the_best_software_writing_1

E este foi o livro que mais gostei de ler em 2016. Infelizmente o li com 11 anos de atraso! Joel Spolsky (você já conhece o blog dele, certo??? Se não, tá aqui o link!) organizou neste volume uma série de artigos publicados até 2005 (ano de publicação) que considera serem os textos mais bem escritos sobre desenvolvimento de software.

Sem sombra de dúvidas são alguns dos melhores artigos que já li e tratam de questões que eram extremamente relevantes em 2005 e continuam hoje, 12 anos depois. Outsourcing vale à pena? Devemos forçar padronizações em nossa equipe de desenvolvimento? Como tratar bem quem trabalha conosco? O que torna você um excelente hacker? PowerPoint nos deixa estúpidos?

Artigos escritos por pessoas que você já tenha ouvido falar: Aaron Swartz, Raymond Chen, Cory Doctorow, Bruce Eckel, Paul Graham, Why the Lucky Stiff (lembra dele?), Eric Johnson… Muitos deles autores que eu lia naquela época e que pude reencontrar neste livro. Há alguns clássicos aqui, como, por exemplo, o Starbucks does not use two-fase commit.

É um livro escrito na época em que redes sociais começavam a se materializar, então você lerá alguns artigos muito interessantes, que mostram a percepção inicial do fenômeno naquela época. Claro, talvez você se interesse mais pelo que está acontecendo neste momento, mas se curtir história como eu, este livro é um prato cheio.

O tempo inteiro a sensação que tinha ao ler estas páginas era o de “puta merda, se eu tivesse lido isto antes não teria feito aquela merda!”. Está a venda na Amazon também, então compre este negócio o mais rápido possível para não demorar os 11 anos que levei para ler isto!

Sim, este livro me tornou um autor melhor, e creio que este meu post (Leitura: modo de usar) foi fortemente influenciado pelas leituras que fiz aqui.

E que venham as leituras de 2017

Durante este ano pretendo publicar aqui algumas resenhas sobre o que estou lendo. Especialmente sobre as coisas que estou detestando ler. Espero que algum destes livros que citei te inspire de alguma forma.

E no final do ano posto aqui quais foram as leituras mais importantes do ano pra vocês novamente.

Leitura: modo de usar

Se você acompanha este blog já deve ter notado que um dos meus assuntos favoritos é a leitura (basta ver os dois últimos posts aqui e aqui, além da minha lista anual de boas leituras do ano). Curioso que a leitura só se tornou algo realmente importante para mim bem tarde: eu tinha lá pelos meus 17, 18 anos.

Ainda mais interessante é saber que fui um analfabeto funcional até os 21 anos, quando ingressei no curso de Filosofia.

Até 2014 eu acreditava que a educação era um problema sério em nosso país, a partir de 2015 passei a ter a certeza de ser o que irá (e já está) destrui(r|ndo) esta nação. Então este post é sobre a única ferramenta que conheço e sei ser capaz de alavancar a vida de alguém: a leitura.

Como ela alavanca sua vida

grafowebadictos

Eu tinha 18 anos, três bombas em meu currículo escolar e uma vida confortavelmente vadia. Escola pela manhã, tarde e noites livres para fazer o que quisesse: ao final do bimestre corria atrás para tirar média nas provas e ao final do ano me safava de outra bomba ao passar nas constantes recuperações. Engraçado pensar como a mediocridade parecia massa naqueles dias…

Alguns conhecidos já estavam na faculdade e uns raros fazendo intercâmbio, eu ainda no segundo grau. Como eram pessoas distantes, não passavam de mera curiosidade: pareciam seres super dotados, sortudos ou beneficiados (inveja detected). Depois de um tempo muitos amigos próximos começaram a ferrar suas vidas de maneiras assustadoras, e ainda não sei como não ocorreu comigo (mortes, acidentes, doenças facilmente evitáveis, sequelas de drogas, paternidade precoce…).

Veio o primeiro vestibular, quase todos os sobreviventes passaram e eu não. Foi quando percebi que aqueles que estudavam conseguiam se distanciar de um destino desagradável. Notei algo que diferenciava os sobreviventes dos demaiso estudo.

A mediocridade agora se apresentava a mim como uma doença: aqueles que chamei de sobreviventes na realidade estavam vivendo. Eu sobrevivia: a cada ano ficava mais velho e sem saber o que fazer. Temia me juntar aos que haviam falhado de maneira tão estúpida. Na realidade, quase todos me viam como sendo pertencente ao grupo dos que ficaram.

Entrei no pré-vestibular e fiquei por quatro meses, na sequência fui para o mercado de trabalho (em uma Livraria), estudei feito um louco e passei em sexto lugar no vestibular de Filosofia. Neste processo de um ano me afastei do cemitério e desde então as coisas só melhoraram.

A leitura me apresentava alternativas que até então sequer imaginava: coisas que não te contam na mesa do bar, experiências que não são facilmente acessíveis, possibilidades que não se espera. Resumindo: os textos me expunham a objetos que só teria acesso em uma conversa se tivesse muita sorte.

Mais do que isto, ao aprender algo novo surgiam conexões entre os assuntos. Eu via, por exemplo, a maçã da Apple, que estava ligada à de Newton, que também referenciava a tentação (por isto mordida). Os videogames se tornavam mais ricos também: o cogumelo do Mario não era apenas um cogumelo mágico, era uma referência à “Alice no País das Maravilhas”.

E do ponto de vista financeiro também era ótimo: na livraria o cliente mencionava um assunto, eu sabia que ele estava relacionado a outros e quais livros os continham e nisto vendia mais, o que me incentivava muito a ler mais livros, que conhecia em meu tempo ocioso na loja. Iniciou-se um ciclo: quanto mais lia mais vendia.

Ao vender mais livros, via que o processo de organização da loja era uma merda pois o software era um lixo. Nascia o primeiro produto da itexto, que foi a Plataforma Livreiro. E então eu tinha contato com mais livros de informática para aprender a programar melhor, e com isto fui me tornando o que realmente queria ser e serei sempre: um programador.

Neste momento começo a detectar as ideias e relaciona-las entre si.

Como aprendi a ler aos 21 anos

alessandrotarsia_filosofia02_paideia2

Meus anos na escola foram descartáveis: era péssimo aluno. Creio que o ensino também não era tão bom assim pois nos quatro meses de vestibular “aprendi” tudo o que me fora ensinado nos 14 anos que passei na escola. Claro que agora eu pagaria um preço altíssimo por minha vadiagem.

De todos os cursos escolhi um dos quais a disciplina de estudo era das mais ferrenhas. Eu mal sabia português (até hoje não se sabe como aprendi inglês na infância), e de repente era necessário conhecer o mínimo do francês, grego, latim, alemão. Ainda pior: minha leitura era extremamente ineficiente. Era um procedimento estritamente linear, diversas palavras eu não conhecia e ao final dos textos creio que captava no máximo uns 20% do conteúdo.

Era claro que a coisa não estava funcionando e não iria funcionar: meu destino zumbi se aproximava novamente. O interessante é que os professores detectaram esta falha não apenas em mim, mas na maior parte da turma, razão pela qual tivemos uma matéria especial cujo objetivo era justamente aprender a estudar. Foi quando aprendi a ler de verdade.

Ok, em um primeiro momento eu conectava as ideias que conseguia captar. A partir de agora além de captar mais ideias, eu também as entendia a fundo e as questionava. Como?

Como ler um texto

256_p

Ler não é um ato passivo. Seus olhos não devem simplesmente seguir as linhas repetindo em sua cabeça as palavras impressas. O leitor deve assumir uma postura ativa diante do texto. Pode soar curioso para alguns, mas o texto não é um monólogo e sim um diálogo com o leitor.

Terminou o parágrafo ou frase, se questione: aquilo faz sentido? Você realmente entende aquilo que foi dito? Consegue pensar em exemplos que ilustrem aquela situação? Visualizou a cena? O parágrafo não deve terminar com um ponto ou exclamação, mas sempre com uma interrogação na mente do leitor.

O texto é uma pergunta: o bom autor te incita a pensar (de preferência naquele momento). Ainda mais importante: nem sempre o autor está certo. Uma leitura rica envolve a discordância do leitor em relação ao autor. Discordou? Então tenha certeza de que teve uma experiência foda.  A leitura deve ser uma discussão. E não, um livro do qual se discorda não é necessariamente um livro ruim.

(quer um bom exemplo disto? Leia Platão: em diversos pontos de seus diálogos ideias erradas são inseridas propositalmente para incitar o leitor a discordar. E o mais importante: raríssimas vezes chega-se a uma conclusão – é a aporia)

A leitura proveitosa é um processo lento. Muito lento (demorei 10 anos para terminar as 80 e poucas páginas do Tractactus do Wittgenstein, que talvez tenha sido a melhor leitura da minha vida). Requer que tenhamos o que Hegel chamava de paciência do conceito.

O leitor não pode sucumbir à ansiedade. O autor ao expor a informação o faz de uma forma construtiva, uma ideia por vez, e estas ideias são trançadas como um bordado. Aliás, sabe qual é uma das origens etimológicas da palavra texto? Tecido.

Quando todas as ideias se conectam (você chegou ao final do texto), a tapeçaria final lhe é exposta. Você questionou cada uma de suas linhas e agora tem uma visão global da intenção do autor ou, melhor ainda, da sua interpretação sobre o que foi escrito.

O vídeo ou o áudio não lhe proporcionam de maneira tão fácil este diálogo que descrevi acima. Aliás, temo que o excesso audiovisual dos dias atuais ao nos isolar desta conversa terminará por nos emburrecer. Você pode até mesmo pensar que está aprendendo com um audiobook ou vídeo, mas nossa postura é mais passiva que ativa nesses meios.

A leitura é um jogo não linear. Ler linearmente é desperdício do seu tempo. Pense naquele texto difícil, você passa pelos parágrafos em sequência? Eu não: na realidade luto com eles. Volto ao início, releio diversas vezes, pego um marcador, o risco em n partes, às vezes até mesmo xingo o autor verbalmente. Há termos desconhecidos? Busco no dicionário/internet, penso no significado e se foi bem aplicado. É o diálogo novamente.

Você também pode voltar não apenas ao início do parágrafo, mas páginas atrás. Nestes casos marco meus livros com o que tiver em mãos. No caso de PDF, melhor ainda, pois as possibilidades são ainda mais interessantes e não preciso comprar mais de uma cópia física do livro (sim, em alguns casos tenho mais de uma cópia do livro, justamente devido às anotações e marcações que faço nestes).

Um texto denso quando lido linearmente normalmente é um texto denso mal lido e portanto pouco compreendido. Pior: é seu tempo jogado fora e talvez uma baixa em sua auto estima.

Sabe aquelas notas de rodapé? Valem ouro, leia todas também. Aliás, uma dica: há livros nos quais as notas são mais interessantes que o conteúdo principal. Não foram inseridas por acaso, estão ali por que abrem trilhas de pesquisa para o leitor: estão ali por que se fossem inseridas no texto principal afastariam demais o leitor do objetivo original da obra.

Vejo as notas de rodapé como “conexões gratuitas entre ideias”. O autor está ali te mostrando que há conexão entre o texto principal e outros assuntos que se encontram fora do escopo original do trabalho.

Ainda mais interessante é quando o leitor se torna autor. Não basta apenas dialogar, você também tem de fazer suas notas a respeito do que está lendo. Por que isto é importante? Por que você só conhece algo quando de fato consegue descrevê-lo em palavras, principalmente quando forem compreensíveis por outras pessoas que não sejam você.

Quando digo notas não quero dizer resumos, digo novos textos mesmo. Nos ensinam errado a estudar: não é repetir o que o autor disse. É externalizar as suas próprias ideias, surgidas a partir da leitura como conteúdo novo. Quando chegamos a este ponto o ciclo da leitura se fechou: leitor se tornou autor, que agora irá interagir com outros leitores e por aí vai.

Este blog, por exemplo,  é a materialização deste ciclo. Basta ver os posts mais antigos, como este.

Dicas de leitura

Eu não podia terminar um post sobre a leitura sem dar dicas de leitura sobre a… leitura, certo? Então seguem dois livros que adoro sobre o assunto.

Uma História da Leitura – Alberto Manguel

uma-historia-da-leitura

O título já diz tudo: é a história do ato de ler. Este livro tem a introdução mais bonita que já li. Uma leitura maravilhosa. Além de tudo é ilustrado, e com excelentes imagens que realmente enriquecem muito o conteúdo.

Uma história inusitada para a nossa ferramenta mais poderosa. De novo: leitura maravilhosa!

Como se faz uma tese – Umberto Eco

156744_1gg

Ainda vou escrever um post sobre como estudar. Enquanto isto, alguém que fez um trabalho muito melhor foi o Umberto Eco neste livro. Nele você aprenderá como é o ofício do pesquisador/autor. Sabe aquele negócio que mencionei de ter mais de uma cópia física do livro como objeto de trabalho? Aprendi aí.

Como se faz um fichamento, como se marca um livro, como se escreve resumos, enfim, como escrever um livro técnico de uma forma minimamente decente.

Interessante que é o ofício do pesquisador antes da Internet.

Conclusão?

Este post não tem conclusões. Quis apenas expor aqui como trato o ato da leitura por saber que é uma forma eficiente de se aprender e também devido ao meu medo de que estejamos iniciando um processo de emburrecimento coletivo com o excesso audiovisual.

Se a leitura for vista como um ato interativo e não como algo passivo tenho certeza de que terei dado minha contribuição.

PS: livros interativos não funcionaram. Prova disto foi a morte da indústria do CD-ROM, que não foi substituída pela Internet.

Minhas leituras ruins de 2016 – como avalio livros técnicos

Todo final de ano publico algo neste blog sobre minhas boas leituras do período (farei isto agora em dezembro). Este foi um ano de muitas leituras e, infelizmente, boa parte delas considerei puro desperdício do meu tempo. Vou falar aqui de livros técnicos:  poderia listar uma longa lista de títulos, mas creio que é mais produtivo, ao invés, expor como avalio um livro técnico.

Não será uma avaliação geral sobre livros técnicos, mas sim sobre aqueles que me interessam, isto é, livros de programação. Talvez este post soe agressivo: é por que  é. Livro é algo que levo muito a sério. Literalmente minha vida se funda neles.

Entenda, minha crítica não é a blogs ou tutoriais. É a livros, vendidos como livros, pelos quais você paga ou com seu tempo ou com seu dinheiro ou com ambos.

O tutorial disfarçado de livro

O que busco ao comprar um livro técnico: um conhecimento aprofundado a respeito do assunto que estou estudando. A leitura vai além do simples “aprender como se faz”, vai além de um mero “passo a passo”.

Não quero aprender como persistir dados usando um banco de dados NoSQL, por exemplo. Quero saber como eles são persistidos, por que são persistidos como tal, o quê motivou a tecnologia a ser daquela maneira, os limites da tecnologia. Quero que minha experiência de leitura me leve a um nível superior de conhecimento. Estas perguntas foram respondidas? Meus livros favoritos responderam a estas perguntas ou ao menos tentaram e, ao tentar, me criaram questionamentos que me motivaram a pesquisar mais a respeito.

Entre gastar meu dinheiro lendo um mero “passo a passo” a ler a documentação oficial, prefiro a segunda opção. É de graça, é fonte primária, foi escrito por quem criou a tecnologia ou tem um contato mais íntimo com esta.

Mais do que isto: um bom livro vai além. O autor irá tratar dos conceitos que envolvem aquela tecnologia, se termino a leitura aprendendo e entendendo novos termos, tive uma boa leitura, terá valido à pena.

(Wittgenstein dizia que nosso mundo é nossa linguagem. Se você aprende novos termos, seu mundo cresce. E eu não creio nisto, eu tenho certeza.)

Nada impede um livro de ter lá seus tutoriais embutidos (tem de ter mesmo!), mas estes obrigatoriamente devem ser precedidos de uma boa abordagem conceitual ou estarem mergulhados nela.

Livro é pra aprofundar, tutorial é pra quebrar seu galho. Não seja tonto, economize seu tempo!

(agora, se o livro se vende como tutorial, é válido!)

O conhecimento que surge do autor, e apenas do autor – por que a bibliografia importa (e muito)

O livro tem bibliografia? Não? Tutorial disfarçado de livro detectado.

O autor foi o criador da tecnologia? Se sim, esta tecnologia foi criada a partir do nada? Se não, aonde o autor aprendeu sobre ela? Autor que não cita fontes caracterizo em uma das opções abaixo:

  • Desonesto intelectual.
  • Alguém que não tem o preparo mínimo necessário para publicar seu trabalho.

A bibliografia, que muita gente ignora, é vital. Ela nos possibilita:

  • Ter acesso às fontes primárias que possibilitaram a escrita do livro.
  • Nos aprofundar no conteúdo do livro através da leitura do material auxiliar.
  • Validar o que está escrito. Mostra que o autor não está expondo sua mera opinião.
  • Mostra a fonte que o autor estudou para compor seu trabalho. Isto é fundamental para entender de onde vêm as opiniões do autor. Mais do que isto, mostra que o autor estudou!

(livro técnico fundado em opiniões é livro furado)

Recentemente comprei um livro sobre um dos meus frameworks favoritos e fiquei chocado com o fato do autor decorrer o texto inteiro sem fazer uma citação sequer e, claro, sem bibliografia e, claro, era um reles “passo a passo”. Se este livro fosse físico, talvez eu o usasse para limpar cocô dos meus cachorros.

Resumindo: livro não tem bibliografia? Desconfie. Sempre olhe o índice. No exemplo acima cometi este pequeno deslize e mais uma vez perdi meu tempo.

(e olha: tem autor famoso (muito) por aí que além de não citar fontes, muda o nome de conceitos conhecidos há décadas para você achar que são criação sua. Fique esperto, nem o nada surge do nada)

Autor despreparado

Aqui entra um ponto que considero ser fundamental: a responsabilidade do autor. Quando você compra um livro, o faz esperando que o autor seja alguém que tenha vivência técnica com aquela tecnologia, certo? E quando não tem? Indo além, como detectar isto?

Fácil: primeiro que hoje temos ferramentas como LinkedIn, Facebook e blogs, que nos permitem, pelo menos checar o currículo do autor. Sabe aquela orelha na qual fala um pouquinho sobre o autor? Leia aquilo! Vai te poupar muito tempo. Não tem texto falando sobre o autor ou o texto é exageradamente curto? Desconfie.

E no livro, é possível detectar a experiência do autor? Yeap, mas é algo um pouco mais sutil. Normalmente autores que não tem uma vasta experiência com a tecnologia só falam bem dela. Não expõem dificuldades inerentes ou suas limitações (e todas elas são limitadas em algum aspecto, não se esqueça).

E aí entra outra pergunta: um autor com pouca experiência no assunto está proibido de escrever livros? Respondo: pode  se for intelectualmente honesto. O que quero dizer com isto? Simples: é 1000 vezes mais válido se apresentar como alguém que está iniciando-se na tecnologia que como um expert.

Aliás, ler as dificuldades de quem está começando em algo sempre é uma leitura extremamente enriquecedora dado que o leitor normalmente também está começando e portanto se identifica com o autor e suas dificuldades. Agora, já o expert com seis meses de experiência… desculpe, é picareta.

Título enganador (ódio!)

Alguns meses atrás na itexto quis comprar para um estagiário material sobre REST. Queria que ele entendesse bem os conceitos fundamentais e também algumas técnicas essenciais.

Foi quando cometi o erro de comprar um livro sobre o assunto escrito por um autor que muito considero só pela capa: qual não foi minha surpresa ao descobrir que mais da metade do livro era sobre Java, e não REST? Por que a merda do livro não colocou no título isto, ou mesmo no subtítulo? O que eu queria? Conceitual sobre REST. O que ganhei? Java EE!  AHHH!!!!! Pior. Eu nem li o livro e já passei pra ele! Até hoje peço desculpas!

Sabe o subtítulo? Ele tem uma boa razão para existir: sua função é enriquecer o título mostrando um detalhamento melhor sobre o que aquele livro trata. Assim idiotas como eu, que compram na correria não compram errado (e não, piadinha no subtítulo de livro técnico é muito sem graça, vai por mim).

Pior: muitas vezes você deixa de ler algo excelente por causa do título enganador. O melhor livro que já li sobre uma certa linguagem de programação, por exemplo, tem um título mais ou menos assim: “Linguagem X com Framework Y”.

O livro quase não fala de Y, e o que fala sobre X é brilhante e profundo. Muita gente não o compra achando que é sobre Y. Ao questionar o autor, sabe o que ele me respondeu? “A editora me disse que venderia mais se eu também falasse sobre Y”. Resultado: cagaram no livro (e num puta livro!).

Destraduções

Existe tradução e destradução no vocabulário Kiconiano. O ato de se traduzir um livro é de uma responsabilidade monstruosa. O tradutor, além de cumprir o seu papel literário, está também cumprindo um papel social. Está tornando acessível a uma camada enorme da população que não domina o idioma original da obra acesso a esta.

Aí você, que não sabe nada de inglês lê em seu livro “tipos de costume”. Pensa se tratar de uma abordagem social ligada à computação, certo? Errado, são tipos customizados. Agora dou nome a alguns bois como exemplo. Tenho uma cópia em português do “Arte do Desenvolvimento Ágil” e outra do “Hibernate em Ação” que se eu jogar na parede grudam de tão nojentas. Recentemente tive uma experiência péssima de leitura com o “Clean Code” para português também.

Mas aqui preciso ser justo: as traduções tem melhorado muito de uns anos pra cá. Ainda há problemas? Há, mas estão reduzindo e não posso tirar daqui esta minha crítica a livros que são bons no original e um cocô na tradução.

Ausência de índice remissivo

Sabe o índice remissivo? Aquele outro índice, normalmente presente no final do livro que é usado para que a gente saiba aonde um termo aparece no texto? Parece inútil né? Né não!!!

Dado que livro é material de referência, se ele for físico não ter esta informação toma muito meu tempo quando quero me lembrar aonde um conceito foi tratado. Sabe… não tem Ctrl+F em lívro físico. E por falar em livro físico…

O aspecto do livro físico

Parece futilidade, mas não é. Ainda sou uma pessoa que compra livros físicos e considero um tapa na minha cara, enquanto consumidor, quando vejo em minha prateleira um livro que comprei há seis meses simplesmente se desfazendo em minhas mãos.

Entendam algo editoras (nacionais e estrangeiras): se alguém compra um livro físico, tem dentre os interesses a durabilidade do que está comprando. Eu, por exemplo, gosto de livros físicos como material de consulta, no meu caso são inclusive ferramenta de trabalho.

Engana-se quem acredita que livros de informática têm curta durabilidade: no meu trabalho com pesquisa de legados, por exemplo, uso material que foi impresso duas, às vezes três décadas atrás (acredite se quiser).

Livro não é como periódico que tem curta duração. Já notou que as pessoas deixam os livros expostos em estantes por anos? É coisa feita pra durar, não pra se desintegrar com o tempo!

Claro, há livros e livros. Se o valor for muito baixo e o material for vagabundo, é até válido. Já se for caro, é inaceitável. Exemplo: minha edição do Introduction do Algorithms (paguei quase R$ 400,00 na época!) do Cormen: conteúdo lindo, fisicamente um LIXO.

Concluindo

Bom, estas foram minhas leituras ruins deste ano e do passado. Talvez como autor eu tenha cometido alguns destes erros (torço para que não). Achei que seria interessante compartilhar aqui o que mais tem me incomodado.

Claro que há exceções, sempre há. Sim, há um ou outro tutorial disfarçado de livro que é livro mesmo, mas são muito raros, extremamente raros. E naturalmente, esta é apenas a minha avaliação literária de livros técnicos então, se te ofendi… problema seu.

Daqui a pouco escrevo sobre as minhas excelentes leituras que fiz em 2016. Muito livro bom!

PS: este foi um post desabafo.

Minha apresentação “Enriquecendo seu ‘legado'” na DevCamp 2016 acaba de ser publicada!

Olha que legal: o InfoQ acabou de publicar o vídeo da minha apresentação “Enriquecendo seu legado” que foi realizada na DevCamp 2016.

Nela falo basicamente como vejo código pré-existente (vulgo legados), mas assistindo de novo, é essencialmente uma apresentação sobre aquilo que mais gosto: código e as pessoas que geram este negócio.

Espero que gostem! Segue o link: https://www.infoq.com/br/presentations/enriquecendo-o-legado