Srs(a), bom dia!
Estou com 31 anos e sou programador progress e consultor de negócios. Tenho experiência com mercado de desenvolvimento voltado para ERP especificamente DatasulEMS.
Tenho interesse em entrar no mercado Java(WEB), algumas pessoas me dizem que é complicado iniciar quando não se tem experiência. Isso é fato? Tenho fluência em inglês isso pode ser um diferencial?
O que um profissional que está começando no mercado deve conhecer? Minha expectativa inicial não é ganhar R$ e sim experiência, pesquisei sobre projetos open source, é uma boa opção de inicio? Por favor deixe me saber o que os Srs(a) pensam em relação isso.
Atenciosamente,
Leandrohendrix
Primeiramente bem vindo ao mundo java. Java se difere de outras linguagens justamente por ser multi plataforma, além de sempre estar evoluindo tanto em especificações novas (talvez muita burocracia neste quesito), mas também em adaptações, exemplo, Java SE (Standart Edition) - Desenvolvimento sob plataforma desktop, (J2EE ou JavaEE) - Desenvolvimento Web, Java ME(Mobile) desenvolvimento para mobile. No entando, java é uma linguagem cheia de detalhes, muito bem especificada e inicialmente incompreendida, é totalmente voltada a orientação a objetos, alguma de suas sintaxes foram extraídas de outras linguagens mais difundidas no mercado, como C, C++, exemplo, os modificadores de acesso, public, o modo em como se declara o método MAIN, enfim … É uma linguagem rica. Agora respondendo sua pergunta, para desenvolvimento Web, aconselho a seguir uma lógica de aprendizado, como estudar alguns frameworks que são essenciais no mercado de trabalho, como JSF (camada de controle, com uma simples anotação, você transforma uma classe concreta em um gerenciador de beans - ManagedBean), JPA (Para mapeamento de dados em banco de dados, bastante simples seu uso também) e Spring/EJB/CDI. De todos os frameworks citados acima, apenas o Spring não é uma especificação nativa do java, porém, ele é tão rico que pode substituir o uso das especificações EJB e/ou CDI. Na verdade eu utilizo as 3 opções, porquê algumas coisas que o spring não consegue realizar, o EJB faz, por exemplo, como acesso remoto de outro servidor de aplicação. Enfim, a caelum e k19 possuem apostilas abertas sobre esses temas, vale muito apena conferir e são ótimos materiais, garanto que é tão boa quanto um livro, porém, de graça.
Marcos, muito obrigado pelo seu retorno!
Se não souber OOP, siga essa apostila ou faça o curso: http://www.caelum.com.br/apostila-java-orientacao-objetos/
E com conhecimento OOP, parta para a parte WEB seguindo essa apostila ou fazendo o curso: http://www.caelum.com.br/apostila-java-web/
Quando precisei aprender Java fiz somente o curso de “Java Web” na Caleum, foi bem proveitoso para me dar uma direção e depois saber me virar na internet com detalhes restantes.
No final das contas a grosso modo do que poderá trabalhar na real: Lado client - HTML, JavaScript, JQuery e opcionalmente algum framework JS. Lado Server: Algum framework web server como por exemplo Spring MVC e framework ORM como Hibernate.
Excelente complemento, sem duvida Java exige uma grande dedicação inicial, devido ao volume de conteúdo. Sr tenho mais uma questão: e quando a busca da primeira oportunidade? Hoje um profissional que tenha conhecimento de todas as tecnologias citadas, mas sem experiência na prática qual é melhor porta de entrada, estágio, certificação ou atuar em projetos outsource?