Top Posts

Usecash:Você já recebeu balas como troco?

Continue lendo

Como ser um programador jr. Java

Posted by Camilo Lopes | Posted in Carreira TI | Posted on 13-03-2009

19

programmer

Opa Pessoal, aproveitando os três primeiros meses do ano, resolvi criar mais um post sobre carreira profissional . Hoje vou falar, o que acredito que para muitos é um grande obstáculo. Sendo assim abordarei o que é preciso para ser um programador java jr?

Vale lembrar que as informações postadas aqui podem ter visões diferentes na concepção de cada profissional, como também esta pode sofrer alterações de acordo ao mercado. Então não há uma tabela estática dizendo que para ser jr. tem que ter a certificação SCJP (por exemplo), porém recomenda-se, não pelo titulo de ser certificado e sim pelo objetivo dessa certificação. Agora um detalhe importante é que as informações deste post utilizei um pouco de minha experiência e consultei outros profissionais com mais experientes na área, além de dar uma pesquisada nos Rhs de algumas empresas o que para essas seriam um bom programador junior.

Antes de iniciar gostaria de tocar em um assunto que acredito ser importante para você leitor. Na ultima semana recebi e-mails com criticas construtivas (fantastico obrigado ao que enviaram) e também recebi criticas ofensivas. Mas nao é exatamente isso que desejo tratar e sim um ponto que tinha nas criticas é  a não publicação de posts técnicos nsa ultimas semanas. Bem, ultimamente venho tratando bastante de assuntos relacionados a carreira profissional, para ajudar aqueles que se sentem um pouco perdido e os indecisos aonde investir etc. Mas por que você vem abordando isso? Simples:

– inicio de mais um semestre nas faculdades e alunos que vao se formar e ainda nao sabem o que quer ser quando “crescer” programador? desenvolvedor? o que preciso para ser um? :)

– estamos  inicio do ano ainda e alguns alunos/profissionais procurando quebrar  a inércia em que área investir: inglês? certificaçào? etc..

Em função disso dei uma parada nos post técnicos  e também gosto sempre de está inovando, discutindo assuntos diferentes e não ficar falando somente de códigos, frameworks etc. Temos que está atento a soutras áreas que complementam nossa carreira. É por isso que temos as categorias no blog: carreira e  entrevistas. Isso é tao importante quanto é para um Bom arquiteto sabre da camada de negócio. Então era isso que queria esclarecer e qualquer sugestão/crítica não deixem de enviar. Agora…

Lets go…

Novidades: Para quem estuda english confiram um post meu no englishexperts sobre TAGQuestions.

Se você está querendo iniciar seus estudos com java, acredito que seu primeiro emprego será: um estágio ou depender de seu skill pode iniciar como programador jr. Java. Mas o que é necessário para ser um programador jr? Recomenda-se que o profissional tenha os conhecimentos apresentados a seguir para realmente ser um full jr. Quero salientar que os títulos apresentados a seguir não refere-se a velha discussão certificação x experiência, e sim com o conteúdo e objetivo que cada uma aborda, por exemplo a SCJA aborda UML, fundamentos Java, O.O etc. Sendo esses conceitos necessário que um programador deve saber por natureza.

Mais um detalhe se você é programador jr. você pode ser um jr. na plataforma JEE, JSE, JME, enfim você escolhe, mas é recomendável que entenda um pouco das outras plataforma porém você tem que ser especialista em uma delas, em alta hoje temos JEE e tudo indica que JME ja está dando seu start, com a TV Digital.

Vamos lá:

