DEV Community

Cover image for Ninguém pode te dizer quanto tempo leva para se tornar "dev"
Ricardo Gouveia
Ricardo Gouveia

Posted on

Ninguém pode te dizer quanto tempo leva para se tornar "dev"

Cover photo by Annie Spratt on Unsplash

Por mais que eu não seja um desenvolvedor herdado da época dos webmasters, eu sei que pelo menos desde 2012 já haviam cursos prometendo formações ultrarrápidas para tornar alguém em um desenvolvedor. Isso não é exclusivo da área de front: durante minha faculdade havia uma piada sobre um vídeo "aprenda C em 5 horas".

O problema é quando não tem ninguém pra dizer pra você que aquilo não é pra ser levado a sério.
**

Mulher preta lendo livro sentada na janela

Photo by Thought Catalog on Unsplash

O problema do aprender

Aprender é um conceito subjetivo. Principalmente pra mim que não sou pedagogo, e não posso falar do conceito além do que eu aplico a ele em mim mesmo. Mas há, de certa forma, um consenso entre professores de todas as áreas e níveis onde se diz que cada pessoa tem um método otimizado diferente de aprendizado.

Um curso com método A pode ter uma alta taxa de absorção numa pessoa 1 e uma baixa na pessoa 2. O curso com método B pode ser o inverso. A pessoa C pode ter uma alta taxa com ambos e a pessoa D com nenhum destes. Mesmo sem pesquisar nada acadêmico sobre, posso dar um exemplo bem específico: no site oficial do react - a lib front end - na página de tutorial, existe um quadro de dica que diz que você pode seguir dois caminhos: o caminho de quem prefere aprender fazendo e o caminho de quem prefere aprender os conceitos "de baixo para cima". Isso já implica na existência de pelo menos dois tipos de aprendizagem diferenciados. A ultima sugestão, que sugere que ambos os caminhos são complementares, ainda talvez indique um terceiro método: o uso dos dois anteriores combinados simultaneamente.

Toda essa teoria - se é que assim posso chamar - converge em: uma pessoa que produz um conteúdo de auxilio a aprendizagem, como um curso, tem controle sobre apenas um tempo: a duração daquele curso. Ela pode também estimar o tempo de prática além das aulas, e somar os dois para obter uma estimativa de esforço final em tempo. O problema é que esse cálculo não considera as variações de métodos de aprendizagem, então só é uma estimativa realística se o seu método pessoal tiver exato ou superior desempenho pretendido pelo curso. Na minha experiência pessoal, esse match perfeito raramente ocorre.

Jamais tente adaptar o seu método de aprender para se encaixar num curso ou conteúdo. Isso nem sempre é possível; quando é, será um esforço absurdo, e quando você for buscar uma nova fonte de conteúdo talvez pense em fazer isso de novo. É uma fórmula certa de atraso. Não estou dizendo que você não deva buscar otimizar seu método: se uma dica melhora seu processo, abrace-a. Mas se algo não está funcionando pra você depois de um esforço mediano, substitua. Temos infinitas fontes de conhecimento hoje em dia, principalmente sobre desenvolvimento. Não se prenda.

Isso se aplica a esse texto. Se você não entendeu até aqui, me pergunte a respeito e eu tentarei te explicar de outra forma. Se ainda não funcionar, procure outras fontes ou pergunte a outras pessoas. Você pode nem terminar de ler, ou ler depois pra ver se em outro momento isso fez sentido pra você.
**

Gráfico alternando para cima em folha sobre mesa com canetas e régua

O problema do nivelamento

Photo by Isaac Smith on Unsplash

Não bastasse o problema do aprendizado, existe o problema do nivelamento: a partir de qual momento num processo de aprendizado de programação a pessoa é considerada uma pessoa desenvolvedora? Não existe nenhum consenso nisso.

Por isso que alguns cursos e bootcamps vão usar isso a favor deles - e de certa forma, contra quem quer aprender. Isso não atrapalha o aprendizado em si, mas cria falsas esperanças. Não é depois de um curso que você vai ter uma mentalidade desenvolvedora. Você vai ter mais conhecimento técnico. Isso é suficiente pra ser desenvolvedor?

Podemos discutir aqui o que é suficiente pra fazer um desenvolvedor: só saber fazer uma página web? certo, mas ele precisa fazer "do zero" ou pode usar frameworks? a página precisa apenas funcionar ou ela precisa ter um bom desempenho comprovado por avaliadores (como o lighthouse)? até onde ele precisa saber sobre acessibilidade nesse momento inicial? Basta ele saber o desenvolvimento baseado em HTML/CSS/JS ou ele precisa saber conceitos que se aplicam a "outros fronts", como o mobile (APIS de notificações e recursos de smartphones)? Ele precisa saber sobre UI/UX para participar do processo de forma a identificar falhas vindas dessa etapa? E soft-skills?

