Como ser um Programador Senior Java

Olá Pessoal,

Ano passado eu falei como ser um programador júnior & pleno. Discutimos qual o perfil técnico que no minimo o programador deve “ter” e o que esperado por algumas companhias. Claro que nenhuma informação contida no post era algo cientificamente comprovado(nesse também não). Apenas um achismo do autor tendo como base a experiência, analise do mercado, bate papo com alguem do RH e um pouco de achismo. Hoje vou falar sobre ser Pleno.

  • O que é ser um programador pleno?

  • Como se tornar um?

  • O que preciso saber tecnicamente para ter um perfil de Programador Java Pleno?

Lets go…

Outros posts:

Antes de começar, quero dizer que um profissional de IT não vive apenas dos conhecimentos técnicos nos dias de hoje. Há outras qualidades que são avaliadas e tem o mesmo peso ou até mais que o número de frameworks, certificações e tempo de experiência. Um exemplo que posso citar é trabalho em equipe, relacionamento, comunicação, equilíbrio etc. Do que adianta ser “bom” tecnicamente, mas você não sabe se comunicar bem, não tem proatividade, se acha o dono do mundo e não consegue de forma nenhuma trabalhar em equipe?!! Você pode ter a experiência que for em uma determinada tecnologia, mas os pontos que acabei de citar, eles são classificatório/eliminatório em um processo seletivo. O que um dia as empresas já fizeram “vista grossa” e queria apenas aquele “cara de informática” para “mexer com o computador”. Esse perfil não existe mais nas melhores empresas para se trabalhar.

Mas, a pergunta de muitos: “Camilo, o que eu preciso aprender, para se tornar um programador sênior, quantos frameworks, quanto tempo isso leva? Etc”.

  • Primeiro: Não existe o tempo definido e sim sua experiência adquirida nos projetos que tem participado e tecnologias que tem usado, não existe receita dizendo que somente se vc usou tecnologia X por Y tempo que vc pode se tornar um programador sênior. A sua capacidade de resolver problemas usando a tecnologia correta, atendendo os requisitos do cliente e não perdendo o foco do negócio vai contribuindo para sua formação. Então tire isso da mente que você vai se tornar sênior somente daqui à 5-10 anos. por alguem ti falou Não está escrito em lugar nenhum isso, porém a média geral que bem comum de  ver no mercado, é que boa parte dos seniors não tem menos de 5 anos de experiência, mas por que isso? Bem, lembre-se que vc passa um bom tempo como júnior, depois vai para pleno e cai em sênior Mas, tb não há nada que diga que vc tem que seguir essa ordem. Já tive colegas que entrou como júnior e ficou por 1 ano e depois já caiu para sênior, isso vai do skill técnico do profissional + projeto + habilidades não técnicas que citei no inicio do post.

Agora outro ponto importante, é o projeto que você está participando ele é um fator bem decisivo e que acelera o processo, se tem um projeto bem ativo, dinâmico, que esteja aberto ao uso de novas tecnologias isso vai contribuir diretamente para sua formação e não tem salário que pague por isso.

Vejamos a parte técnica de aprendizado que se espera de um sênior Java:

  1. Parece que isso nem deveria aparecer aqui, mas é bom repetir. Experiência em Java, O.O, Design Patterns são fundamentais para um bom sênior Java;

  2. Ter o conteúdo da SCJA, SCJP, SCWCD, SCDJWS de forma suave na mente e na prática. Não estou dizendo que deve ser certificado, mas dominar todo aquele conteúdo como tomar café-da-manhã todos os dias;

  3. Dominar XML de forma fluente.

  4. Ser capaz de eliminar POGs e bugs de um sistema em questão de segundos ou de minutos, sem cometer erros. Essa habilidade é importante lembre-se tempo é $$.

  5. Ser capaz de otimizar código de tal forma que o entendimento seja como somar 2 +2. Quer uma prova disso: Veja o livro refactoring de Martin Fowler o cara refatora de uma forma que tem que ser elogiada. Então usar de forma bem XP, Refactoring etc. Não pode ser uma novidade para um sênior

  6. Conseguir transformar qualquer tipo de requisito mal-definido e contraditório em algo funcional, eficiente, sem bugs e nada de gambiarras;

  7. Tratar SQL, JDBC, Java, JSP, HTML, Servlet, JavaScript, Reflection, Annotations, XML, EJB, SOA, Threads e concorrência como coisas tao trivialmente simples como respirar. Tendo total, completo e absoluto domínio sobre isso

  8. Dominar os frameworks mais usados mercado, exemplo no momento que escrevo o posts: Struts 2, Spring, JSF, Hibernate etc. De 10 vagas para Java 10 pedem pelo menos conhecimento em 1 desses frameworks. Seja para júnior,pleno ou sênior

  9. E por ultimo não parar de estudar, continuar de olho no mercado devorando novas tendências.

  10. Preciso dizer que é bom saber inglês? E de preferência dominar o idioma de verdade e nao somente o “inglês técnico”.

Bem pessoal, vou ficando por aqui e espero que tenham gostado, o objetivo maior aqui é mostrar e ajudar aqueles que estão perdido “o que estudar Java?! ”, acredito com os pontos citados dar para ter um ideia e traçar o mapeamento o que estudar. Claro que as informações aqui não passa  apenas da minha opinião,  e não acordei hoje e resolvi escrever sobre o assunto e pronto. Pesquisei, conversei com colegas mais experientes, aproveitei profissionais de alto de nível em seleção de profissionais IT, para sugar um pouco as necessidades deles etc. E isso já vem sendo feito a um certo tempo. Não deixem de suas opiniões.

Abraços, see you next post.


Follow me: http://twitter.com/camilolope

13 comentários em “Como ser um Programador Senior Java”

  1. Camilo,

    Se você não se incomodar, vou criar um post lá no meu blog apontando para essas postagens ok? Achei muito interessante a sua abordagem sobre os pré-requisitos para se tornar um programador java jr, pl ou sr…

    Abraços,

  2. Camilo,

    Nas minhas listas de blogs recomendados, há uma carência de blogs técnicos. Você se importa se eu colocá-lo lá no meu blogroll?

    Abraços,

  3. Excelente post!!
    Parabéns.

    Vejo que ainda tenho um longo caminho a percorrer. Obrigado pelas dicas!
    Abrs.

  4. Olá Rafael,
    Gostei da lista que voce citou, mas só concordaria com ela, se o título da matéria fosse : Como ser um “bom” Programador Senior Java, pois conheço muitos programadores seniores do mercado, que infelizmente não sabem nem um terço dessa lista, e assim se entitulam.

    1. opa! Daniel,

      é um assunto polemico essas definicoes de jr/pleno/sr. esse post só ajuda a ter uma ideia de alto nivel, mas ser cada um dele está mais relacionada ao produto e area que está trabalhando do que a parte tecnica em si, na maioria das vezes um produto que vc vai precisar trabalhar, gaste horas em cada uma daquelas tecnologias e vc acaba virando um senior nela de tanto problemas e solucoes que foi necessario desenvolver.
      flw, e obrigado por sua contribuição gostei.

  5. Ola gente eu queria saber se alguem podia me ajudar num projeto em java com Dao,view,model e bus de um estacionamento

  6. Excelente seu post, muito do que foi escrito é exatamente o que penso, hoje sou classificado como pleno, mas me sinto estagnado por me faltar uma direçao, com essa orientaçao, agora acredito que estou no caminho certo pra vir a ser sênior.

Deixe um comentário

O seu endereço de e-mail não será publicado.