Você Possui o que o Mercado Exige?

15/08/2011

Dias atrás, entrei em uma discussão emblemática com um colega que devido a um infortunio esta procurando uma vaga no mercado de trabalho. Discutiamos alguns aspectos de como encontrar uma posição equivalente á experiência, conhecimento e maturidade na plataforma (Java). Nessa conversa, meu colega reclamou de uma situação que o mercado partilha que eu creio que seja única: a diversidade de vagas com framework’s distintos. Eu já trabalhei com o mesmo e não nego: ele conhece o JSF 1.2 como ninguém. Tem a documentação praticamente decorada, domina a maioria das tag’s nativas, conhece detalhes da implementação de que eu particularmente nunca tinha ouvido falar… resumindo: o cara realmente é um bom profissional. E quando eu digo isso, não é porque ele domina um framework especifico de mercado. Não, o mesmo conhece EJB, escala servidor de aplicação, trabalha muito bem com a camada de persistência e conhece apresentação. Mas o framework limita o mesmo.

Hoje temos oportunidades com Struts 1, Struts 2, JSF 1.2, JSF 2, Spring MVC 2.5, Spring MVC 3, VRaptor… A verdade que o mercado não deixa uma base firme para que um profissional se especialize em uma determinada ferramenta. Há quem ache horrível, há quem ache ótimo. Eu, sinceramente, não acho nenhum dos dois. Eu não olho com bons olhos essa tamanha diversificação de frameworks, mas entendo que a mesma é necessária para a evolução de conceitos e da própria especificação da tecnologia, incluindo também a diversificação de soluções para determinados problemas. Mas que é um martírio, é. Por exemplo: para atingir o nivel de maturidade que o meu colega atingiu, foi necessário cerca de 1 ano e meio de experiência com a ferramenta. Então, de repente, ele tem que deixar de lado todo esse tempo de maturidade e mudar a forma de se trabalhar/pensar/modelar para colocar um projeto legado com o desenvolvimento web abstraido com o Struts 1. Olhe só o dinamismo que o mercado forçou o profissional! Primeiro, porque ele está deixando de trabalhar com um poolMVC para trabalhar com um pushMVC. Segundo, que o conceito de trabalhar a view com Facelets muda totalmente para o HTML/JSP/JavaScript/CSS na unha. Terceiro, apesar dos Struts 1 funcionar (logicamente), o mesmo deixa de incorporar vários conceitos revolucionários que facilitaram (e muito)  a vida de todos os desenvolvedores, como o CoC (ConventionOverConfiguration). Ou vai me dizer que você, que está lendo esse post, tem como hobby principal a configuração de parâmetros em um XML?

Então, podemos assimilar que todos os profissionais que trabalham com Java precisam dominar todos os framework’s? Por incrivel que pareça, a maioria pensa que sim! Existe quem apóie o fato de que porque determinadas soluções exigem determinadas arquiteturas, o profissional precisa ser especialista em todos os framework’s e especificações que a plataforma disponibiliza. Mas eles estão errados. O importante é a base do conhecimento. Não a nível de especialização, mas a nível de adaptação, o profissional que realmente conhece como um ambiente web funciona ( e quando afirmo isto, afirmo que o profissional sabe realmente o ciclo de vida de uma requisição, o gerenciamento de sessões, o que é uma TLD, etc ) não terá dificuldade nenhuma em se adaptar a um determinado framework. O único empecilho se encontra no tempo de maturidade para se chegar em um nível de desenvolvimento prático que o core business das empresas exigem.

Então, qual seria a solução para essa questão?

A postura de seleção dos Departamentos Pessoais. O mais importante não é a quantidade de certificações, graduações, treinamentos, experiência e lato/stricto sensu que um profissional possui, mas sim a característica de conseguir aprender, evoluir e se adaptar a solução que um determinado problema necessita com a bagagem que o mesmo possui. De que adianta ser um doutor em engenharia de software se o profissional não é dinamico o suficiente para absorver uma tecnologia em uma plataforma que apesar de conhecer não domina, na hora que um requisito exige que o mesmo implemente uma determinada solução baseada na mesma?

A Capacidade de Evoluir.

Essa é a característica mais importante de um profissional.


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.