Categorias
Listas de livros

Bons livros lidos, Verão 2022-2023

Uma estação está acabando, e uma das coisas que gosto de fazer (pra variar, inspirado pelo Austin Kleon) é rever os livros que li nessa estação, para ver se há algum tema.

Apesar de que o ano passado foi supostamente o Ano de Ler e Escrever, a leitura de livros acabou ficando para trás, frente a estudos e escritas de notas. O verão que agora acaba marca uma volta muito profunda aos livros, como forma de entretenimento e como fonte das maiores ideias para seu trabalho, como PH Santos muito bem ilustra nesse excelente vídeo:

Excelente vídeo sobre usar livros para produzir outras coisas

Se o Ano atual é de Simplificar, o Verão foi a Estação de Simplificar as Finanças, e para isso I Will Teach You to be Rich, de Ramit Sethi, foi fundamental. Eu tenho grandes problemas com a criação de jargão artificial nessa obra, como um “Plano de Gastos Conscientes” e o “Método dos Envelopes”, que são apenas técnicas de orçamento (apesar de o autor jurar que você não precisa organizar o seu orçamento). Mas a sua abordagem prática em acumular pontos em cartão de crédito e em como organizar categorias de gastos de uma maneira realista tiveram grande impacto em mim. Esse livro me mostrou que, se eu otimizar os gastos fixos, cuidando da minha família, ao mesmo tempo em que tento investir um mínimo viável e de maneira inteligente, eu posso sim gastar com livros, se isso é realmente importante para mim.

Um livro que comprei desde que adquiri essa mentalidade e que já é um dos meus livros favoritos de toda a vida é Amigos, Amores e Aquela Coisa Terrível, o livro de memórias do Chandler de Friends. A sua maneira livre, honesta e profunda de escrever sobre problemas foi muito importante em algumas semanas particularmente depressivas. Os problemas existem; se você escreve sobre eles, eles não diminuem, mas também não aumentam.

Como inspiração para o trabalho, o duo de livros de Nathan Yau, Visualize This e Data Points (embora esse último seja bem raso e um pouco inútil para quem já sabe um pouco sobre visualização de dados), me ajudou a pensar mais como cientista de dados ao analisar resultados de simulações no meu emprego. Mesmo que eu não tenha aprendido nada de muito nova, ajudou-me a reforçar algumas ideias de organização de dados (lembrando que é sua tarefa fazer isso).

E agora: que livros me esperam no Outono?

Publicidade
Categorias
Artigos

Apps e programas que um pesquisador usa

Inspirado por uma série de episódios anuais do Cortex, aqui está uma lista dos apps e programas que eu, um pesquisador de Engenharia, uso diariamente (para fins de trabalho):

iPhone

  • Drafts – quando você abre o Drafts, ele imediatamente abre uma página em branco, sem eu precisar explicitamente criar uma nova nota. A minha versão de “manter cartões de anotações” o tempo todo comigo conforme recomendado por David Allen e Anne Lamott;
  • Todoist -para consultar minhas tarefas;
  • Outlook – app de email que uso por nenhuma razão específico para usar e nenhuma razão específica para deixar de usar. Meu relacionamento com e-mails é o seguinte: eu abro regularmente, arquivo 90%, mando 5% para o Evernote, respondo os 2% rapidamente no iPhone, e deixo os outros 2% para responder com calma no PC;
  • Kindle – para sempre ter um livro à mão (e leio muito coisa técnica);
  • PCalc – porque eu sou engenheiro, e como todo bom engenheiro, uso com modo RPN;
  • NetNewsWire – sei que a internet diz para não acompanhar notícias, por isso vou consultando ao longo do dia meus blogs favoritos (muitos deles relacionados ao trabalho);
  • Forest – um app que faz crescer uma árvore no seu celular e, se você sai do app para consultar o Instagram, email, WhatsApp etc, a árvore morre. Bom para se concentrar!

Windows

E é assim que eu trabalho.

