Mercado desenvolvimento de Softwares

Galera eu já tinha uma noção de programação vindo de assembler, C, C++ (estudei na engenharia eletrônica) resolvi migrar para TI e comecei optando pelo JAVA. Curti muito desenvolvimento de softwares, fiz alguma coisinha no netbeans. Vocês acham que tem mercado nesse ramo de desenvolvimento de softwares em Java e tb kotlin no desenvolvimento android? Os trabalhos geralmente são empresariais ou é possível trabalhar como autonomo também? Quem participar, agradeço muito!

Sem dúvida, e fizestes ótimas escolhas.

1 curtida

É possível como autônomo, mas você vai precisar correr atras de tudo, não tendo “automaticamente” uma grande equipe dividindo responsabilidades.

1 curtida

Valeu pelas respostas manosss!!! Ainda se usa fazer software no netbeans com java ou isso já algo obsoleto? Tenho medo de perder tempo estudando essas coisas

A IDE não importa.

Irmão não digo pela IDE, mas sim pela linguagem. Eu gostei de programar em java no netbeans. Não gostei tanto da linguagem kotlin, mas me falaram que é melhor estudar kotlin pq é melhor para o futuro

Depende, se for pra desenvolvimento de front-end Android o ideal é usar Kotlin. Java se for back-end.

1 curtida

Atah, entendi!
Java e Kotlin tem um mercado imenso. Os dois são muito parecidos (eu uso os dois).

Sua pergunta sobre oportunidades é muito ampla. Melhor você especificar a cidade que alguém de lá pode responder melhor.

Valeuuuu pelas respostas! vocês são fera demais!!! Edpickler sou aqui de São Paulo, tem muita coisa por aqui. Eu sou engenheiro migrando para TI, então ainda estou meio perdido nessa questão de mercado, no que estudar (que seja mais garantido para trabalho) etc…é isso que estou buscando. Algum direcionamento no estudo de java para entrar em um nicho de mercado com mais oportunidades.

geralmente pra trabalhar como autônomo, ou “freelancer”, você já precisa chegar no cliente resolvendo o problema.

Mais ou menos como um encanador. Quando você chama um encanador para consertar algo na sua casa, você não espera um aprendiz. Você quer um cara que já é experiente. Que chegue ali e resolva o problema rápido. E vá embora. E tem que ficar bom. Ou seja: um profissional.

No mundo da TI não é muito diferente. Quando pessoas ou empresas precisam chamar autônomos geralmente elas querem um cara que chegue já resolvendo o problema. Geralmente eles já tem um sistema funcionando mas precisam de alguma manutenção. Então ser autônomo geralmente é algo para quem já tem experiência grande no negócio.

Dá pra começar trabalhando sozinho sem experiência? Dá. Mas daí você tem que sair pelo mundo oferecendo seu serviço para as pessoas e empresas e esperar um sim no meio de mil nãos. Geralmente para manutenção de sistemas a pessoa que faz o anúncio da oportunidade já coloca lá que “precisa saber X, Y e Z”. Dificilmente você vai saber o X, Y e Z se for iniciante. Então o mais indicado para começar como autônomo seria talvez ter um sistema já pronto, que você mesmo fez, e sair vendendo. Ao invés de se um “programador autônomo que presta serviços”. O problema é que você precisa de tempo para conseguir fazer e terminar este produto antes de sair vendendo. E geralmente as pessoas não têm esse tempo todo. Geralmente o cara já precisa de emprego para ontem.

Quando o cara é iniciante, precisa de emprego para ontem, não tem tempo para construir um sistema próprio para sair vendendo porque precisa pagar as contas… a única saída é trabalhar para os outros. Como iniciante. E neste caso a resposta é estágio (se estiver matriculado em faculdade). Ou funcionário iniciante (júnior) caso não seja estudante de curso universitário. O problema é que para ser funcionário iniciante (júnior), a concorrência está alta. Porque tem muita gente fazendo cursos, tutoriais, bootcamps e essas pessoas estão todas nos sites de emprego mandando currículo. Então para os iniciantes a concorrência está alta.

Sobre tecnologias.
O java é mais usado por grandes empresas.
Diferentemente do PHP, Node e Ruby On Rails. Estes 3 são mais usados por empresas pequenas e médias.

No Brasil, empresas grandes não costumam contratar autônomos e freelancers. Essas empresas grandes têm dinheiro para manter grandes departamentos internos de TI e elas gostam de manter os funcionários bem perto e bem vigiados.

Já as empresas médias e pequenas geralmente não têm muitos recursos para manter grandes departamentos internos de TI. Então, quando precisam de serviços nesta área, precisam contratar profissionais de fora da empresa. É aí que entram os autônomos, freelancers ou empresas prestadoras de serviço.

Então, como o java é mais usado por empresas grandes e empresas grandes no brasil não têm muito o costume de contratar autônomos, então na grande maioria das vezes o programador java vai ser funcionário de uma grande empresa. Dificilmente o programador java vai fazer trabalhos soltos como autônomo. Isso no brasil. Em outros países às vezes as coisas podem ser diferentes.

2 curtidas

Outra coisa.

O mundo java pode ser dividido em duas partes:

Java para Android e Java para sistemas web.

