Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
wevtimoteo committed Sep 23, 2023
1 parent a6d029e commit 5a54bf4
Showing 1 changed file with 12 additions and 11 deletions.
23 changes: 12 additions & 11 deletions posts/2023-09-23-tomando-notas-como-desenvolvedor-de-software.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,16 @@ <h1><a href="/">wevtimoteo</a></h1>
<hr />

<main><h1 id="tomando-notas-como-desenvolvedor-de-software">Tomando notas como desenvolvedor de software</h1><p>Posted on Saturday, 23 Sep 2023 by Weverton Timoteo</p><p>Tags:</p><ul><li><a href="/tags/notes">notes</a></li></ul><p>Me arrependo profundamente de não tomar notas mais cedo. As notas até existiam, mas geralmente eram coisas pontuais para executar uma tarefa ou algo interessante que encontrei que meses depois eram só anotações “sem utilidade”.
Fico pensando se eu tivesse um mapa de tudo que eu aprendi e experienciei na vida transcrito de uma maneira organizada que eu possa consumir para gerar novas ideias e, finalmente, eu tenho.</p><p>Recentemente li o livro <a href="https://amzn.to/3PMEizK">Criando um Segundo Cérebro</a> do Tiago Forte e me ajudou bastante a tirar essa ideia de organização perfeita e simplesmente começar a anotar. Meu processo de começar a tomar notas para valer se deu nas seguintes etapas:</p><ul><li>Qual melhor app/software para tomar notas?
Fico pensando se eu tivesse um mapa de tudo que eu aprendi e experienciei na vida transcrito de uma maneira organizada que eu possa consumir para gerar novas ideias e, finalmente, eu tenho.</p><p>Recentemente li o livro <a href="https://amzn.to/3PMEizK">Criando um Segundo Cérebro</a> do Tiago Forte e me ajudou bastante a tirar essa ideia de organização perfeita e simplesmente começar a anotar. Meu processo de tomar notas para valer se deu depois de resolver as seguintes dúvidas:</p><ul><li>Qual melhor app/software para tomar notas?
</li><li>O que anotar?
</li><li>Como organizar minhas notas?
</li><li>Como anotar rápido?
</li></ul><p>Só depois que “resolvi” esses pontos que senti que estava pronto para escrever para valer e aí a coisa começou a andar.</p><h2 id="qual-o-melhor-app/software-para-tomar-notas?">Qual o melhor app/software para tomar notas?</h2><p>Como tudo: depende. E depende para cada pessoa. Cada solução terão vantagens e desvantagens, antes precisei escrever o que era mais importante para mim para poder decidir:</p><ul><li>Um app leve (não necessariamente nativo, um <a href="https://github.com/electron/electron">electron</a> resolveria)
</li><li>Suporte a Backlinks (lista onde a nota em questão foi citada)
</li></ul><p>Só depois que “resolvi” esses pontos que senti que estava pronto para escrever para valer e aí a coisa começou a andar.</p><h2 id="qual-o-melhor-app/software-para-tomar-notas?">Qual o melhor app/software para tomar notas?</h2><p>Como tudo: depende. E depende para cada pessoa. Cada solução terão vantagens e desvantagens, antes precisei escrever o que era mais importante para mim para poder decidir, eu queria:</p><ul><li>Um app leve (não necessariamente nativo, um <a href="https://github.com/electron/electron">electron</a> resolveria)
</li><li>Suporte a Backlinks (lista de menções da nota que estou visualizando)
</li><li>Queria estrutura de pastas (para organização que eu estava pensando fazia sentido)
</li><li>De graça
</li><li>Os arquivos são meus (não estão em uma cloud ou requere alguma funcionalidade de exportação para acessá-los)
</li><li>Possibilidade de estender e customizar (caso eu queira desenvolver um plugin para atender um fluxo específico meu)
</li><li>De graça (não queria pagar para algo que iria manter para vida toda)
</li><li>Os arquivos são meus (não estão em uma cloud privada ou requere alguma funcionalidade de exportação para arquivos para eu manipulá-los)
</li><li>Possibilidade de estender e customizar (caso eu quisesse desenvolver um plugin para atender um fluxo específico meu)
</li><li>Arquivos de anexos centralizados (não queria guardar em uma cloud à parte)
</li><li>Não tinha necessidade de colaborar (editar a nota ao mesmo tempo que alguém)
</li></ul><h3 id="notion"><a href="https://notion.so/">Notion</a></h3><ul><li>Requisito de estar sempre conectado
Expand All @@ -61,20 +61,21 @@ <h1><a href="/">wevtimoteo</a></h1>
</li><li>Fácil de customizar e extender
</li><li>Fácil de gerir arquivos estáticos (attachments/anexos)
</li><li>Visão de grafo é interessante mas não muito útil
</li></ul><hr class="thin"/><p>Dentre esses acabei optando pelo Obsidian, inclusive esse blog post está sendo escrito nele. Gosto bastante de como é possível configurá-lo para ficar no fluxo de edição mais favorável ao que estou acostumado, inclusive com Vi keys para quem curte o editor <a href="https://www.vim.org/">Vim</a> (quando digo editor Vim, já me refiro ao <a href="https://neovim.io/">Neovim</a>).</p><h2 id="o-que-anotar?">O que anotar?</h2><p>Como você deve ter imaginado, isso não existe. O importante é:</p><ul><li>anote de uma maneira que você entenda o contexto rapidamente
</li><li>a nota tem que ter alguma utilidade para você: se anotar quantos PRs (Pull Requests) você abriu no dia é importante, é melhor usar a <a href="https://sourcelevel.io/">SourceLevel</a> ao invés de ficar metrificando coisas manualmente.
</li></ul><p>Falando da rotina de uma pessoa desenvolvedora de software eu gosto de anotar:</p><h3 id="reuniões">Reuniões</h3><p>É muito comum, durante a daily diversas pessoas citarem ferramentas, tecnologias, nomes e/ou empresas que você nunca ouviu falar. Não precisa ser algo bem preciso, principalmente se for uma reunião presencial, mas é legal transcrever pontos importantes daquela reunião para depois você saber de onde conheceu uma determinada tecnologia ou uma empresa.</p><p>Acho também interessante para reuniões de 1:1s ou de Performance, para saber o que já foi dito em reuniões passadas e até para fazer o follow up da sugestão e até dos elogios.</p><h3 id="sessão-de-debugging">Sessão de Debugging</h3><p>Durante um debugging eu gosto de transcrever o problema que estou tendo e já não estou conseguindo resolver, como por exemplo, uma exception.</p><p>Então sempre que eu tenho um problema, verifico primeiro no meu sistema de notas. Esses dias precisei adicionar uma variável ambiente em um cluster <a href="https://kubernetes.io/">Kubernetes</a>. Utilizando o <code class="inline">kubectl</code> eu não lembrava qual o comando para fazê-lo, mas bastou uma busca rápida no meu sistema de notas e ali estava um tutorial de como fazer isso (para quem ficou interessado o comando é <code class="inline">kubectl set env deployment/&lt;seu-deployment&gt; MY_ENV_CONFIG=&lt;valor da config&gt;</code>).</p><p>Esse tipo de coisa, não só cataloga os problemas que estou tendo, mas pode ajudar um colega de time quando tem algum problema parecido. Bastaria copiar o <a href="https://www.markdownguide.org/">Markdown</a> e colar o conteúdo para a pessoa. Outro ponto interessante é que pode me levar a escrever um blog post de maneira muito rápida, só pegando partes das minhas notas.</p><h3 id="discovery/aprendizado">Discovery/Aprendizado</h3><p>Comecei recentemente a estudar o <a href="https://www.pulumi.com/">Pulumi</a> como alternativa ao <a href="https://www.terraform.io/">Terraform</a>, então fui detalhando tudo que descobri em poucos itens de forma resumida. Como por exemplo, formatos disponíveis para descrever a infraestrutura (NodeJS, Python, etc), precificação e como o modelo de créditos funciona.</p><p>Esse tipo de nota me ajuda muito a ajudar também outras pessoas que estão nessa etapa de aprendizado e até para conversar em uma reunião sobre determinada ferramenta e ir levantando potenciais dúvidas para serem resolvidas.</p><h3 id="consumo-de-conteúdo">Consumo de conteúdo</h3><p>Agora quando eu leio algum blog post, cadastro no sistema de notas e transcrevo algumas partes importantes dele. Com a leitura do livro <em>Criando um Segundo Cérebro</em>, que citei no início do texto, aprendi a utilizar <strong>bold/negrito</strong> nos textos e também dar highlight no resumo do resumo. Isso também se aplica aos vídeos do YouTube, você pode clicar nas reticências (<code class="inline">...</code>) -&gt; <code class="inline">Mostrar transcrição</code>. Tudo bem que é uma transcrição gerada, mas já ajuda a salvar trechos do vídeo para serem buscados no futuro.</p><h2 id="como-organizar-as-notas?">Como organizar as notas?</h2><p>Primeira coisa que aprendi para destravar essa pergunta foi: <strong>não existe organização de diretórios e tags perfeitos</strong>. Sendo assim, pensei em como reduzir o meu estrago, para isso acabei adotando o sistema proposto pelo Tiago Forte, chamado <strong>PARA</strong>:</p><ul><li><strong>Projetos:</strong> Algo que você está trabalhando no momento, existe início e uma data de fim
</li></ul><hr class="thin"/><p>Dentre esses acabei optando pelo <em>Obsidian</em>, inclusive esse blog post está sendo escrito nele. Gosto bastante de como é possível configurá-lo para ficar no fluxo de edição mais favorável ao que estou acostumado, inclusive com Vi keys para quem curte o editor <a href="https://www.vim.org/">Vim</a> (e para quem não conhece, vá direto para o <a href="https://neovim.io/">Neovim</a> caso queira testar).</p><h2 id="o-que-anotar?">O que anotar?</h2><p>Como você deve ter imaginado, esse é um dos pontos críticos: o risco de anotar tudo que sua nota tem tanto ruído e detalhe que se torna irrelevante para ser consultada. Eu recomendaria:</p><ul><li>algo que seja importante
</li><li>anote de uma maneira que você entenda o contexto rapidamente
</li><li><p>a nota tem que ter alguma utilidade para você</p><ul><li>se anotar quantos PRs (Pull Requests) você abriu no dia é importante e tem alguma utilidade no futuro, anote! - mas é melhor usar a <a href="https://sourcelevel.io/">SourceLevel</a> para isso :)
</li></ul></li></ul><p>Falando da rotina de uma pessoa desenvolvedora de software eu gosto de anotar:</p><h3 id="reuniões">Reuniões</h3><p>É muito comum, durante a daily diversas pessoas citarem ferramentas, tecnologias, nomes e/ou empresas que você nunca ouviu falar. Não precisa ser algo bem preciso, principalmente se for uma reunião presencial, mas é legal transcrever pontos importantes daquela reunião para depois você saber de onde conheceu uma determinada tecnologia ou uma empresa.</p><p>Acho também interessante para reuniões de 1:1s ou de Performance, para saber o que já foi dito em reuniões passadas e até para fazer o follow up da sugestão e até dos elogios.</p><h3 id="sessão-de-debugging">Sessão de Debugging</h3><p>Durante um debugging eu gosto de transcrever o problema que estou tendo e já não estou conseguindo resolver, como por exemplo, uma exception. Então sempre que eu tenho um problema, verifico primeiro no meu sistema de notas.</p><p>Esses dias precisei adicionar uma variável ambiente em um cluster <a href="https://kubernetes.io/">Kubernetes</a>. Eu não lembrava qual subcomando do CLI <code class="inline">kubectl</code> deveria utilizar, mas bastou uma busca rápida no meu sistema de notas e ali estava um tutorial de como fazer isso. Para quem ficou interessado o comando é <code class="inline">kubectl set env deployment/&lt;seu-deployment&gt; MY_ENV_CONFIG=&lt;valor da config&gt;</code>.</p><p>Esse tipo de coisa, não só cataloga os problemas que estou tendo, mas pode ajudar um colega de time quando passa por algo parecido. Bastaria copiar o <a href="https://www.markdownguide.org/">Markdown</a> e colar o conteúdo para a pessoa. Outro ponto interessante é que fica fácil escrever um blog post, só pegando partes das minhas notas.</p><h3 id="discovery/aprendizado">Discovery/Aprendizado</h3><p>Comecei recentemente a estudar o <a href="https://www.pulumi.com/">Pulumi</a> como alternativa ao <a href="https://www.terraform.io/">Terraform</a>, então fui detalhando tudo que descobri em poucos itens de forma resumida. Como, por exemplo, formatos disponíveis para descrever a infraestrutura (NodeJS, Python, etc), precificação e funcionamento do modelo de créditos.</p><p>Esse tipo de nota me permite ajudar também outras pessoas que estão na etapa de aprendizado e até para conversar em uma reunião sobre determinada ferramenta e ir levantando potenciais dúvidas para serem resolvidas.</p><h3 id="consumo-de-conteúdo">Consumo de conteúdo</h3><p>Agora quando eu leio algum blog post, cadastro no sistema de notas e transcrevo algumas partes importantes dele. Com a leitura do livro <em>Criando um Segundo Cérebro</em>, que citei no início do texto, aprendi a utilizar <strong>bold/negrito</strong> nos textos e também dar highlight no resumo do resumo. Isso também se aplica aos vídeos do YouTube, você pode clicar nas reticências (<code class="inline">...</code>) -&gt; <code class="inline">Mostrar transcrição</code>. Tudo bem que é uma transcrição gerada, mas já ajuda a salvar trechos do vídeo para serem buscados no futuro.</p><h2 id="como-organizar-as-notas?">Como organizar as notas?</h2><p>Primeira coisa que aprendi para destravar essa pergunta foi: <strong>não existe organização de diretórios e tags perfeitos</strong>. Sendo assim, pensei em como reduzir o meu estrago, para isso acabei adotando o sistema proposto pelo Tiago Forte, chamado <strong>PARA</strong>:</p><ul><li><strong>Projetos:</strong> Algo que você está trabalhando no momento, existe início e uma data de fim
</li><li><strong>Áreas:</strong> Algo que você está trabalhando continuamente, por exemplo, um cuidado de uma doença genética ou um almoço com um familiar que você tem o planejamento de sempre conhecer um lugar diferente
</li><li><strong>Recursos:</strong> Aqui vai todo o restante, eu penso nele como um “banco de dados” das minhas notas e ultimamente ela tem virado meio que uma Wiki pessoal. Lá consigo ter listagem de jogos que já joguei, séries que já assisti, etc.
</li><li><strong>Arquivo:</strong> Tudo que teve um término (independente do que era originalmente), se foi encerrado, ele vem para esse diretório.
</li></ul><p>Se você utilizar Logseq, recomendo dar uma olhada <a href="https://github.com/georgeguimaraes/logseq-plugin-add-PARA-properties">na extensão</a> que o <a href="https://twitter.com/georgeguimaraes">George Guimarães</a> desenvolveu que utiliza o sistema PARA.</p><p>O Tiago Forte recomenda inclusive enumerar cada um deles para facilitar o mention e acesso. Então ficaria:</p><ol><li>Projetos
</li><li>Áreas
</li><li>Recursos
</li><li>Arquivo
</li></ol><p>Se você não tem uma organização em mente, recomendo fortemente ir por essa e depois deixar seu sistema de gestão de conhecimento pessoal tomar forma organicamente.</p><h2 id="como-anotar-rápido?">Como anotar rápido?</h2><p>Pense em não perder as ideias, não tem problema ter algum erro de digitação ou não ter muito detalhamento enquanto você está anotando algo (por exemplo, durante uma reunião). <strong>O importante é você não perder essa informação</strong> e poder revisitar suas notas depois da reunião para organizar com etiquetas (tags), linkar notas existentes (como pessoas que participaram da reunião ou lugar que a mesma ocorreu).</p><p>Eu gosto bastante do sistema de diário (criando uma entrada do dia e anotando tudo lá). O Obsidian não trabalha muito dessa maneira, comparado ao Logseq, mas utilizando o Cmd + P -&gt; <code class="inline">Daily notes: Open today&#39;s daily note</code>, resolve isso de maneira muito rápida. É interessante adicionar algumas properties também, para isso, no início de cada nota basta utilizar o seguinte trecho:</p><pre><code class="">---
</li></ol><p>Se você não tem uma organização em mente, recomendo fortemente utilizar essa e depois deixar seu sistema de gestão de conhecimento pessoal tomar forma organicamente e te direcionar para melhor estruturação.</p><h2 id="como-anotar-rápido?">Como anotar rápido?</h2><p>Pense em não perder as ideias, não tem problema ter algum erro de digitação ou não ter muito detalhamento enquanto você está anotando algo (por exemplo, durante uma reunião). <strong>O importante é você não perder essa informação</strong> e poder revisitar suas notas depois da reunião para organizar com etiquetas (tags), linkar notas existentes (como pessoas que participaram da reunião ou lugar que a mesma ocorreu).</p><p>Eu gosto bastante do sistema de diário (criando uma entrada do dia e anotando tudo lá). O Obsidian não trabalha muito dessa maneira, comparado ao Logseq, mas utilizando o Cmd + P -&gt; <code class="inline">Daily notes: Open today&#39;s daily note</code>, resolve isso de maneira muito rápida. É interessante adicionar algumas properties também, para isso, no início de cada nota basta utilizar o seguinte trecho:</p><pre><code class="">---
tags: health cooking
url: https://minha.receita/almoco
----</code></pre><p>Você pode customizar as propriedades da nota com o que o você achar relevante, eu tenho linkado notas existentes nas propriedades diretamente (de forma experimental).</p><p>Depois de achar um formato para cada tipo de nota, você pode transformá-los em Templates, então assim que abrir a nota, você pode utilizar Cmd + T (no Obsidian) para selecionar qual template utilizar, inclusive é possível aplicar vários templates na mesma nota.</p><hr class="thin"/><h3 id="plugins?">Plugins?</h3><p>Eu utilizo vários, porém não recomendo sair pegando os plugins que alguém utiliza e instalar tudo de uma vez. Deixe a necessidade surgir! No futuro pretendo compilar os que uso e por qual motivo, o único que faço questão de mencionar agora é o <a href="https://github.com/remotely-save/remotely-save">remotely-save</a>, para sincronizar as notas do Obsidian no S3 (ou compatível), Google Drive ou Dropbox. Permitindo assim você acessá-las no iOS ou Android.</p><h2 id="anotou?">Anotou?</h2><p>Nesse blog post já deve ter surgido várias coisas bacanas para você copiar e usar depois, se você ainda não começou a anotar: agora é o momento!</p><p>Não deixe para depois e não espere o momento perfeito para anotar. Imagine a quantidade de coisas interessantes e de possibilidades que você poderia estar desenvolvendo há tanto tempo se já tivesse essas anotações desde o início da sua carreira?</p></main>
----</code></pre><p>Você pode customizar as propriedades da nota com o que o você achar relevante, eu tenho linkado notas existentes nas propriedades diretamente (de forma experimental).</p><p>Depois de achar um formato para cada tipo de nota, você pode transformá-los em <strong>Templates</strong>, então assim que abrir a nota, você pode utilizar Cmd + T (no Obsidian) para selecionar qual template utilizar, inclusive é possível aplicar vários templates na mesma nota.</p><hr class="thin"/><h3 id="plugins?">Plugins?</h3><p>Eu utilizo vários, porém não recomendo sair pegando os plugins que alguém utiliza e instalar tudo de uma vez. Deixe a necessidade surgir! No futuro pretendo compilar os que uso e por qual motivo, o único que faço questão de mencionar agora é o <a href="https://github.com/remotely-save/remotely-save">remotely-save</a>, para sincronizar as notas do Obsidian no S3 (ou compatível), Google Drive ou Dropbox. Permitindo assim você acessá-las no iOS ou Android.</p><h2 id="anotou?">Anotou?</h2><p>Nesse blog post já deve ter surgido várias coisas bacanas para você copiar e usar depois, se você ainda não começou a anotar: agora é o momento!</p><p>Não deixe para depois e não espere o momento perfeito para anotar. Imagine a quantidade de coisas interessantes e de possibilidades que você poderia estar desenvolvendo há tanto tempo se já tivesse essas anotações desde o início da sua carreira?</p></main>

<hr />

Expand Down

0 comments on commit 5a54bf4

Please sign in to comment.