Categorias
Artigos

Desacelere no trabalho para fazer mais e melhor

Se você quer ficar bom em algo, desacelere.

Kourosh Dini
Kourosh Dini, pianista, escritor e psiquiatra, falando sobre treinar uma música mais devagar. Recomendo fortemente o canal dele para seus vídeos semanais de “recitais” de piano e sintetizador

Sim, eu também faço isso: para cumprir prazos, eu quero fazer as coisas na pressa – e aí demora mais do que se eu tivesse feito as coisas com calma.

Exemplo prático e real no mundo da Engenharia: eu recebi uma demanda de implementar um algoritmo de cálculo estrutural no programa que minha equipe e eu desenvolvemos. Eu sou Engenheiro Mecânico, e gostava bastante da área de Mecânica dos Sólidos na faculdade; mas depois segui carreira acadêmica nas Ciências Térmicas, e meus conhecimentos atrofiaram (infelizmente). Quando eu recebi a tarefa, varri o nosso código (que é bastante extenso, e inclui já uma parte de cálculo estrutural) em busca de fazer uma alteração rápida.

O problema é que eu não estava entendendo nada, e eu precisava desacelerar. Corri então para a biblioteca, li livros e diversos artigos, começando desde a Introdução, e agora posso ficar em paz e dizer: “entendo o que precisa ser feito!”.

Alterações em softwares nunca são filhas únicas. Esse tempo “perdido” lendo livros introdutórios vai ser compensando porque, quando outras alterações forem solicitadas (e vão ser), eu já entendo a teoria (e tenho diversas notas nos meus cadernos para serem consultadas), e posso partir diretamente para a implementação.

Recentemente, promovi uma grande refatoração no nosso programa, mudando nomes de variáveis internas e documentando cada função. Os nossos clientes não ligam absolutamente nada para isso, e esse mês foi aparentemente “desperdiçado” nessa tarefa lenta e árdua sem nenhum resultado concreto – mas novamente, cada nova alteração é facilitada porque o programa está mais fácil de entender.

Obviamente, como tudo na Engenharia, é uma questão de otimização de recursos. Minha personalidade que gosta de estudar tenderia e querer ler vários livros e artigos, e indo nas referências de cada um, até entender com máxima profundidade o assunto. Mas, após me sentir em paz, eu decido que o estudo é suficiente e é hora de implementar.

Fora que, ao fazer as coisas com calma, a probabilidade de fazer correto é maior – e não é isso que importa?

Categorias
Artigos

Como decidir quando é hora de parar de trabalhar em um projeto e partir para o próximo

Vamos imaginar o seguinte cenário comum: você está trabalhando em algo que vai demandar vários dias para completar. Aliás, você tem diversas demandas em paralelo que precisam ser trabalhadas todo dia, por vários dias. O malabarismo é alternar entre as diversas atividades nos intervalos entre reuniões.

Há quem defenda a estratégia de trabalhar com foco e energia total em uma única coisa, o dia inteiro, até acabar com a tarefa #1; depois, passa-se para o mesmo regime na tarefa #2 e assim por diante. Eu não gosto disso porque, além de cansar bastante o hábito de dedicar 8 horas a uma única coisa, eu gosto de trabalhar mais picado para que as ideias de um projeto “vazem” para outro. Se estou implementando um algoritmo para um programa, de repente tenho ideias sobre a documentação e testagem de outro programa, e quero passar para o projeto 2 o mais rápido possível para não perder o pensamento.

Porém, se eu trabalho em várias coisas por dia, como decidir quando está na hora de acabar com uma sessão de trabalho e passar para o outro?

A resposta para mim vem da religião. Como diz Frei Ignácio Larrañaga nas Oficinas de Oração e Vida e em seus livros, o critério mais fácil para se conectar com Deus é a paz; se você está em Paz, você está com Deus, agora, neste exato momento e neste local. Lembra da oração da paz na Missa? “Eu vos deixo a Paz, eu vos dou a Minha Paz”…

