Executando verificação de segurança...
3

Java, Node ou outra linguagem para backend?

Pessoal, já faz algum tempo que entro em um grande dilema na minha carreira, sou programador frontend, ja trabalhei com backend(java), mas hoje estou mais focado em angular. Por saber um pouquinho de cada sempre me senti incapaz, foquei no front (há um ano) e não estou curtindo, sei lá, não me sinto motivad, sem vontade de aprender algo novo de angular ou qualquer outra linguagem de front. Por esse motivo estou sempre me perguntando se mudar para o back seria interessante, já sei o basicao de java, já trabalhei com java, porem a curva de aprendizado é muito grande, tenho medo de não gostar mesmo e depois perder tempo, sobre o node eu sempre tive vontade, mas entra na mesma história, tenho medo de perder tempo e não ter mercado, o node é mais falado que o java, mas quando busco vagas o java tem muito mais. Ai fico nesse dilema kkkk queria decidir e focar em alguma coisa, porque estou bem desanimado.
Enfim, quem puder me ajudar com a sua opinião ou sugestão, desde já agradeço de coração!

Carregando publicação patrocinada...
3

Veja como são as coisas, você viu que depende muito de motivação para conseguir fazer algo bem. Normal, é assim com todo mundo normal, em algum grau.

Você quer que nós, que não vamos sentir nada, motivação ou desmotivação, que não vamos ter qualquer repercussão em nossas vidas, boas ou ruins, que não sabemos nada de você, temos que dizer o que será bom para você.

Nós temos nossos valores, motivações, interesses. Nós não estamos nem aí para você. Eu sei que isso pode parecer duro, e até é, mas é isso. Mesmo que alguém fale que liga muito, a verdade é que você não sabe se é verdade, ela pode estar te manipulando. E parece que tudo o que não é bom para você é isso.

Dito isto tudo, vou dar a resposta que deseja, e aí você faz a reflexão.

Deve escolher outra.

Deve escolher C#.

Porque eu gosto, e se eu gosto você deve gostar também.

Eu escolhi C# como minha preferida quando faz sentido depois de uma análise profunda dentro dos 40 anos que trabalho com isso. E porque estudo todas as linguagens, tenho especial interesse no assunto e me dedico como poucas pessoas. Eu poderia ter escolhido qualquer outra e não vejo a hora de aparecer uma que faça eu mudar de ideia. Mas ainda estou com ela.

Outras pessoas podem ter o mesmo gosto por outros motivos. Podem gostar de outras coisas pelos mesmos motivos (improvável, mas pode) ou por outros motivos.

Eu acho que você vai gostar porque lembra um pouco Java, mas sem tantos defeitos porque veio depois e foi melhor pensada e está andando mais rápido por fatores que não vem ao caso agora.

Esqueça marketing, faça o que gosta, porque senão ficará desmotivado. Com motivação você pode se desenvolver bem e buscar vagas para qualquer coisa. Desmotivado você vai ter que "passar o pires". Mesmo que queria ir no marketing em geral a sua percepção falhará, porque é assim que funciona, senão não seria marketing, seria engenharia.

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).

1

Acho que deveria ser aquele tipo de resposta que fica fixada no início. Se alguém perguntar "Que linguagem deve usar?" ou "Que calça compro para o aniversário?" a IA do TabNews já colocaria a resposta automaticamente. :D

2
1

Amigo, tenho 54 anos dos quais 36 dedicados a programaca. Comecei com Basic e DBF, no meio da decada de 90 fui pro ASP para fazer Back End. Entrei no mundo Web. Quando nào tinha mais o que tirar do ASP, e considerando que não gosto de linguagens 100% orientadas a objetos (pra mim sempre fica uma baita bagunça). Gosto de linguagens funcionais. Decidi por Node. Faço meus proprios projetos e os vendo. Essa tambem é uma alternativa.

Fazer o que te dá segurança vai te da prazer e o que te dá prazer te da prosperidade.

1

Não tem uma resposta única para essa pergunta, dizer se você deve ou não seguir para uma linguagem é uma decisão muito pessoal. O que posso falar é aprender Java tem uma curva de aprendizado grande ? Tem ! Mas por mais que você não vá se tornar um programador Java, muitos do conhecimentos que você aprenderá servirá para outras linguagens e a curva para novas linguagens será mais fácil.
Java principalmente usando Sping para construção de Apis tem um bom mercado, basta na uma olhada nas vagas do Linkedin, então dê uma chance procure resolver algum problema simples, veja se gosta.
Outra linguagen que vejo uma boa procura no mercado é o C#, mais uma vez o Linkedin ta cheio de vagas, mas o mais importante aprenda a fazer ao menos um CRUD em uma das linguagens para você conhecer ela um pouco mais.
Boa sorte !