Os dois mundos usam a mesma linguagem. Mas são mundos diferentes.

Geralmente o profissional que programa Java Web é diferente do outro cara que programa Java Android. São empregos diferentes.

Dá praticamente pra dizer que uma coisa não tem a ver com a outra, quando o assunto é mercado de trabalho e quantidade de vagas.

Também tem outra coisa. Apesar de o Java ser o mesmo tanto para Android quanto para Sistemas Web, isso não significa que as ferramentas auxiliares também são parecidas.

Ao terminar de estudar Java básico, você precisa escolher se vai querer ir para o Android ou para a Web. São mundos diferentes.

As ferramentas auxiliares destes dois mundos são diferentes. No mundo Java Web, você precisa saber Spring, servidores, html, css, javascript, frameworks javascript, tecnologias de nuvem.

No mundo Java para Android, você não tem a necessidade de saber javascript, html, css, frameworks javascript. Precisa saber um pouco de nuvem. Mas geralmente a nuvem é para o backend. E o backend de apps Android geralmente é mais simples do que o backend de sistemas web. Ou seja, o programador android tem uma necessidade menor de estudar nuvem. Existem muitas soluções prontas de nuvem para aplicativos de celular.

“Ah, mas eu quero saber java web e java android ao mesmo tempo”.

Ok. É possível. Mas é bastante coisa para estudar.

Geralmente o cara iniciante em java está usando o eclipse ou netbeans. Ao passar para o mundo Android, tem que aprender a usar o Android Studio. Que é um pouco diferente. E o Android está mudando de Java para Kotlin. Então… para estudar tudo ao mesmo tempo, você vai estar aprendendo simultaneamente: mexer no eclipse, mexer no android studio, java, kotlin, orientação a objetos, programação funcional, spring, javascript, html, css, nuvem, framework android.

As chances de o cara ficar maluco, frustrado, estressado e desistir de tudo são grandes.

Tem que ter um foco e um caminho bem definido. Se não, fica maluco, estressado e vai parar no hospital.

É por isso que faculdade não é uma má escolha. Na faculdade (ou curso técnico ou tecnólogo) existe uma equipe que já definiu todo esse caminho. Organizado em etapas. Das mais fáceis para as mais difíceis. Com pessoas pagas para tirar todas as dúvidas. Pessoas que já tiveram todo esse trabalho de pesquisar quais são os assuntos, organizar os assuntos, preparar as aulas… A faculdade é o lugar onde o conhecimento humano está armazenado, organizado e preparado para ser ensinado para os interessados.

Cursos online, desde que sejam reconhecidamente bons, também podem funcionar. Mas precisam ser bons. Tem que ver bem qual é o curso online. Porque existem os bons e os ruins. Para um curso online substituir uma faculdade ou um curso técnico tradicional, tem que ser muito bom.

2 curtidas

Meu irmão primeiramente preciso agradecer a sua disponibilidade e tempo para escrever tudo isso que você escreveu. Você é foda!!! foi de uma ajuda surreal! Pq como disse, sou engenheiro eletrônico querendo migrar para TI. Você conseguiu esclarecer todas as minhas dúvidas sobre o que estudar numa tacada só!! A galera aqui ajuda demaissssssssss, só resposta foda! Muito obrigado de verdade por compartilhar a sua experiência comigo! Eu realmente estava na dúvida sobre os mercados e exatamente sobre o que você disse, em tentar o java e kotlin ao mesmo tempo, e agora, vendo a porrada de coisa q teria para estudar linkado a isso é realmente perigoso. Como já tenho uma base de programação da faculdade, tenho mais facilidade para estudar sozinho, e gosto particularmente dos cursos da udemy. São extremamente bem estruturados e baratos tb. Acho que Android é o futuro pelo fato das pessoas usarem cada vez menos o desktop, embora claro, aplicações empresariais desk sempre existirão. É uma dúvida cruel, mas acredito muito no mobile.

É importante entender a diferença entre Backend e Frontend.
Muito importante.
Porque no mercado de trabalho brasileiro atual, existem mais vagas de emprego para backend do que para frontend.
Não estou falando que é impossível achar trabalho front end. Apenas estou falando que a balança fica mais pesada para o lado do backend.

Programação para android tem muito mais foco em frontend do que para backend. É muito fácil o estudante android se empolgar apenas em aprender frontend e deixar o backend de lado. Isso pode atrapalhar um pouco quando for tentar achar emprego. Porque se pegar uma época com poucas vagas de frontend e mais vagas para backend, o cara pode sofrer um pouco nas entrevistas. Porque as empresas vão cobrar conhecimento de backend.

Então para finalizar aqui as respostas… não fique apenas no mundo frontend. Foque também em entender o mundo backend. Porque daí estará menos arriscado ficar numa situação ruim se o mercado estiver fraco para quem só sabe frontend.

1 curtida

Obrigado Irmão. Com certeza, sobre backend e frontend eu entendo bem essa diferença. Estive olhando no linkedin as vagas para mobile developer e vi 41 resultados e para programador java backend 750 resultados. Realmente parece que hoje em dia o java, por mais que seja mais antigo, é bem mais requisitado. Claro, que para programador Java, pedem mil e uma habilidades…Azure, databricks, cloud, Linux, Nodejs, Scrum, etc…