Para ser um programador jr. Java recomenda-se:

  1. Saber o conteúdo da SCJA , se tirar a certificação será melhor para você, pois poderá testar o quanto você sabe e o que precisa dar mais uma estudada. Para o mercado essa certificação não vai mudar muito sua vida profissional.

  2. Saber o conteúdo da SCJP a fundo, programar sem dificuldades com base no conteúdo dessa certificação. Ou seja, saber usar: threads, generics, O.O, Wrappers, IO etc.

  3. Ter um conhecimento razoável da API JavaSE. Criar um formulário, uma caixa de texto, botão, e gerar actions. Tipo de coisa básica como desenvolver uma calculadora. Enfim testar seu knowledge.

  4. Apenas coloquei esse tópico para reforçar mas é obvio que precisa saber O.O de verdade, tem que está na veia, porque será a base para o aprendizado.

  5. Saber um pouco de SQL é recomendável, ser leigo que não ficaria bem, mas ter noção e ser capaz de executar os comandos mais simples, vai soar bem. Se você não tem isso no seu curso de T.I na faculdade, cobre para ver em algumas das aulas de BD.

  6. Entender os conceito de BD, você pode até não ser um experts como criar conexões de sua aplicação java com um BD, mas saber ler os relacionamentos é requisito, um programador que não conhece chave estrangeira, chave primaria etc, é complicado pois isso é a base da base de saber algo sobre BD.

  7. Dar uma estudada como funciona o JDBC e fazer algumas brincadeiras, um livro que ensina bem legal como mexer com JDBC é dos irmãos Deitel.

  8. Conhecer basicamente como funciona uma aplicação JEE.

  9. Saber um pouco de HTML e XML, conseguir ler codes, mesmo que tenha algumas dificuldades.

  10. Conhecer a fundo as principais IDEs usadas nas maiorias das empresas (Netbeans e Eclipse). Não se trata apenas de instalar e configurar a IDE e sim como instalar um plugin? Como montar um ambiente JME,JSE ou JEE? Como gerar um javadoc de sua app, tendo como base as recomendações da Sun? Seu javadoc tem que ter como objetivo que qualquer outro programador que venha ter acesso consiga ler e entender sua aplicação sem precisa ter acesso a ela em primeira instância.


Essas são as dicas e os skills para ser um full jr. e que vai ajudar muito durante um processo seletivo, claro que há mais skills que pode ser inserido. Não podemos esquecer que estamos falando de tecnologia, que é algo dinâmico, API que você estudou ontem, hoje pode está obsoleta, outra situação que temos é quando uma nova tecnologia foi lançada essa pode ser inserida pre-requisito para um jr. Quem define isso é o mercado (exemplo: saber AJAX).

Um dica é se você fizer uma boa faculdade, a metade desses assuntos já deve ser comum, e que para completar a formação jr. Não vai faltar muito, apenas alguns pontos que pode ser desenvolvido em pouco tempo. Porém isso vai de cada aluno, quando falei “boa faculdade” não estou citando as mais conceituadas do pais, e sim como foi a procedencia do profissional como aluno durante os 4 anos. Estudei ou apenas para passar nas materias? Ai que vai está a diferença. Claro que quando se estuda em uma boa faculdade, a opção “apenas passar nas matérias” fica bem mais difícil para os alunos que adoram fazer isso.

Fique atento as mudanças no mercado. É aqui onde sua carreira mora.

Bem vou ficando por aqui, com mais uma dica de carreira profissional, o objetivo desse post é ajudar aqueles ainda que estão montando seus objetivos para 2009 e o plano de carreira. Então acredito que as habilidades descritas acima são pre-requisitos para entrar como programador jr. Java.

Um abraço e até o próximo post…

Related Posts with Thumbnails

Comments (19)

Camilo,

Parabéns pelo post. As dicas são muito boas. Comecei uma faculdade de gestão voltada para Web e me arrependi. Tranquei e pesquisei sobre desenvolvimento. Fiz alguns cursos incluindo SQL, OO e no meio do ano volta pra faculdade. Estou procurando uma oportunidade para início.
Não possuo experiencia em programação, Somente com manutenção de hardware. Estou um pouco perdido pra que rumo seguir, se procuro um estágio ou na area profissional tipo help desk. Para pessoas como eu o que você sugere?

grande abraço

Bom post Camilo!
Na minha opinião, você só esqueceu de tratar de um assunto que gera muita discussão para o cargo Jr:

A experiência, que a maioria das empresas pedem uns 6 meses para o cargo em questão.

Realmente é muito complicado, veja bem:

Estou no quinto período em uma renomada universidade e levo as coisas a sério.
Já possuo todos os conhecimentos citados em suas dicas, e possuo experiência acadêmica em projetos de iniciacao cientifica e também tecnológica, onde desenvolvi e desenvolvo softwares completos em J2EE, utilizando frameworks que o mercado adora!
Enfim, teria uns 3 projetos completos para mostrar!
Além de ter lógica matemática e sólidos conhecimentos em estruturas de dados. Um detalhe, nao menos importante: o inglês é avançado

