Vemos que a concorrência no mercado de trabalho faz uma separação cruel dos profissionais atuantes, e a grande questão levantada na área de TI é: QUAL A REAL DIFERENÇA ENTRE OS BONS PROFISSIONAIS E OS PROFISSIONAIS CERTIFICADOS JAVA? Segue minha opinião:
“Imagine a figura de uma pessoa que tem um carro e o usa constantemente. Essa pessoa todos os dias liga o carro, vai e volta ao seu destino, sabe manusear a marcha, coloca água e gasolina, troca o óleo devidamente, enche os pneus mensalmente e às vezes até troca um pneu furado quando o desagradável fato acontece. E quando esta pessoa tenta ligar o carro e ele não funciona? E quando ele está dirigindo em uma rua e o carro para de funcionar? A verdade é que essa pessoa não pode fazer nada! Ela não tem conhecimento e nem autonomia para detectar ou diagnosticar onde, quando e como o problema ocorreu. Em lado oposto, poderíamos imaginar a figura de um mecânico certificado por uma determinada marca de automóvel que além de usar o carro como a pessoa da figura um, tem o conhecimento completo de como o motor foi montado e de seu funcionamento interno. Este fato já lhe dá autonomia de rapidamente encontrar, diagnosticar e interagir na situação onde quer que ela aconteça.”
Esta é minha opinião sobre o assunto! No geral (salvo raras exceções), os profissionais que trabalham com Java podem aprender a usar muitas das tecnologias existentes e até chegar a implementar bons sistemas em arquiteturas simples. No entanto, nunca terão autonomia completa! E o que a realidade tem mostrado é que chega um momento em que eles não conseguem mais resolver determinadas situações de projetos, evoluir arquiteturas, escalar sistemas (vertical ou horizontal) etc. Precisando desesperadamente de alguém que o faça. Esse fato tem piorado principalmente com a utilização de ferramentas RAD´s e/ou especificações/frameworks que escondem detalhamentos importantes da tecnologia.
Por exemplo: tenho comprovado pelas consultorias que venho ministrado que a maioria dos programadores Java não sabem conceitos fundamentais da linguagem como a de igualdade de objetos (equals/hashCode), passagem de parâmetros com/sem referência, utilização e entendimento de características estáticas de uma classe/objeto, comportamentos e referências polimórficas etc….Outro exemplo fácil de acontecer são aqueles profissionais Java que começam a trabalhar na web (tipo com JSF) sentindo-se inicialmente muito confortáveis com a especificação de componentes visuais + as ferramentas RAD, CSS supersônicos maravilhosos…porém, quando precisam descer o nível da especificação e operar sobre algum detalhe simples de Servlets/JSP…meu Deus…o mundinho desaba na cabeça!
Estas situações normalmente não acontecem com profissionais certificados Java devido ao fato de que, além de trabalharem com a tecnologia dia a dia, acabam realmente entendendo, digerindo e concretizando conceitos da tecnologia que constroem uma base de conhecimento sólida que resulta em uma autônoma automática. Por exemplo: é muito comum uma pessoa SCWCD se sentir plenamente confortável com qualquer framework WEB MVC que venha trabalhar em qualquer empresa, independente de qual seja… pessoa sabendo a base da especificação Servler/JSP normalmente não terá problemas em se adaptar ou resolver situações de projetos que venham acontecer na ciclo de vida do determinado software.
Espero que este artigo venha servir de motivador caso você ainda não tenha começado a se especializar. Segue abaixo algum post para as certificações iniciais em Java.



