aprender ser dev

Revisando alguns temas que preciso reforçar para colaborar na construção de soluções das minhas tarefas, encontrei pontos para aperfeiçoar minha rotina e fazer com prioridade.

Nesse artigo, reuni um resumo de todos os materiais que acredito interessantes para esclarecer a maneira de se transformar em desenvolvedor.

Um plano de estudos
Como montar o meu cronograma de estudos?
Rotinas de Estudos
Erros durante os estudos de programação
Roteiro de estudos
Checklist de Estudos
Conquistar minha vaga de dev
Motivos que tornam impossível sua missão de aprender a programar
Temas Técnicos
Rotina de Trabalho Dev
Progresso de Carreira
Porque não consigo evoluir?
Projetos para treinar React em diferentes níveis de dificuldades
Fundamentos de Reactjs
Se iniciasse hoje
Segredos para conquistar a vaga de dev sem experiência
Reflexão: Como eu estarei daqui um ano?

Acredito que esse conteúdo é para te provocar a desenhar o seu próprio estilo com a vaga que deseja, com a maneira que quer fazer e ir ajustando para melhorar sua performance.

E no final tem um tópico bônus que é cereja do bolo desse artigo.

Montar um plano de estudos não é tão fácil de fazer, principalmente quando estamos iniciando as preparações em um tema.

fazer um plano de 30 dias — aprender um assunto de forma sólida requer tempo e estudo focado.

responsabilidade com as metas — principalmente no início do desafio de aprender algo, cumprir o plano de fazer o que deve ser feito para alcançar o objetivo de dominar o assunto é difícil. Para isso dar certo, ter disciplina para seguir o que está no papel é o coração para o resultado vir, e para ter a sensação de progresso e visualizar o objetivo materializado nos resultados é primordial ser consistente nos treinos.

anotar sua evolução — iniciamos com perguntas para nos direcionar. O que quero aprender? O que quero fazer? Quais as minhas metas? Qual o meu progresso? Como está minha evolução? Responder essas perguntas irá traçar o plano para alcançar o que quer.

Uma ressalva muito importante é converse com outros desenvolvedores. Pode ser um café, um bate papo amigável ou até mesmo uma mentoria. Essas conversas serão de grande importância para revisar a própria rotina e os resultados.

Então, fazer mentorias, consumir conteúdo teórico, responder questões, cumprir o desafio de código, codar desafio de projeto.

usar uma plataforma — cursos online são conteúdos organizados e selecionados por outras pessoas. No início da formação, acredito ser uma estratégia mais inteligente. Quando tiver mais experiência, você terá mais habilidade para listar sua própria lista de conteúdos a serem dominados.

O conteúdo é uma junção do próprio conteúdo somado a maneira que esse conteúdo é oferecido, e também, o processo que é consumido são os três pontos a serem analisados para ajustarem a sua maneira a ter um melhor resultado, dia após dia.

Conteúdo da ação e evolução somado a resultado da ação e evolução do domínio.

Uma sugestão para um roadmap para dev jr frontend poderia ser o html, css com a prática de fazer um site estático, o javascript com a prática de fazer um to do list e um crud, o react com a prática de fazer uma aplicação de previsão do tempo e o API Rest com a prática de fazer um frontend com informações vindas de uma requisição e navegação com rotas.

Uma ideia interessante é saber que trata-se de algo dinâmico. Montar e depois executar. Analisar os resultados e ajustar detalhes para aperfeiçoar a rotina com objetivo de ter melhores resultados de forma acelerada pois trata-se de qualidade do aprendizado e o tempo para esse domínio.

Primeiro desafio é definir o objetivo uma lista do que precisa aprender e enquanto tempo irá finalizar os estudos.

Já com a lista de tópicos, pesquisar referências para mapear as skills técnicas que preciso desenvolver. Usar o LinkedIn para analisar o descritivo de vagas e o site roadmap.sh.

Montar um calendário com prazos e tópicos será determinante para ter bons resultados nessa trajetória. Distribuir o período de tempo de estudo, horas diárias, semanais e meses no calendário de com a disponibilidade de cada realidade.

Organizar a rotina significa colocar os estudos como parte da sua rotina e se comprometer verdadeiramente. O tempo dedicado deve ser com foco e com concentração sem interrupções.