1

Eu trabalho como dev a uns 20 anos, destes 20, 12 com Python, é uma linguagem que eu gosto muito e me da prazer em trabalhar. Durante esses anos, eu nunca me senti desmotivado com a linguagem, me senti desmotivado com a profissão, mas é outro assunto :D

Se você quer trabalhar com back e com uma linguagem que de prazer e que tenha mercado (por mais que muitos falem que não, principalmente remoto fora do Brasil), eu recomendo Python.

Se você quer se preparar para um futuro próximo (bem próximo por sinal), diria para você olhar para Rust.

Porém, como você falou, encontre algo que te prazer e motive a estudar e melhorar cada vez mais, independente da linguagem.

1

A formula é:

indice x da motivação = quao presente a linguagem está em projetos ativos / quantas pessoas estão dispostas a encarar a linguagem

COBOL, pra dar um exemplo, é figurinha carimbada em qualquer bancao ou órgão do governo, mas ninguem se aventura: o indice x de motivação é alto

Node até o padeiro do seu bairro usa. Mas é justamente esse o problema: todo munda sabe, todo mundo usa. Vc vai ter que estapear gente por vaga. Indice x bem baixinho.

Django/Flask não é tao diferente.

Rust ainda é coisa nova, em comparação com o resto, e por isso, ainda tem pouca gente disposta a gastar tempo e dinheiro se aventurando. Mas a futurologia diz que Rust vai estourar no mercado. Logo, dominar a linguagem agora é sair na frente. Indice x "lá em cima apontando pro ceu, não queira ver", como diz o Luxa, rsrs.

VB e Delphi tá cheio de codigo de mercadinho legado que ninguém tá a fim de dar conta. Why not?

Ok, isso é uma brincadeira

... com algum fundo de vdd: em alguma escala, essa equação pode te ajudar, de maneira racional, a encontrar um caminho.

Mas, será que na "conta da motivação" entra só o fator concorrência? Curva de aprendizado, comunidade em torno da linguagem, se é open source ou não, se na sua região tem vaga pra linguagem x... Enfim, são muitas variáveis desconhecidas, ainda mais pra nós, que nem te conhecemos.

Cara, o que eu diria pra você é: envolva-se. Escolhe uma linguagem pela qual vc tem um minimo apreço e passa seis meses convivendo com ela. Embarque em algum projeto open source, arruma alguns jobs, faz um curso, se envolva com a comunidade... e ve o que acontece.

No fim, é só você quem poderá responder a sua pergunta.

Nao tenha medo.

1

Java com certeza não é perda de tempo.
Ainda mais se você está antenado com as novidades.
Java está na versão 20.
https://dev.java/

O Java é popular porque foi projetado para facilidade de uso.
Alguns motivos pelos quais os desenvolvedores continuam escolhendo o Java em vez de outras linguagens de programação incluem:

Recursos de aprendizado de alta qualidade

O Java existe há muito tempo, portanto, muitos recursos de aprendizado estão disponíveis para novos programadores. Documentação detalhada, livros abrangentes e cursos ajudam os desenvolvedores durante a curva de aprendizado. Além disso, os iniciantes podem começar a escrever código no Core Java antes de passar para o Advanced Java.

Funções e bibliotecas integradas

Ao usar o Java, os desenvolvedores não precisam escrever todas as novas funções do zero.
Em vez disso, o Java fornece um rico ecossistema de funções e bibliotecas integradas para desenvolver uma variedade de aplicações.

Suporte ativo da comunidade

O Java tem muitos usuários ativos e uma comunidade que pode oferecer suporte aos desenvolvedores quando eles enfrentam desafios de codificação.
O software da plataforma Java também é mantido e atualizado regularmente.
Ferramentas de desenvolvimento de alta qualidade

O Java oferece várias ferramentas para dar suporte à edição automatizada, depuração, teste, implantação e gerenciamento de alterações.
Essas ferramentas fazem com que a programação Java tenha bom custo-benefício e poupe tempo.

Plataforma independente

O código Java pode ser executado em qualquer plataforma subjacente, como Windows, Linux, iOS ou Android, sem a necessidade de ser reescrito.
Isso o torna especialmente eficaz no ambiente dos dias de hoje, em que queremos executar aplicações em vários dispositivos.

1