São muitas questões. Inclusive tem algumas aí que se obrigatórias então eu não sou dev.

Para uma empresa, ela pode ainda levar em consideração o tempo de experiência para decidir se quer contratar alguém como dev. Isso distancia ainda mais o curso da capacidade de te tornar um dev logo de cara. Outras podem contratar alguém com quase nenhuma experiência e treinar no on boarding, e o curso exterior a esse processo sequer é necessário.

A ideia é de que o momento onde a pessoa se tornou uma pessoa desenvolvedora não é um ponto no tempo. Ele nem sequer existe. A pessoa é simplesmente alguém que foi se tornando cada vez mais dotada de habilidades ligadas a desenvolvimento de software, eventualmente conseguiu um trabalho na área, e hoje continua aprendendo. Ela não se tornou dev ao arranjar o primeiro trabalho, já que ela poderia nunca trabalhar na área e ser uma desenvolvedora por hobbie. Não foi quando ela concluiu um curso X ou Y já que ela poderia ter aprendido aquele conhecimento de outra maneira ou fonte, ou sequer ter aprendido mas saber todo o resto e conseguir fazer um produto satisfatório em muitos requisitos.
**

Pessoas gordas conversando em sala branca com janelas

Muitos conselhos, poucas palavras finais

Photo by AllGo - An App For Plus Size People on Unsplash

Eu apresentei muitos questionamentos sobre quem é ou não um dev. Se você está iniciando, não deixe isso te assustar. Não é meu objetivo. Eu estou tentando na verdade te blindar de um dia pensar que tal curso é "indiretamente obrigatório" porque todo mundo que vc conhece fez ou que quem fez é melhor que você ou vai conseguir o que quer mais rápido que você.

O outro lado da moeda também é perigoso: sim, você deve saber que ninguém pode dizer que daqui uma semana você vai ser um dev. Mas existem conteúdos recomendados por pessoas e empresas bem consolidadas na área que tem tempos estimados para alguém ler ou dominar. Novamente: estimados, nada "fechado". Você deve estar aberto a conselhos de pessoas, principalmente das que concordam que existe mais de um caminho para o mesmo objetivo. Evite conselho de quem quer te vender ou mesmo de quem oferece um caminho gratuito, porém unicamente revolucionário, isso não existe.

Minhas recomendações de conteúdo para alguém que está começando - e que ainda pensa "será que sou dev?" - são três:

  • leia o Front-end Handbook: você não precisa ler o livro todo. Não é um livro técnico, mas é um bom sumário sobre a profissão de desenvolvedor front-end. Ele sumariza como estão as tecnologias dessa área, o que pode ser necessário saber para entrar numa vaga, e onde buscar conhecimento em cada um dos conhecimentos sugeridos. É totalmente sugestivo. Costuma ser atualizado anualmente, mas por algum motivo a versão 2020 não foi divulgada. A de 2019 continua muito atual.

  • guie seus estudos pelo front-end developer roadmap: esse roadmap também é atualizado anualmente. Ele mostra várias tecnologias e onde elas podem se encaixar numa jornada de aprendizado. Eu não sei tudo que tem lá e a maioria dos devs também não, porque não é necessário. Mas para um iniciante é bom para uma ordem sugerida e para ver onde cada coisa se encaixa.

  • use a trilha de estudos para front-end web developer da MDN: por mais que a descrição da trilha também use o jargão de ensinar tudo o que se precisa saber para se tornar dev, eu discordo. Ela ensina tudo que você precisa para construir páginas web simples, e tudo baseado em conhecimentos base que depois você vai poder aplicar em qualquer framework - o que é muito importante. A MDN é um site que como desenvolvedor eu consulto quase diariamente. Por vezes, suas descrições de features são mais sucintas que as da própria W3C, e isso se deve ao fato de que seu propósito é ser referência rápida, e não documentação oficial.

Eu já havia recomendado o front-end handbook num texto meu de 2018. As outras fontes ou são recentes ou eu as conheci depois. Estou sempre aberto e buscando fontes que posso considerar como renováveis e firmes para recomendar.

Existem canais do youtube, cursos, artigos em blogs e aqui no DEV que vão ser extremamente positivos na sua carreira. Enquanto e depois de passar por esse processo inicial, crie a rotina de vir nessas fontes de conhecimento para aprender ainda mais e também compartilhar conhecimento. Nunca deixe de aprender.

E também não deixe esse texto ser sua única fonte sobre esse assunto. Converse sobre com outras pessoas e comente o que você acha a respeito. Quero saber o que você acha!

Top comments (0)