Primeiro item é construir um plano de estudos. Pode ser a partir de cursos online ou roadmap, o importante é ter uma trilha e colocar prazos para esse conteúdo.

Percebo que para cada item estudado sugiro fazer questões sobre o tema. Por exemplo, estudei uma hora sobre javascript, logo em seguida, responder dez questões sobre javascript que aborde o mesmo conteúdo estudado.

Esse plano de estudos pode ser desenhado a partir da descrição da vaga que deseja conquistar.

Escrever um currículo com verdade, aplicar a vagas, entender o que são os requisitos obrigatórios e o que são os requisitos desejáveis, saber demonstrar na prática o que foi escrito no cv e falado nas entrevistas costumam ser pontos deixados para um segundo momento na rotina de estudos mas acredito que deve ser ações realizadas desde o início para sentir como está no mundo real a habilidade de fazer e explicar o que fez.

Preparar-se para entrevista a partir de perguntas e respostas para aprender a demonstrar o valor que está sabendo entregar.

Existe um funil de processos seletivos e assumir estratégias, como trabalhar um branding pessoal colabora e muito para melhorar as chances de ser aprovado nesse jogo de conquistar uma vaga.

Construir networking a partir da participação em eventos, interação em comunidades, colaboração em fóruns e mentorias individuais e conexões, de qualidade, no Linkedin são indicações em potencial.

Estudar estratégias para melhorar a forma de se destacar entre os outros candidatos, tornar-se mais relevante. Um desenho interessante e que tenho desenhado algo parecido está a seguir

Aprender a montar um currículo para demonstrar seu objetivo atual, o valor que você oferece e que seja possível absorver em vinte segundos. Esse é o tempo que um recrutador leva para fazer a primeira leitura de um currículo.

Ter um Github com projetos para demonstrar o que sabe fazer e saber explicar o que foi feito e como foi feito. Aplicar estratégias de git flow, gestão de projeto, code review e colaborar com outros projetos.

Hospedar alguns desses repositórios e colocar esses projetos para ser usado e assim ter um portfólio real, mesmo que em projetos pessoais.

Compartilhar conteúdos de forma de textos, vídeos e calls é uma forma interessante colocar o seu conhecimento a prova e aperfeiçoar o domínio de suas habilidades.

Os estudos vão além dos temas técnicos e entendi que essa diferença colabora até mesmo para melhorar o rendimento do aprendizado. Percebi que se preparar além do código, alterna o tipo do conteúdo e a forma de estudar e isso se demonstrou melhorar meus resultados de estudos.

Ir para o mundo real se candidatando a vagas e indo a eventos terá muitos nãos como resultado, principalmente no início da preparação e construção da jornada da carreira. É importantíssimo para aperfeiçoar o processo e entender os motivos para o não.

Nesse momento de início de estudos de programação é muito importante estudar estrutura de dados na linguagem de programação escolhida para atuar.

Além disso, é interessante ter atenção sobre o que não fazer, como:

não pedir ajuda em caso de dúvidas, insistir em tentativas sem sucesso em determinados assuntos e a procura de soluções, iniciar os estudos em mais de uma linguagem de programação ao mesmo tempo, explorar somente a teoria nos estudos, assumir a estratégia de decorar código ao invés de aprender e entender o que está sendo estudado.

Entender que o caminho para tornar-se dev é muito particular de cada um e por isso, esse plano é um caminho de temas a serem seguidos e conquistados com uma rotina também conforme a disponibilidade do dia a dia de cada um.

Vamos organizar esse ponto em tópicos

1 — não estudar de maneira estrutura

2 — não pedir ajuda em caso de dúvidas

3 — estudar diversas linguagem de programação

4 — estudar só teoria

5 — decorar código

Para mim, ter a lista de tarefas do que fazer me ajuda, e muito, me concentrar em um problema de cada vez. No início, ficamos dependentes em receber essa lista. Com experiência e de tanto fazer, entendemos como montar essa lista.

Baseado em algum curso ou em um roadmap, pegar os temas de conteúdos de estudos e práticas para montar o seu roteiro com prazo.

html: dia 1 a dia 6, css: dia 7 a dia 14, javascript básico: dia 15 a dia 24, responsive: dia 25 a dia 27, javascript avançado: dia 28 a dia 45, reactjs: dia 46 a dia 57, git: dia 58 a dia 60. E fazer café no dia 61.