Portanto: quando você fica em paz com seu trabalho, quando é capaz de dizer “fiz o suficiente por hoje” sem mentir para si mesmo, é hora de parar de trabalhar. Aliás, é melhor parar de trabalhar agora, antes que você continue na sua tarefa, encontre problemas e perca a sensação de paz…

Isto vale também para o encerramento do dia de trabalho. Eu não quero voltar para casa e preparar a janta para meus filhos enquanto penso no que deu errado; isto requer que eu dedique tempo a “amarrar as pontas soltas”, rever o que falta de cada projeto, deixar tudo anotado, até que eu esteja em paz.

Você está em paz com seu trabalho?

Categorias
Artigos

O melhor curso de programação para engenheiros (e que ninguém conhece)

Eu aprendi a programar na faculdade, e nos semestres finais eu só fazia os trabalhos com cálculos implementados em computador. Ao longo de minha carreira, utilizei diferentes linguagens, técnicas, e métodos, mas a programação sempre fez parte do meu trabalho.

Se você estuda Engenharia, você precisa aprender a programar.

Quando eu comecei no meu emprego atual, eu me deparei com um desafio que eu não tinha enfrentado antes: desenvolver programas não seria apenas um meio para outro objetivo (como escrever teses ou preparar aulas), mas é o trabalho; meu papel aqui é desenvolver, manter, testar e documentar softwares de Engenharia que outros pesquisadores e pesquisadoras usam. Eu precisava subir de nível na minha habilidade.

O caminho que escolhi é o projeto Open Source Society University, que prescreve um “caminho” para cursar Ciências da Computação com apenas cursos online. Eu não tenho essa pretensão, e nem acho que é possível. O meu objetivo é trazer conceitos mais rigorosos, efetivos e eficazes do mundo do desenvolvimento de software para a Engenharia.

E já no primeiro curso, o mais básico, surpreendi-me positivamente, e agora acho que todo estudante de Engenharia deve começar o quanto antes o curso online e gratuito How to Code: Simple Data, que usa o meu novo livro preferido de programação (também online e gratuito) How to Design Programas (2 ed.)

Esse não é um curso sobre uma linguagem específica, tanto que usa uma linguagem não muito popular chamada Racket. É sobre projetar programas, como um projeto qualquer de Engenharia: com requisitos, critérios de sucesso (como você sabe que o programa está correto? Você testa todas as suas partes). É sobre seguir um método, rigoroso e sistemático. Tanto no curso quanto no livros, os autores enfatizam a importância de documentar o que você está fazendo, com muitos exemplos.

Minha dica é essa: siga esse curso, tentando fazer todos os exercícios, e então busque traduzir os conceitos na linguagem que você usa nos seus projetos (provavelmente uma das minhas recomendadas). A qualidade dos programas que eu escrevo e o meu entendimento sobre eles aumentou exponencialmente.

Fora que programas em Racket é divertido.

Categorias
Artigos

3 objetos sem os quais eu não poderia viver

A sugestão de prompt do WordPress hoje é essa:

Quais são os três objetos sem os quais eu não poderia viver?

Sem pensar muito profundamente, olhei para a minha mesa e vi esse arranjo:

e pensei: aí estão 3 objetos singelos que estão sempre comigo e que são realmente fundamentais:

  1. Caderno: já falei aqui sobre a minha prática de manter um caderno. Quando estou me sentindo mal, é ali que desabafo. Em um dia de trabalho, uso para anotar minhas tarefas. Quando estudo, tomo notas – e para isso preciso de :
  2. Caneta: eu tomo notas de tudo. Mesmo em casa, com meu filho mais velho, brinco de desenhar os personagens preferidos dele (geralmente da Patrula Canina). Com a minha esposa, anotamos os gastos da nossa próxima viagem. Eu já fui o tipo de pessoa que sonhava em “viver sem papel”, mas agora eu não consigo viver sem a sensação de escrever com caneta em um pedaço de papel. Também já foi do tipo que comprava canetas caras, mas agora eu tenho mais o que fazer. E quanto escrevo, é bom tomar água ou café em uma…
  3. Caneca: mas poderia ser uma garrafa. Ter água ou café sempre à mão é o que me permite e concentrar no meu trabalho, e o que dá combustível e refrescância para passar com a família nesses dias quentes.

