A capacidade de devs juniors
Eu cada vez fico mais impressionado com a capacidade de devs juniors.
Com os novos frameworks e ferramentas, a velocidade de se criar uma app, um site, é muito alta. Interfaces complexas, designs modernos e chamadas para APIS de back-end.
O famoso “vou fazer o clone do Spotify” ou “vou recriar uma app de Taxi”… e faz isso em 1 dia com a interface.
Por outro lado, muitas vezes faltam conceitos e base. A base que alguns consideram ‘teórica’. Desde algoritmos e estrutura de dados até mesmo a simples diferenciação do que são funções daquela plataforma, do que são comandos e o que são bibliotecas externas.
Confundir no começo é normal. Confundir depois de 2 anos trabalhando com as mesmas ferramentas é bastante perigoso.
E isso acontece pq muita gente pula de galho em galho… E fica mais no visual, mais no impactante. Claro, é importante ser pragmático também.
Não importa a área, acredito que se tornar um especialista vai muito além de se aprofundar em uma temática. É fundamental que se tenha uma base sólida, que se domine os conhecimentos do JavaScript, do Python, do C#, etc..
Os melhores resultados vêm daquilo que é bem feito do começo ao fim. Começar de qualquer jeito e se aperfeiçoar é ruim? Não. Mas o resultado não vai ser 100%. Assim como começar muito bem e “relaxar” lá na frente também não vai funcionar.
Cuidado então para não se tornar “apenas” dev de framework, dev de uma plataforma. Claro, você pode e deve ter uma especialização, mas use da sua nerdice para conhecer o código fonte daquela biblioteca, a arquitetura da máquina virtual e as entranhas do navegador que você está usando nesse exato momento.
16 comentários relevantes
Ver no LinkedIn →Fui um desses que pulei as bases teóricas por ir em ideia de vendedor de curso. Consegui entrar na área? Sim. Sofro por não ter essas bases hoje? Sim. To correndo atrás do prejuízo agora? E claro… bom ontem aprendi a converter uma árvore binária 🫠
1 curtidaPaulo Silveira estou fazendo imersão html CSS e o aprendizado está sendo surreal, eu ainda chego nos frameworks.
Antes de mais nada esse comentario não pretende desmerecer a importância de cursos rápidos ou tutoriais de clone de aplicações, etc. Acredito que isso tbm tem seu lado importante. Mas aqui você resumiu um déficit (na minha opinião) do mercado Dev atual, e a culpa não é dos Devs, e sim de empresas que não desenvolvem a cultura do aprendizado, criando devs robotizados (parece uma "revolução industrial do desenvolvimento de software"), acaba ficando ainda mais claro que muitas empresas preferem devs descartáveis que entregam pedaços de algo muito mais grandioso "mais rápido", do que especialistas/generalistas que sempre vão querer olhar o problema como um todo, e ter visões além do desenvolvimento de software, acho que ser dev vai muito além de só codar a sua task, e esse feeling só é construído com experiências reais, mentorias, resolução de problemas reais de software, sem contar que o lado humano também pesa bastante.
1 curtidaPor isso acho tão importante a complementação dos estudos através de leitura de livros. Vídeo aula te dá um conhecimento prático incrível, mas nada te dá uma base teórica tão boa igual a leitura de livros (principalmente os clássicos).
1 curtidaO interessante de aprender a replicar sistemas, recriar interfaces, é estabelecer esse norte no aprendizado voltado para casos de sucesso no mercado. O estudante que aprende a fazer o excelente desde cedo, o condiciona a entregar com qualidade sempre
1 curtidaÓtima colocação, Paulo. Entender como as coisas funcionam e as bases é fundamental, inclusive para ajudar a navegar em outras tecnologias e frameworks. Essa dica de fuçar o código fonte da lib ou framework para descobrir como as mágicas acontecem é muito útil, recomendo também.
2 curtidasIsso é fácil comentar, esse tipo de pessoa que cria coisas rapidamente, cria por haver aulas mostrando como fazer, mas se fosse fazer ele mesmo, demoraria muito. Existem inúmeros videos mostrando como clonar o Netflix, o Spotfy e etc, mas se essa pessoa fosse realmente criar, demoraria muito, pois clonar algo que já existe é relativamente muito mais fácil do que estabelecer os conceitos e desenvolver. Também existe hoje em dia uma divisão entre artista e desenvolvedor, pessoas que criam visual e pessoas que criam sistemas. Cada vez mais começam a existir especializações, e cada vez mais específicas.
Ótimo ponto. Na área de qualidade acontece algo parecido. As pessoas começam estudando sobre frameworks de automação antes de obter conhecido sobre os princípios e fundamentos de teste de software. Com isso, temos profissionais que se tornam apenas criadores de scripts mas não sabem levantar e priorizar cenários de teste ou utilizar outros tipos de técnicas como testes exploratórios.
Palavras sábias, parabéns pelo texto Paulo. Como sempre digo quem sabe programar consegue codar em qualquer linguagem, temos que ter uma base forte.
1 curtidaPerfeita sua colocação, Paulo. E acrescento mais uma situação, Esse pular de galho em galho, no final resulta na seniorização precoce, que na falta de profissionais de tecnologia, esses desenvolvedores(as) acabam até sendo promovidos/contratados como seniors e quando se deparam com problemas mais complexos não conseguem resolver e se queimam, infelizmente.
4 curtidasVer mais 6 comentários
Eu comecei estudando C , gostei bastante mas não conseguia entender alguns conceitos só nessa linguagem. Então comecei a procurar cursos que abordassem mais a base. Como venho de outra área, o básico se faz mais do que necessário. Mas ainda não foquei em uma linguagem, me parece muito que cada linguagem tem uma abordagem que facilite a explicação de determinadas coisas. Quero dizer, o conceito que aprendi estudando java, não aprendi estudando python, não aprendi estudando javascript. Tô falando do meu nível de conhecimento, o básico ali. Nada de específico das línguas. Por isso não estou baseando os estudos numa línguagem, estou indo pela base.
1 curtidaPaulo Silveira te mandei uma mensagem importante na solicitação de amizade, tenta dar uma conferida
Concordo plenamente, uma boa solução para isto seria uma Faculdade de Computação diferente. Unindo conceitos fundamentais da computação de uma forma estruturada com as tecnologias que o mercado demanda através de uma plataforma moderna de ensino. Me parece que falta muito pouco para a Alura atingir este patamar. Nunca consideraram esta possibilidade Paulo Silveira ?
Fantástico 🤩 isso Paulo!!! Nosso desafio como formadores destes profissionais passa por uma mentoria forte sobre maturidade também!! Estamos juntos nessa luta!!!
1 curtidaEstá faltando profundidade no conhecimento básico. Essas palavras me fez pensar muito sobre o rumo que estou seguindo e que os jovens pensam hoje.
1 curtidaConcordo muito, porém penso que muitos devs novos se adequaram ao que as empresas estão pedindo. A gente vê mais vaga para “pessoa desenvolvedora react/flutter/etc” ou para “Pessoa desenvolvedora javascript”? A primeira opção é muito mais comum e acaba moldando essas galera a ser dev de framework, infelizmente. Claro que, a partir do momento que nós damos conta disso, é de nossa responsabilidade mudar e ajudar essas pessoas a se desenvolverem além disso.
1 curtida