Sugiro muito você fazer isso. Se você empolgar, detalhe o dia em hora por hora.

Pesquisando cursos de programação encontraremos diversos pontos em comum mesmo que a stack se diferencie.

Vamos a tópicos que devem ser seguidos em ordem pois acredito serem em dificuldade de complexidade.

1 — html css, javascript, git e github

2 — responsividade, mobile first, acessibilidade, package manager, pré processador css, typescript.

3 — framework reactjs, testes unitários, performance web, web component, micro frontend

4 — soft skills: boa comunicação com o time, procurar solução e não desculpa e não culpado, continuar aprendendo, seja auto motivado, coragem para explorar o novo, coragem para assumir riscos, seja sentil, ter empatia se alguém falhar, resolver conflitos

Pesquisando orientações para atuar como programador e conquistar uma vaga, consegui resumir em cinco ações que devem ser organizadas e guias da rotina diária.

Fazer um curso como guia de conteúdo, praticar muito código com clareza guiada a solucionar tarefas, construir um portfólio com projetos que simulam tarefas do dia a dia, fazer networking para interagir com outros profissionais tanto os mais experientes quanto outros que você possa compartilhar um pouco da sua jornada.

E para coroar os esforços, faça processos seletivos para as vagas que tenham o requisitos que está estudando mesmo com medo. Arriscar-se desde o início trará a experiência em fazer processo seletivo que é conversar, explicar o conhecimento, se apresentar.

Lembre-se que não pode levar muitos NÃOs antes de seu SIM. Tomar as atitudes certas trará uma jornada acelerada para conseguir alcançar seus objetivos de carreira.

Estar com dificuldade com o fundamento de raciocínio lógico te colocará em enrrascadas logo no início das tarefas que você enfrentará.

Não sair do modo Ctrl + C e Ctrl + V. Todo início de estudos de programação inicia por copiar código. Mas trata-se de um processo de evolução e ir para o próximo passo de entender o que está fazendo será determinante com o progresso na sua jornada.

No primeiro contato com um determinado tema, temos a tendência de viciar no ciclo de aprendizado passivo, onde ficamos assistimos vídeos ou ouvindo áudios ou ler textos. Fugir desse ciclo para um método de aprendizado ativo onde pode ser feito anotando em tópicos com perguntas e ao terminar fazer recuperações por memória desse conteúdo a partir das perguntas.

Para esses três pontos, acredito que pode ser acelerado o tempo de conclusão com uma estratégia de consumir o conteúdo teórico de forma ativa, fazer questões, fazer exercícios de código e terminar um mini projeto que aborde todo o fundamento.

E essas quatro etapas forma um protocolo de aprendizado que deve ser aplicado a cada tópico estudado.

O quarto ponto que deve ser evitado é escolher a forma errada de aprender. Assumir estratégias de consumir muitos conteúdos diferentes reiniciando, sem progredir para itens de mais profundidade, mudar a didática toda semana sem dar tempo para dominar e ajustar a habilidade de aprender algo novo e não seguir sequência lógica de conteúdos.

E o quinto ponto de vista que quebra todo esforço de aprender algo e se tornar bom é não ter consistência. E isso acontece por não ter cronograma de estudos, estudar somente quando sobra tempo e exercitar pouco o que estudar.

Nesse momento de iniciar os estudos de programação tendemos a fazer cursos com conteúdos inteiros mas acredito ser interessante pegar tópicos de conteúdos para aprender pesquisar sob demanda e compreender a aplicabilidade de soluções.

Sugiro pesquisar definições e a forma de aplicar. Diferentes botões: seletor, checkbox, radio e dropdown. Padrões com convetional commits. A stack do desenvolvedor backend: framework, banco de dados, controle de versão, APIs, segurança e linguagem de programação. Hack de desenvolvedor é o caminho para se tornar dev.

Um dia de trabalho está começando, uma tarefa chega até você para desenvolver uma solução. Como se comportar? Primeiro, entender o problema, analisar o cenário que está inserido, pesquisar possibilidades de soluções, reunir informações, planejar solução e então, iniciar a codar.

Para construir uma carreira sólida de programador é importante revisar o progresso e resultados do processo desde o início para colher frutos conforme a realidade de cada um.

1 ter um portfólio para demonstrar o que sabe fazer e sabe explicar

