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 as 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 esta 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á de lhe da 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 implementar bom sistemas em arquiteturas simples. No entanto, nunca terão autonomia completa !! E o que a realidade tem mostrado é que chega um momento que eles não conseguem mais resolver determinadas situações de projetos, evoluir arquiteturas, escalar sistemas (vertical ou horizontal) etcc….precisando desesperadamente de alguem 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 um 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ável 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çaaaaaaa !!!!
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 solida que resulta em uma autônima 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 o seja……a 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 de vida do determinado software.
Espero que este post venha servir de motivador se caso vc ainda não começou a se especializar. Segue abaixo alguns post para as certificações iniciais em java.
Overview da Cerficações SUN
Java Associate
Java Programmer
O post fica livre para opinião do pessoal ! T+