A tecnologia no dia a dia está em movimento constante com novas atualizações, ferramentas e estratégias, para manter tudo no radar é necessário não apenas ressaltar a importância do aprendizado como também a atualização contínua de profissionais.
Para te ajudar nessa empreitada, vou propor um modelo estratégico que contempla quatro níveis: o que aprender, grau de profundidade, resolução de problemas e avanço de conhecimento. Conheça mais detalhes abaixo!
A tecnologia no dia a dia
A velocidade que temos criado softwares e tecnologias só vem aumentando, mais de 85 milhões de novos repositórios foram criados no GitHub (GitHub Octoverse) em 2022, um crescimento de 20% em relação ao ano de 2021.
Quantos destes serão os mais novos frameworks adotados pela indústria? Existe até um site, o Days Since Last JavaScript Framework, dedicado a contar quantos dias se passaram desde o lançamento de um novo framework de javascript. Em todos os meus acessos, nunca vi este número ser maior do que 0, quer dizer, todos os dias temos novos lançamentos!
Essa grande e crescente quantidade de opções tecnológicas pode gerar várias dores tanto em indivíduos quanto em organizações.
Pensando em indivíduo, temos o receio de ser o último a saber de algum tópico importante (conhecido como FOMO – Fear of Missing Out) e a dificuldade em tomar decisões por não terminar análises (também chamada de Paralysis by Analysis).
Já em organizações, as dores principais são: complexidade de gestão de conhecimento e compatibilidade de soluções.
Considerando este cenário, aprender e se manter por dentro da tecnologia no dia a dia é uma forma de reduzir ou até mesmo eliminar o impacto negativo das dores listadas. Ao contrário do que muitas pessoas pensam, o segredo não está em aprender tudo mais rapidamente, mas sim escolher o que não aprender e se aprofundar somente no que realmente importa.
Estratégia de Aprendizado
Ao longo dos meus anos de experiência profissional e acadêmica na área de tecnologia, desenvolvi e refinei uma estratégia de atualização de conhecimento. A ideia principal é relacionar profundidade de conhecimento e esforço de tempo.
Dessa maneira, é possível otimizar o que queremos aprender por impacto profissional e/ou interesse pessoal. Isso conversa bem com a visão de profissionais com habilidades em forma de T serem o futuro do trabalho, esse conceito é ter um amplo conhecimento em vários tópicos que tocam de ponta a ponta o processo de desenvolvimento de uma solução digital, além de muita profundidade naqueles selecionados que trabalhamos diretamente e nos interessamos.
Em termos práticos, uso um modelo hierárquico de quatro níveis paralelos em que os primeiros níveis focam em conhecimento em largura e pouco esforço de tempo e os últimos níveis em conhecimento especializado e muito esforço de tempo.
À medida que vamos avançando, alguns tópicos são cortados para podermos focar e aprofundar em temas que gostamos e que fazem a diferença para resolver problemas reais. Conheça mais sobre cada nível:
- “O que aprender?”: caracteriza-se por ser um nível exploratório para descobrir o que existe em determinado tema ou grupos de assunto em tecnologia. É nele que a maior parte do conteúdo é filtrado por aplicabilidade (às vezes, uma determinada tecnologia somente funciona para uma linguagem específica que não é a que trabalhamos) para concentrar esforços nas próximas etapas.
- “Um pouco de profundidade”: começamos a efetivamente praticar. Caso exista viabilidade e interesse, vamos avançar para o próximo nível.
- “Resolva Problemas Reais com Fundamentos”: o foco é construir uma boa base teórica com aplicação fundamentada e prática.
- “Avance Conhecimento”: momento de registrar todo o aprendizado com acertos e erros do processo, disseminar informações e evoluir o grupo que fazemos parte.
Descrições detalhadas de cada um dos níveis com exemplos são apresentadas a seguir:
Nível 1 – O que aprender?
Esforço de Conclusão Típico: diário
Neste primeiro nível, o foco é explorar o que existe para ser aprendido, novidades e experiências. É importante saber o que não sabemos (já diziam Dunning e Kruger).
Por isso, converse com quem você trabalha, participe de eventos, acompanhe sites de notícias tech e comunidades. Para priorizar aqui, podem ser usados tech radars (Thoughtworks e Zalando) na fase de adoção, trial e assess e também os tópicos mais votados nas comunidades digitais. Em especial, recomendo:
Comunidades Digitais (uma lista não exaustiva, tem de várias outras linguagens e tópicos):
- https://www.reddit.com/r/programming
- https://www.reddit.com/r/aws
- https://www.reddit.com/r/sre
- https://www.reddit.com/r/java
- https://www.reddit.com/r/javascript
- https://www.reddit.com/r/Python
- https://www.reddit.com/r/MachineLearning
- https://www.reddit.com/r/AZURE
Notícias Tech:
Eventos:
Nível 2 – Um pouco de profundidade
Esforço de Conclusão Típico: semanal
Experimente, faça tutoriais, crie commits no seu GitHub, entenda como uma tecnologia pode ser utilizada em seu contexto. Leia e implemente artigos do Medium e LinkedIn Pulse, escute podcasts e vídeos em plataformas de streaming. Minhas recomendações são:
Pessoas/Artigos:
- Lethain
- Towards Data Science
- Better Programming
- The Startup
- Alex Xu – Author & Founder – ByteByteGo | LinkedIn
Podcasts:
Vídeos:
- GOTO Conferences – YouTube
- LeadDev – YouTube
- Full Cycle – YouTube
- Google TechTalks – YouTube
- Zup – YouTube
Nível 3 – Resolva Problemas Reais com Fundamentos
Esforço de Conclusão Típico: quinzenal ou mensal
O foco deste nível é ter grande profundidade em um dos tópicos vistos e escolhidos nos níveis anteriores, para isso é preciso entender os fundamentos. Uma das melhores formas de fazer isso é lendo livros de forma completa.
Para saber quais materiais são referência em determinado tópico, recomendo pesquisar no Goodreads, principalmente aqueles com mais de 50 avaliações e notas acima de 4.
Outra forma é fazer cursos em plataformas como Coursera, Udemy e PluralSight. Por fim, e não menos importante, é preciso usar os fundamentos aprendidos e construir soluções que resolvam problemas reais, muito além daquele primeiro hello-world feito no nível anterior.
O objetivo é entender claramente os motivadores da solução criada, os trade offs envolvidos e aprender com a criação em ambiente real.
Nível 4 – Avance o Conhecimento
Esforço de Conclusão Típico: escala com a senioridade, de trimestral até alguns anos
Como Richard Feynman advoga, a melhor forma de aprender é ensinar. Neste nível, escreva sobre suas experiências, apresente o que funcionou, o que não funcionou. Pode ser em ritos da sua squad de troca de conhecimento, palestras internas da empresa que trabalha ou até mesmo conferências nacionais ou internacionais.
Conte sua história de aprendizado a pessoas leigas e revise o processo, feche os gaps que encontrou ao ministrar conteúdo. Outra forma legal é se envolver em projetos open-source. O give back para comunidade é muito importante!
Zup: novidades e conteúdos
Por aqui, produzimos inúmeros conteúdos que podem te ajudar nos seus estudos, tanto orientações em relação a metodologias quanto em conteúdos específicos e completos produzidos por zuppers. Aqui vamos ressaltar alguns deles:
- Manual de plano de estudo da Zup
- Desenvolvendo planos de estudo eficientes
- Lançamento: Plano de Estudos de desenvolvimento iOS
- Conteúdos de pesquisa acadêmica
- 13 cursos de desenvolvimento para aprimorar o conhecimento técnico
Para facilitar seus estudos, temos um vídeo com dicas para autodidatas em tecnologia que vale a pena acompanhar. Assista!
Exemplo real
O diagrama é uma instância real do modelo descrito nos parágrafos anteriores e tangibiliza o que foi falado neste texto até o momento. Perceba que no primeiro nível existem tópicos bem heterogêneos (Service Weaver vs Criação de Testes), mas os que estão marcados em cinza não serão aprofundados na próxima etapa.
No segundo nível, já existe um foco em APIs e estratégia de engenharia. Esses temas conectam ao terceiro nível, ganhando profundidade em APIs e StackSpot para gerar impacto resolvendo o problema real de falta de massa de dados para testes em clientes. Finalmente, o último nível consolida o conhecimento adquirido e o disponibiliza para a comunidade que fazemos parte.
1 – O que Aprender? | Dia 1Ler Service Weaver: A Framework From Google For Balancing Monoliths and Microservices. | Dia 2Conversar sobre falta de padronização de APIs | Dia 3Ler OpenAPI Generator v6.5.0 | Dia 4Ler Turn your JSON into a database. | Dia 5Ler Build an automated test suite with 150 tests and 80% code coverage in 30 minutes | Dia 6Conversar sobre Arquitetura Essencial | … | Dia 21Ler Reflections on 10,000 Hours of DevOps |
2 – Um pouco de Profundidade | Semana 1Fazer um tutorial de OpenAPI | Semana 2Ler e praticar Writing an engineering strategy | … | Semana 5Praticar OpenAPI Generator | ||||
3 – Resolva Problemas Reais com Fundamentos | Mês 1Ler o livro Designing APIs with Swagger and OpenAPI.Fazer um curso na plataforma interna da StackSpot. | Mês 2 e 3Criar e Utilizar Stack com plugin que gera serviço com API REST commassa de dados baseado em contrato de OpenAPI | ||||||
4 – Avance Conhecimento | Trimestre 1Apresentar resultados da Stack criada ou criar artigo sobre aprendizados |
Conclusão
Sabemos que não existe “bala de prata”, mas espero que a estratégia aqui apresentada funcione como um guia básico de tecnologia no dia a dia e ajude diversas pessoas a navegarem no cenário cada vez mais BANI (em português, Frágil, Ansioso, Não-linear e Incompreensível) que vivemos. Lembre-se, não é uma corrida de 100 metros, é 1% de mais conhecimento todos os dias.
Quais outras técnicas podem ser utilizadas? Compartilhe aqui nos comentários deste post!