Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman foi um dos melhores livros que li em muito tempo. Uma guia completo para todo aquele que deseja perseguir uma carreira com desenvolvimento de software.
Neste livro, Dave Hoover, Adewale Oshineye fizeram um magnífico trabalho ao compilar a sabedoria e experiência de vários dos melhores profissionais mundo afora, trazendo exemplos de inúmeras situações que um desenvolvedor vai enfrentar ao longo da sua carreira, tudo num formato bastante simples e fácil entender, chamado Language Patterns.
Padrões de Linguagem
Ao que parece, o termo Pattern Language foi primeiro introduzido por Cristopher W. Alexander no livro A Pattern Language: Towns, Buildings, Construction. Segundo ele, ao projetar seus ambientes, as pessoas sempre confiam em certas “linguagens”, que assim como as linguagens que falamos, permitem articular e comunicar uma infinidade de desenhos e projetos, tudo dentro um sistema formal que confere coerência ao processo.
No livro, Alexander delineia 250 padrões, todos consistindo numa declaração de problema, uma discussão do problema com uma ilustração, e uma solução.
Os padrões de aprendizagem descritos em Apprenticeship Patterns são organizados de forma semelhante.
Padrões de Aprendizagem
Cada padrão descrito no livro Aprenticeship Patterns é dividido em quatro seções: Contexto, Problema, Solução e Ação.
Contexto
O contexto ilustra a situação e o momento da carreira em que ela ocorre. Ele permite que identifiquemos de forma fácil situações semelhantes na nossa própria jornada.
Problema
A seção do problema discute como a situação apresentada é um problema e pode nos prejudicar.
Solução
A parte da solução sugere um caminho a seguir para lidar com o problema em questão, e em alguns casos, até mesmo como evitá-lo no futuro. A solução pode variar muito de pessoa para pessoa, então é apresentada de forma conceitual, servindo para qualquer pessoa naquela situação.
Ação
Por fim, a ação sempre ilustra a solução com exemplos práticos e fáceis de visualizar.
Este formato facilita em muito o compartilhamento de experiências que são, na sua essência, intangíveis e frutos de jornadas pessoais que levam muitos anos e dificilmente são capturadas em forma escrita. Ao mesmo tempo, os padrões de linguagem apresentados no livro facilitam comunicar essas situações, fornecendo um vocabulário próprio muito útil para pensar e discutir carreiras.
O Manifesto do Artesanato de Software
A primeira vez que me deparei com o Manifesto para o Artesanato de Software foi por volta de 2015, quando eu ainda trabalhava na Inventti. Foi também quando assinei o manifesto, mesmo que na época eu não tivesse maturidade para compreender por inteiro suas consequências (e certamente ainda não alcancei essa maturidade). Mas decidi na mesma que que seria um artesão de software. Apprenticeship Patterns trouxe este tema de forma ainda mais intensa.
O livro Apprenticeship Patterns foca muito num conceito de jornada de carreira inspirado nos mestres artesãos da idade média, embora numa abordagem bem mais moderna. Eles nos encorajam a pensar nossas carreiras como uma jornada. Ao longo dessa jornada, haverão situações em que deveremos vestir a faixa branca, em que teremos que buscar mentores. Haverão momentos em que precisaremos expor nossa ignorância, e outras em que precisaremos confrontá-la. Situações em que precisaremos liberar nosso entusiasmo, expandir nossa largura de banda para aprender muito em pouco tempo, e outras em que precisar focar.
Uma coisa é certa, a estrada será longa, e o aprendizado perpétuo. Por isso, o livro também traz padrões para ajudar na busca por motivações sustentáveis que nos apoiem nas horas difíceis.
Este livro é para mim?
A resposta curta é sim. Não importa se você está engatinhando na carreira, ou já percorre a jornada há muitos anos, o livro vai trazer novas perspectivas, novos aprendizados e talvez até uma boa dose de sabedoria.
O livro é ainda mais valioso para quem está começando, e o primeiro padrão é A primeira linguagem de programação.
Finalizando
Eu gostaria de ter encontrado este alguns anos atrás, quando estava no começo da minha jornada.
Como todo bom desenvolvedor, já tive minhas crises e pensei em sair da área pelo menos umas duas vezes. Mas essas fases passaram e hoje estou mais apaixonado pela área do que nunca antes, e sei que minha jornada está só começando, e que talvez seja para a vida toda.
Aprendi muito com este livro, e ele sempre vai estar entre as minhas principais recomendações.