A melhor linguagem para iniciar em Back-End? Java está ultrapassado? O mercado está farto de NodeJS?
Olá, amigos. Estimo que estejam bem.
Bom, andei pesquisando a respeito do mercado, tendências e novidades da comunidade Dev e me deparei com algumas opiniões um tanto relevantes, mas queria saber o que vocês andam pensando por aqui.
A questão é qual a melhor linguagem de programação para iniciar e seguir se especializando para o Back-End? Sabemos que o mercado está farto de muitos Devs Jr e estagiários que iniciaram em JS por causa da promessa de "$5K em 6 meses", mas também pelo fato de ser uma linguagem mais fácil de aprender. Embora o habitat natural do JavaScript seja o front do desenvolvimento web, o NodeJs permitiu ou adaptou o JavaScript no Back-End.
Mas e aí? Mesmo diante desse mercado saturado de Devs "modinha" de "5k em 6 meses", vale a pena aprender e apostar em NodeJs? Será que essas pessoas que entraram na programação devido ao crescimento do mercado nessa explosão pós pandemia acabarão não resistindo à concorrência e as dificuldades de se especializar para se destacar e cairão fora da programação?
Atualmente estou no segundo período de Análise e Desenvolvimento de Sistema e pensei em escolher o JAVA para iniciar no back-end por ser uma linguagem orientada a objetos. Acreditei que aprendendo JAVA, qualquer migração de linguagem para atender uma oportunidade de emprego ficaria bem mais fácil para mim.
Bem recente me deparei com uma situação em que um Dev com +ou- 15 anos de carreira em Java(sabe muito), disse: "Java paga bem? é relativo. Pra vc passar de Jr para Pleno é ok, mas para Sênior...complicado. Tem vagas? tem. Mas com Java você resolverá muito mais problemas. Terá que dar manutenção às bombas que os outros não querem. Muitos sistemas legados muito mal organizados e difíceis de dar manutenção. O contrário de Swift, por exemplo, muito mais organizado."
Enquanto isso, e sobre o NodeJS? Um outro Dev reagiu a um TabNews antigo em que a publicação dizia "Não escolha JS como sua primeira linguagem". No vídeo ficou claro que a publicação se referia ao mercado saturado. A real é que alguns recomendaram começar por C, C++, Java. Alguns comentários relevantes, inclusive o seu, @maniero. Eu sei que você estará por aqui em breve e espero seu comentário.
Brincadeiras à parte, o que vocês acham de (JS - NodeJs) para iniciar no back-end? O que vocês acham de Java no mercado atual? Sei lá, imagino que se der ruim, com JS eu poderia desenrolar um desenvolvimento web Full Stack pra fazer uns freelas.
Feliz Natal a todos. Um excelente 2024.
Se já leu muita coisa minha sabe que não vai gostar, mas vou responder, vai ser chacoalhão.
Isso já foi respondido inúmeras vezes aqui e outros lugares, eu sequer entendo porque as pessoas acham que, ou nunca perguntarem o que ela quer saber, ou que agora vai ter uma resposta melhor para ela. Isso é algo para considerar sobre toda a profissão, que exige que a pessoa pesquise muito, e aplique lógica a tudo o que faz. Perguntar o que já foi perguntado provavelmente virá uma resposta pior, e esta minha é pior do que eu já dei, até por eu estar cansado de falar nisso. Mas como é natal, vamos lá. Mas ainda serei duro como costumo fazer, e já comecei fazendo. É para o bem, e quem achar que não, que pena, a chance foi dada.
Você não deu todos os critérios em detalhes que devem ser considerados para estabelecermos o que é "melhor", então não tem como responder isso. Quem responder, já começou errado. No máximo pode falar que depende, que é a que você sabe, a melhor para a tarefa, e coisas genéricas assim.
O que eu posso falar de verdade é se preparar para a profissão, começar estudar tudo, ir rápido, com muita dedicação, mas sem pressa e sem pular etapas. A maioria das pessoas que lerão aqui ou já fizeram isto ou vão ignorar. Por isso o mercado vai piorar.
"Valer a pena" cai no mesmo problema. Vale para quem? Para você? Como vamos saber e nem você sabe? E não tem que saber mesmo, afinal sobre o futuro ninguém sabe, ainda mais sem critérios e informações relevantes fortes sobre que está querendo prever. Tudo vale a pena se a pessoa fizer assim. É a capacidade dela que conta. Mas é mais fácil a pessoa procurar validações em pessoas aleatórias na internet, assim se ela fracassar a culpa não será dela.
Já está na frente de muita gente que não acredita em altos salários em pouco tempo. Precisa entender que sem muito comprometimento para fazer tudo certo, nem em muito tempo vai acontecer. Existem programadores transbordando por aí, alguns com muitos anos de experiência, até com título de sênior, e ganhando menos que minha faxineira ganha. Sério, não é hipérbole. E eu pago o menor valor que eu consegui.
As pessoas ainda caem no conto que "seu dia vai chegar". Claro que chegará para alguns, temos provas aos montes por aí. Claro que eu algumas pessoas vão ter um pouco de sucesso e ter 5 dígitos por mês. Mas a maioria ficará pelo caminho de um jeito ou de outro. E só pode mudar isso não só gastando muito neurônio, mas fazendo isso com qualidade. As pessoas subestimam a dificuldade que é a área. A maioria desistiria se percebesse a realidade e a chance de se dar muito bem.
É desanimador? É. Mas note que eu estou falando em maioria. Tem gente que vai ler isto, ou leu outra coisa, até de outras pessoas que são mais convincentes e qualificadas que eu, e vai procurar fazer o correto, ter a atitude para desenvolver uma carreira poderosa. Primeiro vai entender que a atitude ainda está errada e mudar de verdade, mesmo que demore um pouco, que seja difícil. Eu mesmo tenho atitudes ruins até hoje porque algumas coisas são difíceis de mudar, ainda mais quando se está velho, mas eu costumo falar para jovens.
Se a pessoa quiser muito e não tiver problemas específicos que impeçam, é possível também, desde que ela esteja bem preparada dos pés à cabeça, ou seja, já esteja com boa formação vinda da escola (que está extremamente falha), e por que não dizer de casa (que é comum ser alha hoje em dia), e que já esteja procurando bom conhecimento por conta própria (a internet tornou tudo mais difícil, ao contrário da crença popular, a IA piorará, até porque parecerá que está mais fácil), que saiba separar o joio do trigo, como interpretar o que recebe, como ir além do que parece óbvio.
Vou contar uma anedota, ou melhor várias em uma. Algumas pessoas já me pediram para eu ser mentor delas de uma forma ou de outra. Todas desistiram. Por isso eu nem perco tempo mais. Eu sou mala, eu exijo muito e quase todas as pessoas não querem isso, elas gostam da zona de conforto. Nunca vi alguém se dar muito bem na vida a não ser por tremendas sortes ou muita dedicação (algumas pessoas nem entendem o que é isto).
Quer uma dica bem específica? Comece escrever o nome das coisas corretamente. E comece aplicar isso em outras coisas. O que está ali embaixo quando estou me despedindo tem um motivo, as pessoas acham que é só para encher linguiça. É disso que eu estou falando, enquanto faltar as características centrais que todo dev deve ter, ficará complicado.
Orientação a objeto é sobrevalorizada. E o fato das pessoas acharem que é importante atrasa a vida delas.
A falta de emprego quase sempre está relacionada com várias faltas na pessoa e não porque ela estudou isso ou aquilo de tecnologia.
As pessoas tendem a falar da sua realidade, de coisas que elas não entendem bem, e isso está piorando, elas ignoram os vieses que elas possuem. Então tem que ter cuidado com o que falam. Até porque é assim. Eu escrevo aqui agora de acordo com o sentimento que eu estou agora, se pegar outra resposta parecida minha, tem elementos diferentes, apesar do núcleo central ser o mesmo. Tem gente que é uma tragédia completa (vai no Reddit), outros só desviam um pouco (acho que sou desses). As pessoas tendem falar do que viram, e ignoram como o mercado realmente é, até porque é impossível ela ter visto tudo. Mas algumas viram quase nada. Ela pode pegar um exemplo e dizer que o mercado é assim. Tem de tudo em todo lugar. Tendências não provam nada.
Que bom que alguém disse que Node não deve ser a primeira linguagem. Porque ele sequer é uma linguagem. O fato das pessoas nem se preocuparem com isso, e alguns pior, teimam em repetir o erro mesmo quando alguém conta para ela, mostra o estado das coisas. Nem falei do erro, mas da atitude.
Eu não gosto de JS como primeira linguagem, mas para o objetivo de muitas pessoas ela pode ser adequada. Mesmo que o objetivo não seja. Mas não quero dar pitaco nos objetivos das pessoas. Cada um escolhe o que acha que é melhor para si e aguenta as consequências. Tem espaço no mercado para quase todos os objetivos. Alguns podem ter mais vagas. Pagarão pior e terão bem mais concorrência. Mas também ela terá menor qualificação. Tudo tem um lado bom e ruim.
Eu até falo de C para aprender a programar e não para usar no mercado, como uma forma de assustar as pessoas. Muita gente experiente argumenta que não é uma linguagem boa porque as pessoas ficarão com medo e vão desistir. Que bom. Minha indicação é para isto mesmo. Se ela entrar em pânico porque tem chave, ponto e vírgula, ter que decorar as variáveis com o tipo, ter que entender ponteiro e coisas do tipo, ela não serve para o mercado bom. Se ela acha que indentação significativa, sintaxe simples e abstrações para facilitar a vida é o mais importante, então ela deve ir por outro caminho e abraçar o que a vida vai lhe dar.
Ao mesmo tempo, começar por C pode não fazer bem algum para a pessoa. É o que eu falo de curso bom ou ruim, aproveita quem quer. Os bons já selecionam quem vai entrar lá, quem tem um passado de acertos, e por isso o curso pode exigir mais e continua bom porque os alunos são todos bons. Aprender por conta própria não tem seleção. E oferece muitos caminhos. Não é mágico aprender C. depende da pessoa fazer certo. E quem está mais preparado tem mais chance de fazer. A faculdade não resolve a vida de todo mundo. C também não. Mas imagine essas pessoas até sem isso.
C é o caminho lento que a maioria não quer. Claro que tem mérito querer ser pipoqueiro da programação. Tem muita vaga querendo exatamente isso.
Conheço muita gente que está no meio do caminho, ou seja, já sabe muito, já é experiente, tem atitude boas em muitas cosias, mas a atitude perante ao aprendiado ainda é falha e está a impedindo chegar no topo.
O mercado é volátil. A não ser que a pessoa brinque de aprender, quando ela estiver boa no negócio já pode ter mudado.
Novamente, o mercado é bom para quem sabe dar soluções.
Se precisa ganhar dinheiro já, eu tentaria outra profissão até poder estar preparado, mas se não quiser fazer isso, tenta qualquer coisa, está tudo ruim mesmo. E eu lamento por isso. Vocês não tem ideia como me revolta as pessoas não terem oportunidades iguais e decentes.
Eu não sei dizer se deve ir de JS, Java ou outra coisa para conquistar um salário rápido. Estou esperando alguém mostrar clara e universalmente qual é o melhor caminho.
Assinado, o Grinch.
Mas obviamente desejo o melhor a todos. Se eu pudesse fazer mais e melhor eu faria. Tem momento que algumas pessoas podem tirar mais de mim. Minhas limitações me impedem de fazer sempre. Lamento não poder dar uma resposta mais clara, sei que muitas pessoas nem entendem a mensagem que tem vários subtextos.
Pode ajudar: https://www.tabnews.com.br/maniero/b4794251-bc39-4e6a-a3b7-fd47c9c78623.
Observou? Faz sentido para você?
Espero ter ajudado. Em geral estou à disposição na plataforma (sem abusos :D)
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).
Eae mano gostei da sua publicação. mas gostaria de enfatizar algo... se você procurar por vagas de javascript (vanilla) para desenvolvimento web você achará bastante vagas e essas são bem concorridas porém acho que o mercado precisa de profissionais qualificados , tanto nas habilidades tecnicas quanto nas socias.
Acho meio errado as pessoas dizerem que "ah não tente essa linguagem porque tem muita concorrencia" acho melhor dizer "Mermão. se tu quiser essa vaga estuda pra caralh0, porque vai ter alguem que vai estudar mais. mas se tu continuar tentando tu consegue!"
para quem está começando agora e curtiu o javascript saibam que o ecossistema Jasvascript é muito amplo. Você mesmo citou que "com JS eu poderia desenrolar um desenvolvimento web Full Stack pra fazer uns freelas" e concordo totalmente e se você focar em algo tenho certeza que terá vaga pra você.
OBS: isso vale para qualquer Linguagem que você deseje aprender se você curte a linguagem.
Feliz natal && Feliz Ano Novo
Bom dia, primeira vez que respondo algo por aqui.Já tenho alguma experiência na área de desenvolvimento (quase 40 anos, rs) e já vi centenas de vezes a mesma pergunta: qual linguagem aprender? E a resposta é sempre a mesma: a linguagem não importa! Linguagem de programação é igual lingua estrangeira, não adianta nada vc ter um inglês perfeito se não souber O QUE falar! E o que mais tenho encontrado na nova geração quando chegam pra minha equipe são técnicos fluentes em alguma linguagem, mas que simplesmente não sabem programar para o mundo real.
Eu valorizo muito mais um profissional que não seja expert em linguagem nenhuma mas que saiba resolver problemas, tenha pensamento lógico, saiba organizar as coisas em trechos claros. A linguagem passa a ser apenas um detalhe.
Saiba os principais conceitos das que lhe interessarem e estude muito projetos de outros, organização de código, resolução de problemas, algoritmos básicos. Isso é o que importa.
PS: OOP e reaproveitamento de código são as maiores mentiras já contadas :-P
É difícil responder o que é melhor pois o melhor é relativo, depende sempre de um ponto de vista.
Se não, daqui a pouco você virá perguntar qual o melhor framework, banco de dados e até mesmo a melhor IDE. Devemos assumir nosso papel de analista e entender cada caso.
Programar é um trabalho como qualquer outro, a gente não chega no trampo e impõe qual Stack de tecnologia será utilizada, pelo contrário, nos que temos que ter estudado a base da programação e devemos nos adaptar a stack utilizada pela empresa.
Então o correto não é buscar pela melhor linguagem e sim buscar por vagas disponíveis que você tem interesse e estudar a fundo todos os requisitos que a vaga pede.
Feliz Natal! Mais um ano acabando mas há perguntas que nunca acabam. Quem sabe qnd a IA acabar com dos devs? Aí vai virar por qual IA começar rsrsrs
Se eu fosse começar hoje, eu veria quais linguagens tem mais ofertas de emprego e começaria a estudar/programar. O objetivo seria conseguir um emprego o quanto antes. Empregado, aí sim podemos pensar na carreira no curto, médio, longo prazo e exterior.
A carreira é não parar de estudar rsrsrs, o resto o pessoal já disse nas outras respostas, boa sorte!
Java é Java. Considere evoluir em padrões, arquitetura e qualidade de desenvolvimento.
com base nestes critérios verá que ao longo do tempo o java é uma oportunidade para responder diversas perguntas e resolver diversos problemas com maestria.
Tenho mais de 20 anos de carreira em desenvolvimento de software, acredito firmemente que a escolha da primeira linguagem de programação para iniciantes em backend é menos importante do que entender a lógica de programação. Minha experiência pessoal é um testemunho disso. Comecei minha jornada na programação com Pascal, simplesmente porque me senti mais atraído pela sua sintaxe em comparação com o C e o Basic, que eram mais comuns na época. Mas não parei por aí. Ao longo dos anos, aprendi Perl, PHP, JavaScript/TypeScript, Python e diversos frameworks. Esta diversidade de conhecimento veio da minha paixão pela programação e da base sólida que eu construí com o Pascal e com a lógica de programação. Esses fundamentos me permitiram aprender outras linguagens com facilidade. Acredito que quem entra em qualquer ramo apenas de olho no dinheiro não vai muito longe, especialmente em um campo tão desafiador e estressante como o desenvolvimento de software. Para ter sucesso nesta carreira, é preciso pensar de forma ampla. Pode-se optar por se tornar um especialista técnico em uma área específica ou crescer em direção a posições de gestão. Em ambos os casos, é necessário desenvolver habilidades que vão além da programação como liderança e comunicação. Portanto, para os iniciantes, meu conselho é focar no desenvolvimento de uma compreensão profunda da lógica de programação e manter uma atitude aberta ao aprendizado contínuo. Estas são as verdadeiras chaves para uma carreira longa no desenvolvimento de software.
Caro lucianosnjr, duas respostas possíveis para a primeira pergunta sao:
- Não existe!
- Depende... Mas elas não dão esclarecimento. Partindo do pressuposto que vc está aprendendo e se interessa em evoluir na carreira, tenho duas sugestões:
- Se vc já tem uma empresa em mente para trabalhar, procure conhecer as tecnologias q ela utiliza, veja o histórico das pessoas que lá trabalham, e poderá ter uma ideia do que é necessário conhecer parra entrar nela.
- Se vc não tem uma empresa em mente, caso mais provável, qualquer linguagem serve. A linguagem de programação é só uma ferramenta para atingir um objetivo. Como estagiário, no geral, vc vai se envolver com as ferramentas q a empresa utiliza. E linguagem de programação é uma entre várias outras. Se o setup da empresa não estiver de acordo com seus objetivos, mude para outra. Tenha em mente que no nosso pequeno universo de tecnologia e computação não se restringe a frontend/backend. E mesmo os conceitos de frontend e backend se apresentam de formas diferentes de acordo com o cenário em uso. Há espaço para todas as ferramentas tecnológicas e diversos motivos diferentes para utilizá-las. Então escolha suas ferramentas, comece a trabalhar (mesmo q não profissionalmente) e esteja sempre aberto para incluir ou substituir alguma delas.
Por mais que o home office tenha ganhado força nos ultimos anos, a melhor linguagem para começar é aquela que mais tem demanda na sua região.
Java com Spring Boot trás uma experiência muito boa para desenvolvimento Back-end. Node.js pode até parecer mais fácil, mas é só quando você não tem algo um pouco mais complexo.
Feliz natal, para todos !
Até certo ponto, acho essas perguntas irrelevantes pelo fato de quem estiver começando o importante é conhecer a base e os conceitos, e não importa tanto por qual vai começar
Boa noite! Feliz Natal a todos.
Admito que não possuo a experiência como o dos demais por aqui, mas se eu puder dar os meus 5 centavos nesse assunto, eu partiria para o Kotlin.
A abrangência dela está absurda, desde construção de plataformas web(frontend e backend), a desenvolvimento mobile multiplataforma(Android e iOS).
Se não curtir uma das formas de desenvolvimento, vc pode ir para outra frente, e o melhor, é interoperável com Java. Outro porém, ela é multiparadigma, ou seja, pode trabalhar com orientação a objeto e funcional.
Espero poder focar nela agora em 2024.
Um grande abraço a todos e um ótimo 2024 a todos.
Sendo muito sincero. Se eu pudesse voltar no tempo, nem teria entrado na área de TI e sim na área financeira.
Eu acho que tenho certo gabarito pra falar isso, pois estou há 24 anos no mercado de TI, conquistei o topo onde eu cheguei a ganhar 60 mil reais por mês líquido! Meu melhor mês foi quando ganhei 90 mil reais num único mês. Tudo trabalhando como sênior em Java. Nem quando ocupei cargo de gestão cheguei a ganhar esse patamar.
Meu último salário na área de TI foi de 35 mil reais líquido por meio período.
Por que citei valores? Porque quando entrei no mercado financeiro, meu resultado depois de apenas 4 anos foi se ganhar 30 mil liquido por mês, sem trabalhar pros outros diretamente, sem reuniões, sem balela corporativa, sem chefe, uma maravilha.
Agora, passados mais 2 anos, eu tenho renda média acima de 100 mil reais por mês líquido!
Agora imagina se eu tivesse começado há 24 anos atrás no mercado financeiro, provavelmente hoje eu seria multi mega milionário 😂
O problema da área de TI é que ela é sempre enxergada como custo e não como investimento das empresas e sempre tentei combater essa visão, mas uma só voz ecoando isso não é o suficiente.
A melhor linguagem é a que paga suas contas. Se for node, vai fundo. Se for Java, beleza. Se for c++, Haskel, Go, Python, PHP, Assembly... abraça.
O mercado de programação não mudou nada no seu core. A demanda sempre vai ser grande para profissionais bem qualificados, experientes e fora da curva. O boom de contratações de JRs foi uma anomalia, uma bolha, que felizmente estourou sem causar uma catastrofe financeira maior que as que já passamos antes (pontocom, subprimes).
Hoje habilidades como dominio de banco de dados, saber uma linguagem de programação, comunicação com APIs rest, graphql, filas, segurança... isso só te torna junior, e te coloca junto dos outros milhares de iniciantes.
Quer um conselho, que valha a pena e vai te ajudar no seu futuro? Não terceirize suas escolhas, e não faça algo que todos estão fazendo ou falando pra fazer. Decida por sí só, descubra o caminho sozinho e, se você errar, pelo menos não foi culpa de ninguém.
Não precisa agradecer.
mais um cara querendo receita pronta reclamando de devs que querem receita pronta.
16 anos como programador, php, javascript, python etc. Quando comecei nem python existia ainda. Usar JAVA pra beckend e bosta é a mesma coisa, desculpe o palavrão, além de totalmente mal otimizado têm sérios problemas de múltiplas solicitações de noodes, pra projetos com acesso médio já começa a lagar o servidor. Um exemplo forte são os aplicativos e versões web JAVA que o governo usa. Restam PHP, Python, Nodejs ou ASP.net, o resto é lixo. De todos prefiro PHP e nodejs, pra cada tipo de projeto uso um ou os dois ao mesmo tempo. Noodjs é excelente pra teabalhar com jogos web ou projetos altamente interativos que precisam de respostas rápidas e assicronas, porém requer um pouco mais de trabalho pra trabalhar com questões de segurança, pois é bem fácil deixar brechas principalmente pra iniciantes.