Pergunta:
Daria para um Jr ?
Resposta:
Depende do RH onde o currículo vai passar, infelizmente!

Onde estudo, a maioria dos alunos são indicados pelos professores ao primeiro emprego. Há um networking bom, o que diminui um pouco a preocupação.

Enfim, minha dúvida é:
Após expor esse dilema da experiência que é tão discutida nos fóruns atualmente, gostaria de saber como as empresas grandes, como a ibm, se comportam diante de currículos “sem” experiência ?

Novamente, um bom post! Parabéns

Abraços

olá Ronaldo,

Bem vc precisa ser especifico na sua carreira em que area que trabalhar? Desenvolvimento a blz, mas com que tecnologia inicialmente? java, .net, ruby etc? certo quero java, mas o que sei de java e o que preciso aprender? nada. e como faco para aprender? bem tenho livro e cursos. A se eu fizer uma certificacao mim ajuda? Sim um pouco, ja que nao tenho experiencia. Mas aonde quero trabalhar na minha cidade, ou em outra com java?.
Entendeu como é a jogada monte um questionario sobre vc e sua carreira, assim vc tira uma radiografia e descobre aonde investir e fica mais facil para nao fazer investimentos que depois possa se arrepender e nao trazer resultados alem de perder tempo. Normalmente faco isso quando estou trancado novos caminhos para minha carreira, vc tem que saber aonde quer chegar e pegar um facao e sair em busca do caminho.
um abraco, e obrigado por acessar o blog :)

olá reinan,

Verdade algumas empresas pedem os 6 meses mas nao sao todas nao, depende da necessidade de cada uma hehe. Se o cara com o perfil igual ao seu, a empresa pode arriscar tranquilo mesmo sem experiencia comprovada. Mas vale lembrar que isso depende muito da gestao da empresa, pois muitas ai de pequena e media tem aquele empresario do passado que acaba complicado o que é facil. Bem a IBM é uma empresa moderna com o mercado o que mais fazemos aqui é contratar récem formados sem experiencia, desde que tenha um ingles intermediario ou superior pois acreditamos que aprender a parte tecnica é uma questao de horas ao contrario de uma ligua. Nao temos aqui dificuldade em encontrar profissionais bons tecnicamente agora com o ingles o cenario é diferente e nao somente a ibm outras multinacionais sofrem tb com esse aspecto do ingles. Mas lembre focamos no speaking isso que é fundamental. Vc poderia tentar uma vaga atraves do site da IBM há vagas por la.
flw abraço.

Show de bola o post Camilo!
Além dos skills que você citou, recomendaria também conhecimentos básicos de Engenharia de Software, quando um programador pegar uma especificação vai ter que entender o que está lá para desenvolver. E também conhecimentos básicos (pelo menos para que serve cada um, e como poder usar) sobre alguns frameworks mais usados, como Hibernate, Struts e JSF.
Abraços

Olá Camilo blz!! valeu pelo post cara..eu trabalho como analista suporte mas pretendo seguir a carreira de analisa/desenvolvedor…o q vc postou ajuda e muito a quem(no meu caso) ta ainda meio q perdido no que fazer daqui em diante em relação a desenvolver/programar em java…preciso tb comprar um livro bom sobre java(dos irmaos /deitel por ex)….enfim tenho q correr atras…uma pergunta só Camilo, se eu fizer a prova e conseguir a certificação ajuda tb num estagio ou um trampo msm como junior??

abraços!!

olá Gilson,
Bem vamos lá a certificacao ela ajuda bastante na carreira, a questao de se ela vai definir de vc entrar como jr. isso nao posso afirmar pq depende muito da regiao, tipo aqui na bahia a necessidade de profissionais disponiveis com bons conhecimentos em java, e depender do historico do cara em TI, na area desenvolvimento mesmo com outras linguagens ele pode entrar ja como jr. ou fazer um estagio porem esse estagio será tipo o caminho para jr. a empresa so quer testa-lo alguns meses antes de colocar vc como jr. mas sera algo de no maximo 3 meses. E nao algo como aqueles estagio que leva 1 ano e alguns ate quase 2 anos e dai que contrata o cara. Para quem nao tem experiencia a certificação um bom destaque no processo de selecao sim, eu recomendo vc estudar primeiro a linguaguem e depois a certificacao vc pode estudar java nesse primeiro semestre e no segundo comecar na certificacao por exemplo. dar uma olhada no post a seguir pode ajudar vc.
importacia da certificacao