2 praticar programação com uma rotina diária de treino para se aperfeiçoar.

3 participar de comunidades de programadores permitirá estar em contato com outros devs, terá opções para tirar dúvidas e vai criando conexões em um ecossistema de devs. O que eu acredito ser o mais interessante de interagir é ver profissionais mais experientes se comportando. Isso gera influências nas próprias rotinas.

4 participar de eventos como meetups e hackatons permite gerar experiências, construir networking, conhecer experiências que podem ser opções a serem seguidas.

5 fazer networking significa criar conexões de qualidade que tenha uma relação ganha ganha.

É interessante se informar sobre os planos de carreiras que as empresas oferecem e revisar as job description de vagas júnior, pleno e sênior. E para acelerar esse progresso quando e como se organizar para reduzir os erros e ser mais assertivo?

Vi as organizações semestrais mas prefiro mensal. Acredito que reduzir esse planner permite ajustar mais rapidamente e terminar uma versão para disponibilizar ao portfólio.

Estabelecer metas para o ano, para o semestre, para o trimestre e para períodos menores é interessante ter pontos de referências para saber se foi alcançado.

Revisar e analisar o que foi feito, ter pontos de entrega, ser auto crítico foco nos resultados, questionar se o que está sendo feito entrega valor na direção do seu objetivo, avaliar como está as próprias habilidades e perceber o que domina e o que precisa ser aperfeiçoado.

Dedicar-me, esforçar-me, ser comprometido, ser organizado e ser disciplinado são ações muito importantes para alcançar o objetivo mas não é certeza de conquista.

É preciso avaliar a forma que está fazendo as coisas e o que cada ação está resultando. Vamos a alguns pontos para se atentar.

Estudar de forma aleatória. Para corrigir isso, foque em um curso, tenha um roadmap claro, busque mentoria de outro profissional mais experiente.

Estudar sem consistência. Mesmo que em menor tempo que o planejado, é importante fazer todos os dias.

Fazer muita teoria e pouca prática. Para não cair nessa enrascada fazer uma rotina com teoria, questões, lógica e projeto.

E uma das enrrascadas mais comuns de quem está iniciando é mudar de linguagens frequentemente. Para evitar isso, foque em uma trilha de ecossistência e vá até o final. Com isso, será desenvolvido a habilidade de lógica de programação, os fundamentos de uma linguagem de programação e fundamentos para responder questões e o fluxo de como completar um projeto.

Pesquisando maneiras de fazer projetos na prática encontrei sugestões interessantes. Acredito que a metodologia seria fazer um projeto a partir de um guia, saber explicar o que foi feito e dominar a tecnologia que está aqui e depois fazer alterações para tornar o projeto personalizado e original.

Projeto para nível iniciante: calculadora, jogo da velha e informações de clima

Projeto para nível intermediário: landing page de pizzaria, clone de facebook

Projeto para nível avançado: 2048 com animação, jogo breakout, checkout e-commerce

Utilizar esse projetos como ponto de partida para os temas de estudos. Estudar e anotar, planejar e codar.

Acredito que com um protocolo de estudar formado por uma hora de consumo do conteúdo seja ele por vídeo, áudio ou texto fazendo anotações. Gosto de anotar perguntas para blocos de conteúdos para ajudar a esclarecer o que trechos de anotações significam.

1 — iniciar o projeto com vite e cra

2 — componentes e propriedades

3 — aprender lógica de programação com javascript

4 — formulários e eventos

5 — controle de estado com hook useState

6 — efeitos colaterais com o hook useEffect

7 — listas e chaves

8 — composição e fragments

9 — renderização condicional

10 — hooks useRef e useLayoutEffect

11 — contextAPI

12 — tratamento de erros com boundares

13 — otimização com useMemo

Para os resultados serem bom e de forma acelerada é muito importante ser consumido conteúdo todos os dias, então a soma seria CONSISTÊNCIA + HÁBITO DE ESTUDAR + PRATICAR.

Se iniciasse hoje

Aprender a aprender é uma habilidade que quando dominada abre uma infinidade para sua vida. E depois da primeira linguagem de programação as próximas são aprendidas com mais facilidade. Já escutamos isso de pessoas que aprenderam mais idiomas.

