Construindo seu próprio currículo de aprendizado pessoal
Publicados: 2022-03-10Depois de concluir um bootcamp em março de 2019, fiquei impressionado com a escolha de frameworks, bibliotecas, idiomas e cursos que tive que escolher para continuar o aprendizado independente e, espero, conseguir um desses trabalhos de desenvolvedor júnior indescritíveis. Quase todos com quem conversei tinham uma opinião diferente sobre o que era importante e o que valia a pena buscar, mas a maioria concordou que aprender 'os fundamentos' era importante, embora nunca especificasse quais eram.
Mesmo depois de conseguir meu primeiro emprego de desenvolvedor no verão passado, rapidamente ficou claro que eu tinha que fazer um aprendizado extracurricular regular para atender às demandas dessa nova função. Eu voei entre os cursos da Udemy por um tempo e, embora tenha aprendido, muitas vezes me vi seguindo os movimentos de copiar o instrutor sem desenvolver habilidades de resolução de problemas por conta própria. Precisei fazer meu próprio projeto paralelo de bloco de rascunho para realmente entender o novo material. Então agora eu sabia qual era o meu estilo de aprendizagem: exposição inicial às ideias em um curso ou no trabalho, criar um esboço de um projeto para solidificar conceitos e depois usar esse novo aprendizado no meu trabalho diário, se pudesse.
A maioria de nós tem uma noção sólida (embora conquistada com muito esforço) de como aprendemos melhor no curto prazo, mas como isso se traduz na estrutura do aprendizado extracurricular de longo prazo? Vou lhe contar como resolvi esse problema por mim mesmo. Essas estratégias funcionarão em todo o espectro de experiência, seja você um novato no desenvolvimento de software ou um engenheiro experiente.
Seu próprio currículo pessoal
Este é o meu método de montar um currículo de aprendizagem . Como alguém com tempo limitado e uma tendência a ser levado pela brisa da impulsividade às custas de um trabalho contínuo e focado, achei esse método o mais compatível com meu cérebro e ritmos gerais. Sua milhagem, é claro, pode variar.
Use as especificações de função do 'trabalho dos sonhos' para definir metas
Achei este passo realmente útil para abafar todo o ruído ambiente e me concentrar em coisas que serão praticamente úteis para minha carreira nos próximos cinco anos. (Como mais desenvolvedor de front-end, muitas vezes me peguei olhando para aprender Rust. Embora fascinante, não é exatamente uma prioridade.)
Você pode não querer trabalhar em uma grande empresa de tecnologia, mas vale a pena olhar para o que eles priorizam ao contratar, pois, para o bem ou para o mal, as grandes empresas tendem a definir o tom do setor em geral. Eu tenho uma pequena lista de compras de empresas não malignas que eu gostaria de ter um dia e todas elas compartilham as mesmas prioridades: HTML/CSS semântico, excelentes habilidades em vanilla JS, acessibilidade e uma estrutura popular. Um dia vou aprender Rust, mas, por enquanto, trabalhar nessas habilidades são minhas principais prioridades.
Eu tendo a favorecer o Indeed, Guardian Jobs e LinkedIn para obter uma ampla gama de empregos que estão no mercado, mas igualmente útil é o Twitter (basta pesquisar [nome da empresa em que você está interessado] e 'empregos'), e manter um olho periódico na página 'Carreiras' de suas poucas empresas favoritas a cada dois meses. Jessica Rose, que twitta como @jesslynnrose, frequentemente escreve longos tópicos no Twitter sobre vagas de emprego em 'empresas do mal' que às vezes não são muito bem divulgadas em outros lugares.
Depois de reunir algumas especificações de trabalho, tente identificar as semelhanças entre elas e anote-as. Vamos usá-los para a próxima etapa.
Identifique oportunidades para desenvolver as habilidades que você deseja
Lembra daquela lista que mencionei? Divida-o em duas colunas. Coluna um: coisas em que você pode trabalhar no seu trabalho diário. Coluna dois: coisas que você precisa ver em seu próprio tempo.
Aprendizagem no Trabalho
As coisas da sua lista que são cobertas pelo seu trabalho diário são as coisas com as quais você menos precisa se preocupar. Não importa o que aconteça, suas habilidades nessas áreas melhorarão com o tempo. Alguns de vocês estarão trabalhando em organizações enormes compostas por muitos desenvolvedores com vários níveis de senioridade e especialidades, e eu aconselho você a aproveitar tudo o que vale, para ser franco.
Se a acessibilidade é uma lacuna de conhecimento sua que você gostaria de melhorar, tente engolir qualquer nervosismo e aborde alguém em seu local de trabalho que tenha essas habilidades para um bate-papo / um café Zoom. Tente emparelhar com eles, com o entendimento de que você pode 'emparelhar' coisas que não são problemas de codificação. Converse com eles sobre onde eles encontram suas informações, quais contas do Twitter, blogs e podcasts eles acompanham e como eles mesmos se mantêm atualizados com os novos desenvolvimentos.
Aprendizagem em casa
Como alguém com duas carreiras anteriores, nenhuma das quais relacionada à ciência da computação, que entrou na indústria por meio de um bootcamp de nove semanas há um ano, tenho uma compreensão rudimentar da ciência da computação, e muitos de vocês provavelmente estão na mesma situação.
Eu achei o Frontend Masters inestimável quando se trata de cursos realmente bem projetados sobre princípios de ciência da computação e aprendizado mais específico. Pessoalmente, achei os cursos de Will Sentance sobre Frontend Masters valiosos para entender como e por que quando se trata de JavaScript vanilla. Da mesma forma, os cursos 'Quatro Semestres de Ciência da Computação em 5 Horas' de Brian Holt expõem os alunos ao tipo de conceitos que podem surgir em entrevistas de tecnologia.
Há uma taxa de assinatura mensal para o Frontend Masters, e vale a pena, mas há muitos recursos gratuitos maravilhosos por aí. Eu realmente recomendo que quem ainda não o fez se inscreva no CS50. O curso, ministrado pela Universidade de Harvard, é um recurso maravilhoso e gratuito, que irá expô-lo a C, Python, JavaScript e módulos sobre ética e estruturas básicas de dados. As palestras são muito divertidas, e você pode fazer o quanto quiser do curso, sem restrições de tempo.
Da mesma forma, o FreeCodeCamp conquistou seu status como um ponto de partida importante tanto para desenvolvedores autodidatas quanto para aqueles que desejam desenvolver suas habilidades existentes, e encorajo você a procurar cursos relevantes para seus interesses na Udemy (sugiro não compre um curso da Udemy que não tenha um grande desconto. Suas vendas acontecem uma vez a cada poucas semanas e sempre há códigos de desconto circulando).
Um dos meus favoritos em particular é The Complete Node.js Developer Course, de Andrew Mead, e eu adoro os cursos de Colt Steele (há um particularmente bom sobre algoritmos e estruturas de dados que o ajudará se você se encontrar no lado mais pesado de algoritmos do espectro de entrevistas técnicas). A Smashing Magazine também realiza workshops on-line frequentes sobre diversos assuntos que ajudarão você a melhorar suas habilidades.
Como você deve saber, as habilidades que levam as pessoas a empregos em tecnologia muitas vezes podem divergir das habilidades que as pessoas precisam usar no trabalho. Esses cursos ensinarão os fundamentos da ciência da computação, mantendo você ágil para entrevistas e o ajudarão a preencher quaisquer silêncios potencialmente esmagadores com resumos rápidos de diferentes estruturas de dados e seus prós e contras. O objetivo não é fazer todos esses cursos, mas identificar e combinar aqueles que se encaixam nas especificações do trabalho que você selecionou.
Descobri que o Twitter é incrivelmente útil para encontrar pessoas para conversar sobre problemas de código. Na primavera passada, gritei para o vazio sobre um problema que estava tendo com o Android Studio e fiquei surpreso por estar em uma videochamada com um desenvolvedor Android menos de dez minutos depois e, além disso, ele pareceu feliz em ajudar!
Não subestime a gentileza da comunidade de desenvolvedores e não tenha vergonha de pedir ajuda quando precisar, e faça o seu melhor para se colocar em situações em que você possa conversar com pessoas de um mundo semelhante a você dentro do contexto mais amplo da indústria de tecnologia. A hashtag #CodeNewbie é útil se você precisar de ajuda.
Definir metas e horários
Agora é hora de vincular suas metas de aprendizado autodirigidas a algumas metas. Tente não colocar a fasquia muito alta - se não for realista concluir um curso da Udemy em uma semana, não tente se esforçar tanto para atingir a meta às custas de outras coisas importantes em sua vida ou deixar de cumprir a meta e se sentir um fracasso. A ideia é manter-se no caminho certo , aplicando uma leve pressão para se manter motivado, mas não tanto a ponto de se sentir sobrecarregado e perder toda a motivação.
Como uma pessoa matinal, sinto-me mais capaz de me concentrar no estudo nas horas anteriores ao início do meu trabalho, às 9h30. Com isso em mente, e usando a maravilhosa ferramenta de controle de tempo, Toggl, passo das 7h às 9h duas manhãs por semana no estudo de código. Usar o Toggl foi extremamente importante para mim porque, não importa o quanto eu faça, muitas vezes sinto que não é suficiente. Mas com a ajuda de Toggl, pude ver com certeza que estava fazendo um mínimo de quatro horas por semana (com extra à noite e fins de semana, se quisesse) e me senti mais capaz de me afastar do meu laptop e descansar quando meu o tempo acabou, seguro no conhecimento de que eu tinha acumulado uma quantidade aceitável de horas pelos meus próprios padrões.
Torne o progresso mensurável
Pense em sua agenda semanal média e tente bloquear algum momento do dia em que você tenha a melhor chance de garantir o foco ininterrupto. Alguns de vocês serão cuidadores ou de outra forma extremamente ocupados, e provavelmente será melhor para você levar seu tempo como e quando puder.
Se ajudar você a ver um exemplo, meus alvos pessoais são os seguintes:
- Conclua um curso de Node.js Udemy até o final de fevereiro.
- Faça 30 minutos de Executar Programa antes do trabalho todos os dias.
Tente errar no lado da cautela para o seu primeiro conjunto de metas. Você sempre pode aumentar a pressão se quiser, mas é melhor fazê-lo depois de ter conseguido alguns; certifique-se de ter o espaço físico e mental de sobra para realmente se concentrar no que você precisa fazer para permanecer no caminho certo.
Encontre um mentor, ou um amigo, ou ambos!
A mentoria é algo que a maioria dos desenvolvedores recomendaria para melhorar as habilidades, mas, pela minha experiência pessoal, encontrar alguém com tempo para orientá-lo é um desafio, especialmente agora. Existem recursos como o Coding Coach que podem ajudá-lo, e conheço alguns desenvolvedores que encontraram o mentor dos seus sonhos em encontros e nas mídias sociais, mas encontrar a combinação perfeita é mais fácil falar do que fazer.
Falei com Falina Lothamer, designer instrucional da Thinkful — um curso online aberto massivo (ou MOOC, abreviado) — para ter uma ideia de como os profissionais abordam o aprendizado independente. Ela deixou muito claro que encontrar e trabalhar com um mentor é a chave para progredir em suas habilidades como desenvolvedor.
“Se você precisa ter algo definido para você, ter aquele mentor para dizer: 'Aqui é onde eu acho que você deve se concentrar', mostrando o que eles estão fazendo em seu trabalho e compartilhando sua opinião sobre o futuro da sua área de tecnologia vai ajudar muito. Eu acho que há muitas pessoas na indústria que estão dispostas a preencher esse papel de mentor e fazer pelos outros o que alguém fez por eles.”
Depois de expressar algumas das minhas frustrações por ter atingido uma parede de tijolos com vários cursos da Udemy, simplesmente me descobrindo retendo informações e não necessariamente tendo a confiança no que aprendi para aplicá-las em outras áreas ou em outros projetos, Fallina foi claro que prestar contas a outra pessoa - idealmente um mentor, mas igualmente outro desenvolvedor com uma quantidade de experiência profissional semelhante a você - é essencial.
“Como desenvolvedor, você precisa procurar oportunidades para demonstrar o que sabe e como está aprendendo. Ter outra pessoa para conversar sobre os desafios que você está enfrentando e ter espaço para conversar com alguém e perceber 'essa coisa que estou tentando fazer é complicada, não sou um desenvolvedor terrível', ter isso validação pode ser enorme.”
Para aqueles que não conseguem encontrar um desenvolvedor sênior para colocá-los sob suas asas, recomendo seguir o conselho de Fallina e se responsabilizar por outra pessoa na indústria em um nível semelhante a você. Os desenvolvedores se unindo e compartilhando histórias reforçarão que esse trabalho é difícil e que eles não são os únicos engenheiros que lutam para sobreviver no trabalho alguns dias. Este trabalho pode ser muito desgastante emocionalmente, e ter um amigo para lutar junto será inestimável naqueles dias em que nada parece estar indo bem.
Eu recomendo se inscrever no Interview Cake, Execute Program ou em um curso relevante da Udemy para seu nível de habilidade e especialização, e concluir os mesmos exercícios que seu amigo mais ou menos ao mesmo tempo. Discuta o que você achou mais fácil e onde você caiu, e mantenha contato um com o outro o tempo todo. Embora você certamente possa fazer essas coisas sozinho, promover um senso de comunidade o ajudará a permanecer na tarefa e aumentará a probabilidade de você se dedicar a ela.
Um estojo para aplicações de bloco de rascunho
Se você tem tempo e energia para investir em um grande projeto paralelo em cima do trabalho, mais poder para você, mas acho a pressão para fazê-lo um tanto pesada. Em vez disso, sou fã do projeto do bloco de rascunho, principalmente porque realmente me beneficio ao seguir muitas ideias novas de uma só vez e rapidamente me desinteresso por projetos pessoais, não há pressão de tempo para me levar adiante.
Se o seu projeto paralelo faz uma chamada de API, exibe as informações de uma maneira semi-atraente e você aprendeu algo com o processo, e construir o projeto em um aplicativo maior não se encaixa com sua neurologia, sua agenda de cuidados , ou seus gostos, então dê um tempo a si mesmo . Você não zombaria de um artista por esboçar, e certamente não deveria se sentir mal se seus projetos paralelos forem mutantes meio formados, desde que você obtenha algo do processo. Meus repositórios do GitHub são elegias a boas ideias passadas, e eu fiz as pazes com isso.
Arredondar para cima
Dado o estado do mundo agora, a última coisa que quero ser é outra voz exigindo produtividade no confinamento. Não é disso que se trata. Estes são simplesmente passos que funcionaram para mim quando precisei aprender ao longo do tempo, sem me esgotar ou me pressionar indevidamente. Se eles funcionam para você, maravilhoso. Se não, não se preocupe. Todos nós temos nosso próprio ritmo.
Degraus
- Use as especificações do trabalho para identificar as principais habilidades.
- Divida essas habilidades entre o aprendizado no trabalho e o aprendizado no seu próprio tempo.
- Estabeleça metas claras, mensuráveis e realistas e intensifique-as apenas quando encontrar seu ritmo.
- Encontre um mentor ou amigo para que você seja responsável por esses objetivos.
- Relaxar! O aprendizado confuso é melhor do que nenhum aprendizado.
Recursos úteis
- Udemy
- Bolo de entrevista
- CS50
- Executar programa
- Coach de codificação
- Alternar
- #CodeNovato
- Workshops online da Smashing Mag
- FreeCodeCamp
- Mestres de front-end
- De fato
- Trabalhos de Guardião
Boa sorte!