flw! abraço

opa Loiane,

Boa dica sua hehe. Mas assim eu acredito que em um curso de SI é normal que o aluno veja a materia de engenharia de Software, durante os 4 anos e faca algum trabalho bem legal sobre. Na minha graduacao eu tive 2 semestre com essa disciplina alem de outras disciplina que tinha relacao direta, e nao ficamos somente na teoria nao, tivemos que usar algumas tecnicas da engenharia de software para as aplicacoes. Muito show, entao por isso nao acresceitei, mas como vc reforcou foi excelente.
thanks.

parabéns Camilo !

artigo excelente, conciso e enriquecedor
aproveito a oportunidade de solicitar permissão p/ divulga-la em meu blog

att

olá renato,
pode divulga-lo sim :)

Ótimo post Camilo.
Durante anos tive dificuldades para me inserir no mercado de trabalho devido à experiência.
Estava atrás de trabalhar como Analista de Sistemas e/ou Programador quando saí da faculdade, mas a falta de experiência era a grande pedra no meu sapato.
Tirei certificações Microsoft como MCP, MCSA (sei que não tem nava a ver com desenvolvimento), mas percebi que foi de grande peso para conseguir uma vaga como Analista de Suporte (sei de muita gente que começou na área de suporte e depois migrou para desenvolvimento).
Hoje fui chamado para uma vaga de Analista de Sistemas de um órgão público na qual passei por concurso e estou cursando um cruso de Desenvolvimento Web com JEE.
Aliás, acho importante para o profissional de TI, esteja onde ele estiver, na iniciativa privada ou órgão público que ele sempre estude, sempre queira aprender as tecnologias novas, pois acredito isso ser um grande diferencial para um bom profissional.
Quero muito aprender novas tecnologias e tirar mais certificações, apesar de agora ser mais um concursado.
É com perseverança que alcançamos nosos objetivos.
Até mais pessoal!!!

Olá!
Estou terminando a faculdade em Analise de Sistemas, conclui treinamentos na impacta em Logica de Programação, MS Sql Server 2000-2005, UML – Analise de sistemas, XHTM -CSS com Tableless, Java Programmer 1, Java Programmer 2, JEE – JSP e Servlets, atualmente tenho conhecimentos sobre JDBC onde em alguns projetos feitos mesmo que academicos ou de iniciação propria utilizei conexões com diversos DB como por exemplo: PostgreSQL, My SQL, MS SQL Server, Iplus Oracle. Possuo conhecimentos basicos em Hibernate, JPA, JSF e também desenvolvi alguns projetos na plataforma Java SE, sou fanatico pelo Netbeans e ultimamente utilizo o 6.5 com todos os plug-ins instalados, tenho o ingles intermediario e o espanhol fluente em escrita e conversação, porém está dificil para conseguir um estagio, pois sempre quando vou participar de uma entrevista existe um novo tema a ser abordado, a ultima vez me perguntaram se eu conhecia Web Services, SOA enfim, acredito que para um estágio ou para um nivel de estagiario é complicado saber sobre esses novos metodos e ferramentas, pois se eu obter esses conhecimentos com certeza nao quero ser estagiario e sim no minimo um programador junior.
Qual seria a sujestão que você me daria?

Lembrando que possuo conhecimentos no conceito de OOP e para ter uma ideia, desenvolvi um projeto de vendas de opalas( usado apenas fins de informações na entrevista ) na ferramenta Dreamweaver todos os codigos em JSP e manutenções efetuadas através dos Servlets que o proprio Tomcat gera automaticamente, ou seja, quando temos que efetuar uma correção ou manutenção é mais facil visualizar o seu codigo através do Servlets porque possui o codigo Java puro e na JSP temos o codigo java dentro dos Scripts de HTML…. e mesmo com esses conhecimentos está dificil atender os requisitos de estágios até o momento…..

