Não comece pelo Javascript se você quer arrumar uma vaga como iniciante.
Minha opinião
Acredito que vocês, iniciantes, não deveriam começar pelo JavaScript por causa da falsa promessa que alguns criadores de cursos fizeram, a qual provavelmente vocês já escutaram: "Ganhe de 6 a 8 mil por mês com apenas 6 meses de estudo".
Por quê? O mercado está lotado de "juniors" que acham que são competentes devido a esses cursos. Assim, a maioria das vagas de JavaScript estará repleta de pessoas, tornando quase impossível que você seja chamado para uma entrevista de apresentação.
Oque vocês acham disso?
Você tem razão que esses cursos não permitem as pessoas terem as competências necessárias para arrumar um emprego. Embora possa acontecer por sorte.
E de fato costumam ensinar JavaScript porque é mais fácil e desagradará menos as pessoas que não tem vocação. E aqui entra outro ponto.
Sei que muita gente não gosta que eu fale isso, mas a falta de vocação fará a pessoa patinar muito. Não é impossível a pessoa se desenvolver e se dar muito bem, mas não acontecerá com quase todo mundo. Sem vocação poderá ter emprego, mas nunca será um bom, salvo as exceções citadas. Pode até fazer o melhor curso que existe.
Eu não acho que a pessoa deva evitar JS por isso. Um dos motivos que esses cursos caça-níqueis preferem JS também é que deve ser o que tem mais vagas e mais chance da pessoa conseguir alguma coisa. Pelo menos era assim, já que agora tem muito curso despejando muita gente. Talvez ter concorrência demais possa ser um bom motivo para evitar JS.
Eu costumo indicar outra coisa para iniciante. Mas eu sei que não dará emprego imediato. Eu indico a pessoa se preparar bem, se tornar profissional de primeira linha. Por isso indico C para iniciar. Mas quem precisa de emprego rápido, C não é uma boa ideia. JS é. PHP também deve ser. Eventualmente Python, quem sabe Java, ou C#.
Se a pessoa precisa de um emprego rápido, JS pode ser a melhor opção. Independente do que o curso passou pra ela. Eu lamento muito, de verdade que a vida seja injusta e faça isso com as pessoas, porque ter que aprender algo de qualquer jeito provavelmente comprometerá o futuro da pessoa. Em tese a pessoa poderia recuperar isso, mas na prática quase ninguém faz, e a pessoa passa a dar a desculpa que não tem tempo.
Também lamento que seja legal as pessoas venderem tanta ilusão. Ao mesmo tempo que não é fácil tornar isso ilegal. De qualquer forma, sinto dizer isso, mas as pessoas que acreditam nessas promessas meio que merecem isso. E justamente elas são as que mais vão sofrer, porque se ela tem essa ingenuidade ela não tem a base de pensamento necessária para a programação.
Mas eu sempre falo: só existe traficante porque existe consumidor. Assim como conscientizar nunca resolveu o problema das drogas, dos cursos ilusórios também não.
Faz sentido para você?
Espero ter ajudado.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).
No meu ponto de vista,falar que a pessoa deve aprender C primeiro, é mesma coisa que falar pra uma pessoa que está desempregada e precisa fazer quentinhas pra sobreviver, que ela deve aprender a ser chefe de cozinha primeiro pra depois vender comida congelada. Com JS a pessoa, pode fazer sites,extensões pro Chrome, plug-ins pra várias plataformas. JS é versátil. As vezes parece que as pessoas esquecem da realidade, principalmente os seniores que programam há muitos anos e ganham um salário bom. Eles tão errados? Não, a pessoa precisa de uma base sólida sim, mas a realidade de muitas pessoas é difícil e elas precisam pagar as contas. Então se o cara souber JS e puder ganhar algum dinheiro ótimo. Com o tempo, se ele for uma pessoa atenta vai ver as lacunas e buscar aprendizado.
ahhh é triste mas é verdade kkkk Mas acho que é também uma questão de mercado, no meio de 2021 eu decidi começar na área de verdade, focando 100% do meu tempo em aprender a programar e desenvolver as hardskills necessárias para entrar na área, passei 2022 inteiro estudando 12~14 horas por dia, até sonhando com o código...
Hoje estou aqui, conheço muito bem HTML, CSS, Javascript, React, Redux, Node.js, Typescript, testes unitários, métodologias ágeis entre outras tecnologias, mas não encontro a oportunidade para inicair na área. Mas não me arrependo de ter aprendido javascript, gostei muito da linguagem e através dela, aprendi Typescript, que abriu minha cabeça para POO, hoje me sinto confiante em aprender qualquer linguagem de programação e sei que estou pronto para essa nova etapa da minha vida.
Espero receber meu tão aguardado SIM esse ano, porém estou esperando andando kkk, desenvolvendo meu portifólio, gerenciando dominios, aprendendo next.js, php, wordpress, fazendo deploy de aplicação, realizando serviços freelance que aparecem, ajudando colegas que estão estudando...
Enfim, espero que no tempo certo tudo se encaixe e funcione, mas todo esse processo que passei já dura 2 anos, não é fácil, exige muita dedicação e foco, é necessário que seu objetivo de vida seja trabalhar com tecnologia...
A linguagem pouco importa. A questão é se a pessoa que quer ser desenvolvedora está no caminho que a conduzirá para fazer boas entregas no futuro. E para isto ela deverá investir fortemente nos fundamentos sem se preocupar com o tempo. Assim, a lang pouco importa.
Mano, acho q a única coisa boa disso, é que a grande massa de pessoas que entraram na programação devido a promessas infundadas de que seria fácil e rápido ganhar muito dinheiro, logo menos irão sair da área. Acredito q cedo ou tarde o mercado ira se reajustar, e somente aqueles que realmente gostam , ou se dedicaram irão colher os bons frutos
Acredito que estejamos vivenciando um período bem conturbado ao que tange a saturação do mercado de tecnologia. E sim, sobretudo com as tecnologias mais famosas que acompanham o JS. Todavia, a galera sabe: é extremamente difícil chegar no patamar de ser um desenvolvedor de qualidade. É difícil e não deveria ter outra palavra para isso.
Eu trabalho na área e há tempos que tento me desenvolver para me tornar um desenvolvedor e atuar como um. Se para mim, por vez é complicado de conseguir, imagina para quem está do lado de fora? Vamos considerar aqui que aquele que consegue a vaga, é aquela pessoa competente, com portfólio, que sabe o que está fazendo - que estuda há muitos meses com dedicação e consistência. Ops, falei a palavra que resume tudo isso: CONSISTÊNCIA.
Para mim, aqui está o segredo! Não precisa ter vocação, desde que, independentemente do que esteja fazendo e/ou aprendendo, faça com consistência. Está aí! Quem vai querer?!
Ter consistência é difícil, inclusive, para largar um vício, seja qual for. Quem é viciado sempre está querendo voltar um pouquinho 'ali' - ademais, o vício, ainda que por fração de segundos ou minutos, é gostoso e satisfatório. E se for para ficar dedicado vários minutos ou horas na frente de um computador, diariamente, tentando entender coisas que demandam atenção e às vezes, repetições?
Ah, damas e cavalheiros! Basta que sejam os consistentes. Estou tentando por aqui, vamos juntos!?
Sobre o método de estudos, poderíamos falar em outra thread.
Eu consegui minha primeira vaga no React, mas por que a empresa que eu já trabalhava abriu uma vaga interna... talvez eu seja sortudo hehe
Eu concordo que o mercado esteja lotado de juniores e que exista muitos cursos caça níqueis. Mas assim, acho que o que mais conta é o profissional ter uma melhor percepção da sua realidade e a do mercado.
Sou dev JS e foi ele que me abriu portas, eu não diria que o começo foi difícil, mas ruim onde eu tive que trabalhar quase que de graça para conseguir algo kkkkkk
Eu discordo. Na boa, o cara precisa começar de algum lugar. Não dá para esperar que alguém junior comece sabendo Rust, por exemplo. E mesmo se souber, a maioria das vagas para esse tipo de tecnologia espera um cara com mais experiência. Tem muito mercado para JS. A única coisa errada é colocar a remuneração acima de tudo, inclusive do aprendizado.
concordo. não conheço ninguém do meu círculo que estudou JS e começou a trabalhar com JS, foram Java, php, c#, SQL, e olha que na faculdade é tudo com JavaScript/typescript.
Eu não concordo. A falácia de aprender a programar em 6 meses e ganhar 5 mil pode ser aplicada a qualquer linguagem de programação (em qualquer área também).
Independentemente da linguagem que a pessoa estiver aprendendo, vai exigir um conhecimento a mais do que o básico para conseguir ingressar no mercado de trabalho. A jornada de estudo de alguém que está começando não deve se limitar somente ao curso, e acredito que um curso bom é aquele que te dá uma base sólida para conseguir pesquisar e "andar com as próprias pernas".
Existem vários motivos para a galera recomendar mais o JavaScript do que as outras. Um deles é a linguagem ser mais simples de ser aprendida por ser de alto nível.
Eu estudo pela Rocketseat e não tenho do que reclamar. Além do curso ser completo e muito didático, eles dão palestras sobre LinkedIn, marca pessoal, comportamento em entrevista, várias coisas que contribuem para conseguir a primeira vaga.
passei reto, fui direto pra android com kotlin, em um primeiro momento fiz introdutórios de Java POO e Kotlin POO, e estou a uma semana focado apenas em kotlin, divido meu tempo entre:
-XML e jetpack compose, para além de conhecimentos, eu aprender a lidar com um framework que em breve seja bem utilizado pelo mercado em geral, não apenas pelas big tech. Claro preciso também entender o que rola por de baixo dos panos ali do Compose, mas é uma parada que eu to ludibriado, é isso que eu quero e acabou. Fiz um curso de git para entender sobre versionamento, commits etc. Ainda estou em estágios bem inciais, mas contente com a evolução. Meu objetivo é em 1 ano estar com um bom domínio sob a linguagem e o framework para começar a aplicar para as vagas, e claro, estarei executando projetos pessoais para me desenvolver.
Cara, entendo que todo mundo precisa começar por algum lugar, se você conversar com profissionais mais experientes, cada uma vai dizer o seu 'caminho perfeito'. Mas a verdade é que a base precisa ser a mesma e isso nunca vai mudar: Básica de matemática, lógica, algorítmos, estrutura de dados, inglês e por aí vai... Colocar sua linguagem favorita e seu paradigma de programação é mais questão de gosto pessoal, algo que funcionou para você ou está dentro da sua bolha. Alguns anos atrás a turma falava "Não comece pelo PHP, estude Java" ou "Não comece pelo PHP ou Java, estude Ruby"... Hoje é "Não comece JS, estude C/Java", daqui alguns anos será "Não comece por C/Java, estude Rust" (Sei lá, vai que AI já tomou de conta e todo mundo virou Engenheiro de Prompt (ou marceneiro como Dev Soltinho), mas aí é outro assunto!)
Minha opinião: Foque em ter uma base sólida (faça faculdade sim!), comece à encarar sua carreira como um profissional, escolha um caminho para formar a sua especialidade dentro da sua realidade (não pare de aprender nunca!) e construa coisas que realmente as pessoas precisam. (gere valor e não esqueça de colocar grana no bolso!)
Como não poderia finalizar sem um linkizinho, vai aí um do Fabio Akita: O que os Cursos NÃO te Ensinam sobre Mercados https://youtu.be/L0hTOY5n9G8
tl;dr: Acredito que o ideal para um iniciante que quer se destacar dos demais e ainda reforçar a base é começar com Java.
Compartilho bastante da opinião do maniero sobre o quão importante é saber como as coisas realmente funcionam. Entender C propriamente é entender com mais profundidade como computadores funcionam, o que eventualmente vai fazer com que você escreva códigos melhores.
Entretanto, concordo que a aplicabilidade de C hoje em dia é bem específica e dependendo do objetivo de cada um na carreira, pode não fazer tanto sentido... Apesar da sintaxe relativamente simples, C não vai te dar uma visão de orientação a objetos (que é o feijão com arroz do mercado) e vai complexar os seus primeiros estudos de algoritmos, alguns problemas "clássicos" de leetcode/hackerrank são bem feios em C. Se você é iniciante, precisa reforçar bem as ferramentas de solução de problemas! Não ter o conceito de string nativamente ou como tipo primitivo, por exemplo, que já existe na maioria das linguagens hoje, pode aumentar bastante a dificuldade de um iniciante em visualizar as soluções.
Além disso, ainda há a questão da recompensa, que pode parecer algo indiferente ou relativo a cada um, mas focar em C logo de início pode fazer com que esse iniciante não sinta os resultados do seu estudo. É extremamente motivador conseguir construir algo concreto e com o mínimo de qualidade, se for utilizando tecnologias famosas no mercado que façam aquele conhecimento ter alguma aplicabilidade no futuro, acredito que seria o ideial. O distanciamente entre a teoria e a prática certamente é o que mais desmotiva as pessoas que iniciam na área, é por isso que eu acredito que front-end é tão famoso entre as pessoas que estão começando, não é bem porque é mais "fácil" como algumas pessoas afirmam (até porque front-end de alto nível pode ser potencialmente complexo), mas porque eu acredito que ele te dá uma gotinha de dopamina a cada coisa nova que você aprende e avança, é mágico para o iniciante ver o botãozinho que ele construiu reproduzindo alguma coisa que você programou haha.
Mas por outro lado, Javascript e outras linguagens de mais alto nível, abstraem muita coisa que para um iniciante são muito importantes, principalmente no que tange estrutura de dados. Será que não seria interessante esse iniciante saber que listas e arrays não são "[ ]" mágicos? É aí que entra a minha sugestão: Java. Antes de mais nada acho que vale ressaltar que trabalho com Node praticamente 90% do tempo já tem uns 4 anos, adoro JavaScript e os seus recursos, mas quanto mais projetos você mexe, mais você percebe que toda essa flexibilidade pode ser nociva para um projeto de grande porte. O profissional iniciante tem que entender porque não é legal para o programa sair fazendo deepClones de objetos a torto e a direita e certas replicações com uso de operators que acabam produzindo um código inchado, repetitivo e pouco eficiente. Linguagens de alto nível acabam sendo tão flexíveis e tolerantes que se não tiver um Style Guide bem definido, com um padrão de projeto bem amarrado no eslint pra travar certas coisas, em pouquíssimo tempo você verá o código se autodestruir. É claro que se você for muito estudioso e estudar muito profundamente JavaScript você será bom, mas lembre-se: você provavelmente não vai trabalhar sozinho.
Java é criticado por muitos pela sua verbosidade, onde tudo é fortemente tipado e declarado... Mas essa não é a receita perfeita para quem quer firmar os conceitos e se destacar dos demais? Enquanto em JavaScript um hashMap é um simples formato de uso de objetos, que exigiria um olhar mais experiente para perceber o conceito que está sendo aplicado ali, em Java, é um "new HashMap<>()" o tipo das coisas e os conceitos utilizados são MUITO claros... Então se amanhã ou depois, vc precisar fazer algo parecido em JavaScript, vc vai saber fazer um "{ chave, valor }" com ctz... Onde o inverso não é bem uma verdade. Outro ponto é que Java é "auto-hosted", isto é, todas as dependências são feitas em Java, então ela é uma linguagem auto-contida, qualquer dúvida sobre a implementação de qualquer coisa, por mais simples que ela pareça, você pode fuçar até entender exatamente como funciona, como ela é fortemente orientada a objetos, você pode ir bem longe com o Ctrl+Click haha E sempre lendo na mesma linguagem que você já está familiarizado. Em Node.js, por exemplo, isso não é tão simples, várias libs são na verdade libs populares de outras linguagens como C/C++ por trás dos panos, depois de tanto cavar é possível que você chegue em algo como o "libuv"... e será que você terá o conhecimento sólido em C para entender o que ele está fazendo propriamente? Ou vai só utilizar sua lib lá em JavaScript e ignorar o funcionamento real daquela dependência?
Um ponto que pode fazer falta para um iniciante que começa com Java em vez de C é o conceito de ponteiros e operações mais a nível de memória. Ele não vai entender de maneira natural, sem saber nada de C ou C++, que o o operador "==" do Java na verdade compara se duas referências de objeto apontam para o mesmo objeto na memória, e consequentemente não terá a compreensão de que é por causa disso que em comparações entre Strings ou outras estruturas de dados mais complexas é utilizado o ".equals()" e não o "==" afim de comparar os conteúdos em si. Esse e outros conteúdos relacionados são interessantes, mas acho que não são fortes o suficiente para COMEÇAR com C, o iniciante pode entender bem as coisas em Java, conseguir um bom emprego, e depois dar uma passadinha pelo C para se tornar um programador melhor ;) não acredito que esse seja um conhecimento prioritário para esse primeiro momento, até porque se fosse, porque a maioria gritante das outras linguagens possuem soluções próprias para tratar de ponteiros?
Outra linguagem tão boa quanto Java nesse sentido, que também possui muita aplicabilidade prática ligada ao mercado para o iniciante sentir seus avanços é C#. Eu só acredito que Java seja ligeiramente melhor porque depois do openjdk Java não é amarrado a nenhum ecossistema especifico. .NET, por exemplo, tem ferramentas fantásticas como o Visual Studio, mas é bem possível que elas também deixem o iniciante mal acostumado, mexer um pouco com terminais e talvez Linux não vai fazer mal haha Mas por outro lado, considerando que a maioria dos usuários tem mais familiariadade com Windows, pode ser um começo interessante...
Por fim, ainda que sua carreira no futuro vire mais para front-end de fato, e você tenha que se aprofundar em Javascript, saber um pouco de Java NUNCA vai ser um conhecimento perdido, você vai esbarrar com códigos Java em algum momento da carreira certamente... E ter alguma intimidade com essa linguagem com certeza vai ser um mega diferencial! Se você não suporta back-end e curte programar interfaces gráficas, ainda pode fazer aplicativos Android para aprender!
Juro que tentei não me alongar tanto, mas é basicamente por isso que eu acho que a linguagem ideal para um iniciante que quer se destacar é Java.
Sensato! Se você está indo com a maioria, provavelmente está indo na direção errada;