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:
-
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;
-
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;
-
Dominar XML de forma fluente.
-
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 é $$.
-
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
-
Conseguir transformar qualquer tipo de requisito mal-definido e contraditório em algo funcional, eficiente, sem bugs e nada de gambiarras;
-
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
-
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
-
E por ultimo não parar de estudar, continuar de olho no mercado devorando novas tendências.
-
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
Bom dia !! Ótimo post !!! Abraços Camilo
opa! Eder e Fernando, obrigado :D.
Olá Camilo tudo bem ?
Parabéns pelo post.
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,
opa! Rafael,
Obrigado pelo feedback, pode sim, no problem :D.
abracos,
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,
Quando for responder, entre em contato pelo meu e-mail rafael@conhecimentoeti.com, pois não achei uma opção para acompanhar as respostas dos posts aqui.
Você poderia incluir essa opção também…
Abraços,
Excelente post!!
Parabéns.
Vejo que ainda tenho um longo caminho a percorrer. Obrigado pelas dicas!
Abrs.
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.
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.
Obrigado, parabéns pelo post, muito claro e objetivo!
Ola gente eu queria saber se alguem podia me ajudar num projeto em java com Dao,view,model e bus de um estacionamento
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.