Aí estão: três objetos simples, que representam instantes agradáveis em casa e no trabalho. A vida é melhor com uma boa bebida enquanto registro meus pensamentos.

Categorias
Artigos

Linguagens de programação que todo pós-graduando deve saber: a Tríade da Ciência de Dados

Se você está iniciando em uma carreira de pesquisa, você vai ter de tratar dados experimentais ou numéricos e apresentar seus resultados. Não há escapatória além de aprender a programar, e isto vale para todas as áreas; John MacFarlane, por exemplo, é professor de filosofia e um grande nerd.

Para mim, existem três linguagens básicas que você deve saber e estudar continuamente, e vou apresentar na ordem em que acho que devem ser estudadas. Também, como eu sou o Fábio, eu vou dar dicas de livros, que ainda são muito superiores a simples tutoriais para realmente aprender algo.

Python

Se você está começando, este é um excelente primeiro passo. Python é uma linguagem simultaneamente fácil de aprender e poderosa; é bastante geral, e tem bibliotecas para processamento de arquivos, interfaces web e cálculo numérico e matricial.

Eu uso Python regularmente para meus projetos de Engenharia desde 2011. No meu mestrado, criei scripts para pegar os arquivos que o sensor de pressão da minha bancada escrevia e criar gráficos de pressão x tempo para cada teste que eu havia feito. No meu doutorado, criei dois programas que resolviam as Equações de Maxwell para duas geometrias diferentes de ímãs permanentes e calculavam o campo magnético gerado por cada uma. Atualmente, mantenho alguns programas de simulação de poços de petróleo e cálculo de propriedades de óleos.

Uma boa introdução geral é este livro, enquanto este aqui é excelente e mais voltado para área de dados.

R

Você pode usar Python para praticamente qualquer tarefa, mas sempre há benefícios em conhecer mais linguagens. Bjarne Stroustrup, criador da linguagem C++, diz que um salto fundamental para alguém que sabe programar é passar de uma para duas linguagens: o conhecimento de uma alimenta o estudo da outra.

Acontece isso comigo ao estudar R, uma linguagem voltada à Estatística. Embora eu não use muito scripts em R em si, o conhecimento que tenho da linguagem me faz pensar melhor na organização das tabelas de dados, e em como posso juntar todas as simulações que faço em uma única tabela que é filtrada e transformada (e.g. calcular a média de todas as linhas da tabela mestre que correspondem a uma mesma condição de pressão) para diferentes tarefas. Esse conhecimento me acompanha mesmo quando escrevo os programas em Python.

Estes dois livros são excelentes e fundamentais para começar a estudar dados de maneira mais séria.

Julia

Julia é uma linguagem bem mais moderna que as outras, e bastante focada na rapidez de execução. Novamente: ao estudar e praticar Julia, eu posso tanto escrever scripts nessa linguagem como pensar em como acelerar meus programas em Python e R. Se você já tem um sistema que quer otimizar, sugiro fortemente aprender Julia; o ecossistema de bibliotecas está crescendo rapidamente.

Uma boa introdução a Julia é este livro online.


Se você quer aprender mais sobre alguma dessas linguagens, diga aqui nos comentários!

Categorias
Artigos

Para ser mais produtivo (e ter uma vida mais simples), confie na sua intuição

Na tentativa de fazer o meu trabalho da melhor maneira possível, eu estou sempre me debatendo entre dois caminhos:

  1. Seguir rotinas fixas (trabalhar um em programa de manhã, escrever artigos à tarde), ou
  2. Priorizar o que é mais importante a cada dia, mesmo que isso signifique sair da rotina.