O primeiro ponto é para se dedicar entre uma e duas horas por dia. Então, desenvolver vários sites em html e css para praticar com código. Nesse ponto, esse vários pode ser dez. Seguindo para o javascript para dominar os fundamentos de lógica de programação.

Fechado esse nó de conteúdos, entendo que vamos para um segundo nível, onde voltaremos aos sites que criamos no item dois para dar dinamismo com os fundamentos do javascript.

Agora, com o objetivo de controlar suas versões de códigos com o git e compartilhar seus repositórios e gerir as tarefas no github.

Iniciamos uma habilidade avançada aprendendo um framework que no nosso caso é aprender os fundamentos do react para trabalhar com aplicações frontend web.

E a última tarefa a ser realizada é cuidar das conexões e construir uma identidade visual profissional com github com os códigos e estratégias de projetos adotadas, um perfil no Linkedin para construir networking, interagir com recrutadores de tecnologias e com outros desenvolvedores com as mesmos stacks, se candidatar a vinte vagas diariamente para aprender a passar em processos seletivos.

A mensagem é não se abalar pelos NÃOs. Já falei isso em outros trechos mas acredito que toda as vezes que falamos sobre conquistar é importante reforçar. Para cada não, avaliar e aperfeiçoar as habilidades para avançar nos objetivos.

Para esse momento onde ainda não há experiência é importante utilizar a internet para construir essa experiência e demonstrar os resultados dos seus estudos.

Criar um perfil no Linkedin e completar toda a sua conta publicando diariamente, fazendo recomendações, comentando em postagens, enviando mensagens no direct, seguir empresas e recrutadores, se conectar a outros profissionais que estejam alinhados a sua carreira.

No Github, construir projetos e compartilhar em repositórios demonstrando seus códigos a partir de treinamentos, códigos de testes e exercícios para dominar o que estiver aprendendo.

Os projetos que podem ser hospedados para serem usados por amigos ou até mesmo, fazer projetos para solucionar problemas para cenários reais.

Mesmo que no início, temos o que ensinar e por isso, é uma estratégia interessante compartilhar conteúdos em textos ou em vídeos ou áudios. O objetivo é criar conteúdo para ensinar com pequenas pílulas.

Aplicar-se a vagas que estejam alinhadas a stack que estiver se preparando e cuidando para analisar e aperfeiçoar as habilidades de apresentação, explicação de códigos, analisar cenários técnicos e propor soluções e saber se comportar em entrevistas e dinâmicas.

Pode parecer repetitivo alguns pontos que abordamos durantes esse artigo mas o meu objetivo é abordar cenários sob perspectivas de o que fazer e também o que não fazer nessa jornada de aperfeiçoar habilidades técnicas e comportamentais de desenvolvedor.

Acredito que a maior parte dos fatores que nos cercam não está sob o nosso controle. Mas nos poucos que controlamos, podemos aperfeiçoar o processo para melhorar as performances das ações.

programar todos os dias por pelo menos trinta minutos.

escutar um podcast de tecnologia para se atualizar sempre que lavar louças

ler pelo menos vinte páginas por dia de um livro de desenvolvimento pessoal

tirar a dublagem da netflix e ouvir o áudio original para praticar o inglês

deixar de seguir quem não te impulsiona ou fontes de conteúdos que tiram seu foco

colocar em prática pelo menos 30% dos postos que você salva

ler um artigo técnico sempre que iniciar o computador

adicionar um item aqui!!

Um fator interessante é ter um guia com frases para o mês, palavras para a semana.

Consistência vira o jogo!

Esses pontos são sugestões para você pensar como montar sua rotina, executar, avaliar e ajustar e agir novamente. E fazer isso em ciclo.

Desenvolvedores Influenciadores

Vamos ao tópico bônus.

Chegou o bônus

Consumir conteúdos de influenciadores programadores ajuda e muito formar uma mentalidade do universo de programação e tecnologias.

LIVE — Código Fonte TV

Na live da imagem acima foi promovida pelo canal do youtube do Código Fonte TV. Acredito ser muito importante beber dessa água porque são as experiências dessa galera muito massa.

Acredito ser interessante pesquisar no Instagram e no Youtube para ter contato com conteúdos e experiências de profissionais que irão de mostrar o que é possível fazer e te dar inspirações.

--

--

Developer Frontend Web — Javascript | ReactJS https://linktr.ee/douglasabnovato

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store