Estou começando a desanimar!

olá Davi,

A questao toda é o mercado, tem que saber o que seu mercado pede como requisito, vivemos isso aqui no Brasil, a necessidade do Sul é diferente do nordeste e por ai vai. Eu ja tive colegas que tiveram que mudar de cidade, estado por causa disso. Aqui em Salvador mesmo o mercado nao exige tanto quanto SP, porque há uma carencia grande de encontrar profissionais aqui e se exibir muito pronto ai que nao acha. Veja algumas vagas no site a seguir para ter ideia: empregos bahia
Bem pelo curriculo que vc descreveu muito dificil está desempregado.
flw! abraço e boa sorte. E lembre-se de procurar no lugar certo.

Oi,
Lopes, onde eu consigo um estagio, hum, que seja online, porque onde estou não tem, e que eu possa aprender, mesmo que so pra conhecimento, estou estudando java e fazendo um cursinho, mas eu queria por na pratica.
Atenciosamente,

olá Adriana,

Bem, estagio normalmente tem que trabalha na empresa, até hj ainda nao vi, nenhuma vaga para home office e ser contratado como estagio. Até porque a definicao de estagio seguindo o que diz a CLT é um profissional diferente de um CLT. Entao isso implica bastante, na hora da contratacao. Para uma empresa e para o profissional sendo estagiario, é mais interessante ele está na companhia assim faz contatos, aprende muita coisa. Isso nao so para estagiarios, e sim para qualquer profissional, porem para estagio deve ser mandatorio isso.
Bem se onde vc está na permite trabalhar na area, o que vc deve fazer é praticar muito em casa, fazer muito deve, participar de comunidades java, e quem saber um projeto open-source. Ou se mudar para uma cidade hj há oportunidades.
Eu recomendaria a vc em primeiro momento, se qualificar para o mercado, estabelecer uma tempo x meta e depois para uma cidade hj possa concorrer as vagas, pois o mercado é muito exigente. As vezes até um simples estagio é como encontrar agua no deserto.
abraço,

Ótimo post, muito interessante mesmo…

Olá Camilo,

Ótimo post, me esclareceu várias dúvidas, mas eu gostaria de fazer uma pergunta. Concluí a faculdade há um ano, tenho os conhecimentos básicos que você citou acima (exceto os títulos de certificação) e experiência de 2 anos com Delphi, quais são as minhas chances de entrar no mercado Java? E essa experiência em outra linguagem é levada em consideração pelos RH’s?

Abraço

É levada em consideracao sim, mas isso varia de linguagem para linguagem, tipo uma experiencia em PHP pesa mais que uma experiencia em delphi por exemplo. Se vc vai concorrer uma vaga java. Porem acredito que nesse seu caso seria uma vaga para programador jr. certo? pq para outras categorias é requisito ter no minimo 1 ano de experiencia com programacao java. Agora as possibilidades hj de entrar no mercado java define o numero de frameworks vc conhece, quanto mais souber, melhor. Porem é saber de verdade e poder comparar qual é melhor para cada situação. Por exemplo algumas vagas para jr. pedem JSF, struts, Hibernate. Agora a melhor forma ainda é analisar todo os dias as vagas de emprego assim se mantem atualizado, porem olhe apenas as vagas que vc pretende ingressar, nao faz sentido ficar olhando a de arquiteto ja que vc ainda nao é um programador jr. Isso eh fundamental, pois vc foca mais no que deseja ser a curto um prazo, no dia q for ser um arquiteto, ai sim. nada mais que saber oque as empresas que de um arquiteto.
Nunca se esqueça que pre-requisitos de vagas é muito dinâmico e esse é o unico fator que diz que nos devemos estudar.

abraco,

Olá Camilo,

Parabens pelo post, ficou bem completo, faltou so 2 pontos que acho interessante:

1 – Controle de versão, no minimo basiquinho de CVS.

2 – Sockets, se ele for trabalhar com Web saber utilizar um ServerSocket ou ate mesmo um Socket é um passo muito bom para o entendimento do que esta ocorrendo por baixo dos panos.

Write a comment