Eu tenho seguir o caminho 1, mas hoje foi um dia que segui o caminho 2. Para fechar um excelente mês, eu quis terminar de estudar um livro sobre visualização de dados, e largar todo o resto. Por quê? Porque eu achei que devia ser assim.

Aqui vai uma dica para os que estão iniciando a carreira: quando em dúvida, priorize a sua intuição.

Não lembro onde li, mas sei que foi David Allen quem escreveu – provavelmente na última edição de A Arte de Fazer Acontecer – que uma das melhores maneiras de priorizar uma lista longa de tarefas é se basear na intuição. Na ausência de outros indicadores como prazos ou pressões de chefes, o que você realmente acha que precisa fazer? Se você tem esse sentimento interno forte, provavelmente é porque essa ação em si é de fato importante.

Em O Caminho do Artista, Julia Cameron escreve:

Sempre ouvi fortes apelos internos. Ordens de comando, como costumo chamar.

Sidney Lumet em Making Movies, falando sobre como ele escolhe os projetos quando alguém vai falar com ele sobre alguma ideia ou roteiro, e como ele decide "imprimir" os filmes quando está satisfeito com uma tomada (numa época em que os filmes eram literalmente impressos e revelados):

A primeira decisão, é claro, foi fazer ou não o filme. Eu não sei como outros diretores decidem. Eu decido completamente instintivamente, muita vezes após apenas uma leitura. Isto resultou em filmes muito bons e filmes muito ruins. Mas é a maneira com que sempre fiz, e estou velho demais para mudar agora. […] Mas o que me leva a dizer "Imprimir" é completamente instintivo. Às vezes eu o digo porque eu sinto dentre de mim que foi uma tomada perfeita, que nós nunca vamos melhorar. Às vezes é porque está piorando a cada tomada. Às vezes não é escolha.

(Tradução livre minha, e ênfase minha).

Em How to Take Smart Notes, Sönke Ahrens relata que um experimento mostrou vídeos de paramédicos iniciantes e experientes atendendo a instrutores da profissão. Os instrutores não conseguiram classificar: acharam que os reais iniciantes eram experts e vice-versa. Eles mediram o grau de expertise pelo seguimento das regras que foram ensinadas, o que é mais presente em quem recém começou a trabalhar. Experts desenvolvem a sua intuição e quase não pensam mais no trabalho, mas isso significa quebrar as regras quando a situação exige.

Como estou no Ano de Simplificar, preciso levar em conta que às vezes as rotinas de trabalho, as regras, atrapalham. Em vez de ficar alternando entre todos os meus projetos, hoje eu simplifiquei o meu dia priorizando finalizar um projeto importante (sem deixar de atender quem veio me procurar para dúvidas). Para o próximo mês que se inicia amanhã, sinto-me muito mais preparado, justamente com o tanto que estudei neste mês para projetos importantes.

Para o mês de março de 2023, o que a sua intuição diz que você deve priorizar?

Categorias
Artigos

O que fazer com dados errados/faltantes/desorganizados? Parar de reclamar!

Não quero parecer mais velho e experiente do que sou, mas eu tenho certa experiência de Engenharia. Depois de me formar, há 11 anos, completei um Mestrado e um Doutorado, fiz estágio de Pós-Doutorado, trabalhei como professor, e atualmente sou engenheiro em um projeto de pesquisa. Participei de muitos projetos diferentes, com empresas diferentes, com assuntos e contextos diversos.

Sendo professor e pesquisador, interajo com muitos alunos e alunas, engenheiros e engenheiras menos experientes que eu, e é muito comum ouvir variações do tipo:

  • “Onde consigo esses dados?”
  • “A empresa X compartilhou os dados de maneira muito desorganizada”
  • “Os dados de medição e calibração estão num arquivo PDF, como vou usar isso no meu script?”