Olha, observando o mercado a maioria está ensinando toda a stack JS (node, react etc...) pois tem uma facilidade de aprendizado pela linguagem, pois ela na sua concepção é mais simples e com uma comunidade muito maior...
Pensando em mercado (Brasil) acho que um C# ou Java há bastante opção pelas empresas, pois tenho visto que as pessoas novas tem pouco optado por essas linguagens mais antigas e pouco faladas, mas não quer dizer que se você aprender node ficará sem trabalho, apenas acho que terá (na minha percepção) mais concorrência com outros candidadtos.
E outro ponto, não caia em memes da rede social, todo mundo zoa o PHP mas ele paga mt conta e ele é até usado no PicPay como linguagem core

1

Bom dia.

Olha, vejo que a escolha da linguagem independe da que você irá fazer, pois ela é um meio, e não um fim por si só. O grande problema ou grande empecilho que se encontra durante o aprendizado, é o ato de conhecer realmente como a linguagem funciona e trabalha com as API's internas dos computadores, como ela trabalha com assembly e como ela foi estruturada. Desde que você escolha a linguagem e tenha em mente isso, você tirá o melhor aproveito da linguagem.

O mal programador com uma boa linguagem não faz a mesma coisa que um bom programadorfaz com uma linguagem considerada "ruim", pense nisso.

Entretanto, considerando as linguagens de back-end presente, vou te propor alguns pontos que eu considero relevante no momento de se estudar uma linguagem:

  1. Atualmente, vê-se uma necessidade em desenvolver o código mais prevísivel e seguro possível. Assim, linguagens que possuem facilidade para desenvolver com orientação objetos, tipagem e solid tem uma boa relevância. (C#, PHP e Java).
  2. O suporte oferecido pelas linguagens. Linguagens que possuem suporte oferecidos por empresas como Microsoft, Facebook, entre outros, possuem reparos de problemas profundos mais rapidamente e/ou a divulgação de possíveis problemas. Por outro lado, quando se tem linguagens mantidas pela comunidade, os contribuidores não tem um dever de realmente estar mantendo aquela linguagem (por ser algo voluntário).
  3. O tanto de frameworks que é utilizado. Linguagens que possuem frameworks que facilitam o trabalho DEMAIS e são utilizados no dia-a-dia, normalmente, não te fazem aprender a linguagem, te fazem aprender APENAS A FERRAMENTA, e não seu fim e meio.
1

Camarada, isso é muito relativo e, na moral, vai depender do seu gosto pessoal.

Eu tenho experiência com Java e PHP no backend, e já brinquei com C# um pouco na Unity. E escolheria qualquer uma das três para fazer um backend. Se vc está de olho em vagas no mercado hoje, eu recomendo aprender qualquer uma dessas três opções.

Mas na real, o que manda é você conhecer a lógica de negócio. Como que monta uma API? Como que consome? Depois que o dado chegou na API, qual o processamento vai ser necessário? Vai ter comunicação com o banco de dados? Vai precisar de mexer com programação assíncrona? Vai precisar enviar esse dado pra outro sistema e aguardar retorno?

Depois que vc tiver esse conhecimento de lógica de negócio, não importa a linguagem. Você vai conseguir trabalhar de boa, só decorar a sintaxe e consultar a documentação e vez em quando.

1
1
1

Se tiver em duvida do que focar, é sempre mais facil focar naquilo que a gente curte.
Escolhe um projetinho pequeno, nem que seja algo por linha de comando, faz ele nas linguagems que tu quer aprender aplicando os conceitos principais dela.

Segue no que chamar mais atencao, certamente vai ser bem mais facil se manter estudando.

Mas esquece essa ideia de aprender uma linguagem x ao inves y. Quantas mais tu souber usar melhor fica tua capacidade de escrever em outras, dito isso é bom sempre se garantir em uma, mas pelo visto tu ja entende de JS.

Se tu ja sabe JS, tenta java, depois de java tenta alguma linguagem funcional, e assim vai.

1

Meus dois centavos: foca em SQL, no fim 99% dos bakends se resume a conectar um banco de dados, extrair parametros de uma request http, usar estes parametros para construir uma query, aplicar regras do negocio no resultado da query e retornar a resposta.

Indepedente da linguagem que estiver usando vai exister um banco de dados, a chance de ser um banco de dados relacional é enorme, e embora cada linguagem ofereça seu proprio ORM, eles são uma pessima abstrução, entender o underlaying SQL vai ser sempre útil. Até ponto que você pode ignorar por completo o ORM e escrever suas query diretamente. Neste ponto vc pode até aponsentar seu backend e usar algo como o postgrest

0

Eu não gosto de Java por um simples motivo: muito código privado enterprise.
Obviamente você vai ter projetos de código aberto como o openJDK mas em sua grande maioria o ecossistema é privado.
Por ser uma linguagem mais sólida é comum você esbarrar em mais legados.

Tirando isso é uma linguagem muito sólida e tende a dar boas condições de trabalho para que realmente dedica tempo nela.