Engenheiros e engenheiras, pesquisadores e pesquisadoras: trabalhar com dados errados/faltantes/desorganizados não é um impedimento ao seu trabalho, é o trabalho.

A vida de Engenharia não é a vida dos livros-texto, onde as tabelas são bonitinhas. Os dados passam por mãos humanas, onde há algum erro (mesmo que sejam obtidos de um sensor de maneira automática, alguém programou aquele sensor).

Seja cuidadoso ao digitar seus dados manualmente. Muitos erros bobos aparecem quando se transferem dados de uma fonte para outra .

[…]

Muito da visualização envolve coletar e preparar dados. Raramente, você consegue os dados na forma como você precisa, então espere dar uma arrumada nos dados antes de visualiza-los.

Nathan Yau, Visualize This (Tradução livre minha)

Quer outra citação?

Para se tornar um cientista de dados, você precisa de dados. Na verdade, como um cientista de dados, você passará uma embaraçosa grande fração do seu tempo adquirindo, limpando e transformando dados.

Joel Grus, Data Science do Zero

Nesta bela tarde de segunda-feira, pegue uma xícara de café, abra o Excel com aquele arquivo desorganizado que você recebeu de alguém (ou use Tabula para extrair tabelas de PDFs), e confira os detalhes:

  • As unidades estão certas?
  • O separador decimal (ponto ou vírgula) está correto?
  • Os dados estão numéricos (1 em vez de “1”)?
  • Há linhas com colunas faltantes? Por quê? Adicione uma coluna de observações.
  • Valores nulos (de valor numérico 0) ou negativos são isso mesmo, ou algum sinal de erro do sensor?

Repito: ninguém vai fazer isso para você. Você precisa pensar sobre os dados – e sobre o que você quer fazer com eles.

Categorias
Artigos

O conselho que eu daria para meu eu adolescente (que surpreende até a mim)

O WordPress.com está me sugerindo escrever com a seguinte pergunta hoje:

Que conselho você daria para seu eu adolescente?

Depois de pensar durante a manhã toda, a minha resposta é supreendente até para mim:

Vá fazer um curso técnico.

Veja: o Fábio de 16 anos era um poço sem fundo de timidez. Sim, eu era nerd. Sim, eu só queria estudar e tirar todas as notas 10 (na maior parte do tempo eu conseguia). Sim, eu demorei tempo demais para beijar uma menina pela primeira vez.

Por que então eu não dou um conselho mais direto, do tipo “aproveite a vida”, “vá festar mais”, “perca a timidez” etc? Por que eu estou falando de conselhos, e não de substituição de personalidades. Eu era uma criança tímida, fui um adolescente tímido, e sou um adulto tímido. Ainda hoje, sinto-me bastante desconfortável em ambientes cheio de pessoas desconhecidas. Se eu viajasse no tempo, não há nada no mundo que mudasse esse que é simplesmente o meu jeito de ser.

Eu que eu poderia ter feito, e daí o meu conselho, era expandir um pouco mais meus horizontes. Sair da frente dos livros e dos computadores e ir para coisas mais práticas. Conhecer outros (e outras) jovens que não meus amigos de escola (que sempre me aceitaram do jeito que sou, diga-se).

Se eu tivesse feito um curso técnico, eu seria um adulto mais capaz de consertar as coisas, e seria um engenheiro muito melhor que sou, com mais visão do mundo real fora da academia. Aliás, esse conselho eu dou especialmente para os adolescentes que estão pensando em cursar Engenharia (qualquer uma). História real: um amigo meu acabou de tomar posse como professor de Engenharia Mecânica em uma excelente universidade, com um treinamento que teoricamente terminou no seu Doutorado mas que começou (adivinha) na Escola Técnica (onde ele já havia sido professor, inclusive).

Agora é tarde, e tenho que pesquisar no YouTube como consertar vazamentos na descarga. Mas se você é leitor ou leitora deste blog e é jovem, não perca tempo: vá usar mais as mãos para fazer coisas práticas no mundo real.