10 Razones para no certificarse en Java


1.- El objetivo del examen para la certificación Sun Certified Java Programmer es dar beneficios a Oracle.
Aunque esto no es en sí un problema, sí puede serlo cuando Oracle necesita dinerito fresco o le puede la codicia. ¿Puede suceder? Sí y de hecho ya ha sucedido: Oracle partió en dos el examen de Sun Certified Java Programmer para la version 7. De esta forma multiplicaba por dos sus beneficios.
Entiendo Oracle tenga que vivir de algo, pero la indústria de las "certificaciones" apesta. Ya apestaba la de Microsoft y esta huele que espanta.


2.- La orientación del examen es claramente errónea.
En lugar de centrarse en aquellos errores difíciles de detectar (pitfalls) hacen profundo incapié en errores que en la realidad será imposible pasar por alto. Casi en todas las preguntas aparece como respuesta "No compila".

3.- Muchas de las preguntas no tienen nada que ver con la materia examinada.

Al igual que los exámenes de conducir tratan de entender la pregunta o en matices de comprensión: "¿No es verdad que si no es cierto...?".

4.- Van de listos y la cagan.
Algunas preguntas son tan rebuscadas que la respuesta que dan por correcta ni siquiera lo es. Es el precio de rizar tanto el rizo. Lo mismo sucedía en los exámenes de conducir.

5.- El examen incluye materia innecesaria.
Incluye "por diversión", esto es textual del libro de preparación en el que se permiten hacer chistes entremedio, temas que a nadie le interesa memorizar, como por ejemplo la representación en octal de literales.
Esta información, de necesitarla cualquiera, puede perfectamente consultarse en la documentación de la especificación del lenguaje. En cambio, se utiliza en el examen para equivocar a quien se examina con perlas del estilo 0xDeadCafe. Qué ingeniosos son.

6.- Las preguntas están disfrazadas para facilitar el error, no para demostrar el conocimiento de Java o haber entendido su filosofía.
Evidentemente, cuanta más veces tenga alguien que repetir el examen, mejor para Oracle: más ingresos.
Así que hay muchas preguntas rebuscadas cuya respuesta es en realidad "No compila", porque por ejemplo falta un punto y coma.

7.- La certificación es para una versión concreta.
Cuando Oracle saque una nueva versión tendrás que volver a certificarte. Esto les lleva a sacar nuevas versiones con cambios sin los cuales se puede vivir, entrando en una vorágine de nuevas versiones como la de Microsoft, que para poder cobrarte de nuevo por el mismo producto, sacan una nueva versión y la antigua queda obsoleta e inutilizable en un tiempo: "ciclo de vida del producto" lo llaman efemísticamente. Timo lo llamo yo.

8.- Java arrastra problemas de otros lenguajes antiguos.
Java en sí mismo es un gran avance hacia la abstracción de los detalles del ordenador donde se ejecuta un programa, lo cual es digno de celebrarlo por todo lo alto. Aun así, arrastra de lenguajes antiguos las variables "primitivas" (int, char, boolean, etc.) y todo un compendio de conversiones automáticas sólo en algunos casos y restricciones, obligaciones y excepciones que engordan notablemente las normas del lenguaje.
A ver cuándo se desprenden ya de los tipos de datos "primitivos" y pasan a utilizar unicamente los objetos de los que tanto presumen. Java, por su naturaleza, no se usa en procesos de cálculo intensivo, por lo que podría perfectamente prescindir de este tipo de variables.
Oracle usará estas normas de uso de los tipos primitivos para hacer suspender a los que se examinan.

9.- Para presentarse al examen casi te hacen un tacto rectal.
Por ejemplo, no puedes llevar ni siquiera tu cartera. ¡Sí, sí! ¡En la que llevas el DNI! Ni que te estuvieras examinando para entrar en la CIA. No hay como darle pompa para que parezca lo que no es.

10.- Hay otras cosas mejor que hacer.
Si quieres invertir bien tu tiempo, estudia Java, no estudies para una certificación. Usa lo mejor del lenguaje y huye como de la peste de todo lo que han incluido con un criterio poco acertado.
¿A quien narices le importa que en Java 7 se pueda hacer un switch con una variable String? ¿Esto es lo que llaman "gran avance"?


Por supuesto habrá quien tenga 10 razones para certificarse, pero personalmente tengo una especial alergia a los que disfrazan sus intereses.

Y para poner un poco de contraste, he aquí 10 razones para certificarse, algunas procedentes del libro de preparación "Sun Certified Programmer for Java 6 Study Guide" :

1.- A los empresarios les importa que alguien tenga la certificación.
2.- A los contratadores también les importa.
3.- Se considera la certificación que más crece y el número de candidatos aumenta cada año. 
Es el mismo argumento de "Come mierda: 100.000 millones de moscas no pueden estar equivacadas".
4.- La certificación demuestra que eres listo. (argumento extraído del libro de preparación)
5.- La certificación demuestra que sabes prepararte para un reto. (también del libro de preparación)
6.- La certificación demuestra que sabes Java. (perogrullada del libro)
7.- Los empresarios saben que quien tiene la certificación no necesita aprender Java. (más perogrulladas)
8.- No demuestra necesariamente que puedas desarrollar software en Java, pero es un buen comienzo. (asombroso argumento también del libro de preparación).
9.- Para demostrar que puedes desarrollar Java ya tienen preparado el "Developer Exam".
Para que te sigas gastanto el dinerete en Oracle.
10.- Es super guay y te hace sentir super exclusivo.

28 comentarios :

  1. La verdad este post es una tontería...

    ResponderEliminar
  2. seguro reprobo el exámen y esta frustrado...

    ResponderEliminar
    Respuestas
    1. Eso mismo he pensado yo. Está claro que la certificación es un negocio y que el examen es rebuscado, es muy cierto. Pero en parte, esto lo hace una certificación no fácil de conseguir, de hecho es más bien difícil. Por lo que para aquellos que la han obtenido, es algo diferenciador, que al fin y al cabo, es lo que busca el que se certifica.

      A mí no me parece mal.

      Eliminar
  3. Una pregunta. Si no te presentaste al examen como sabes si las preguntas de tu examen eran tal y como describes? Por ejemplo el punto 3, el 6 i el 9. Sino fuiste, ¿como lo sabes?.

    ResponderEliminar
  4. Mi estimado, estoy totalmente deacuerdo con todo lo expuesto en el blog, en mi caso realice el examen y lo aprobé, sin embargo las preguntas del examen no son probatorias realmente de que SABES de java, he trabajo con el desde sus inicios y la verdad saque el examen por cuestiones de requisitos en mi trabajo.

    Saludos

    ResponderEliminar
  5. Estoy de acuerdo en que cualquier certificación es más un comecuartos que cualquier otra cosa, pero desde luego tus argumentaciones parecen salidas de un patio de colegio. Como muestra un botón:

    "¿A quien narices le importa que en Java 7 se pueda hacer un switch con una variable String?".
    A mí y a cualquiera que le gusta tener un código limpio y mantenible.

    ResponderEliminar
  6. cito :
    " Los empresarios saben que quien tiene la certificación no necesita aprender Java. "
    " No demuestra necesariamente que puedas desarrollar software en Java, pero es un buen comienzo."

    si el libro de preparación dice eso, ya deja mucho que desear..

    ResponderEliminar
  7. Para gustos, colores. No hace daño hacerlo, no hace daño no hacerlo. Es como Linux, hay gente que mea vidrio si le dices que manoseaste linux y no te gustó. Pues los empleadores sí se fijan si lo tienes, pero igual te van a examinar, el certificado no te libra de naa. Eso si, si te certificaste y alguien no y te está jodiendo, se lo restriegas en la cara y le dices: te da envidia (aunque no le dé, es por joder nomás). XD

    ResponderEliminar
    Respuestas
    1. Tan de adultos como este blog...claro!!hahaha

      Eliminar
    2. Este blog no es para "adultos". Es para gente con espíritu crítico.
      El tonito de ironía y mofa me sale solo, pero entiendo que a veces la gente espera textos asépticos, pero no es mi intencion hacerlos ni creo que los vaya a hacer.
      No obstante, cuando expreso mi opinión normalmente, y así lo pretendo, es argumentada y no visceral.

      Si alguien deja un comentario del estilo " y tú más " no me parece que aporte nada, pero aun así no los censuro y aquí quedan publicados.

      Gracias de todas formas por leer la información y aportar tu punto de vista.

      Eliminar
  8. Pues, con certificación se puede obtener sueldos más altos. No sólo le rinde a Oracle.

    ResponderEliminar
  9. En efecto. También quienes contratan suelen confundir "saber programar" con "saber Java". Lo veo cada día que corrijo código ajeno.

    ResponderEliminar
  10. Muy mal blog. Suena a resentimiento.

    ResponderEliminar
  11. Creo que confundes resentimiento con razonamiento. Podría ser resentimiento si al menos me hubiera presentado al examen de certificación, cosa que no hice.

    ResponderEliminar
  12. Deberías haberte presentado al examen (tampoco hace daño como decían por ahí). . . . . . . siento que tus argumentos son poco sustentables al no haber asistido al menos, aun así comparto tu opinión, en el sentido del lucro que busca oracle con estas certificaciones que no certifican nada.

    ResponderEliminar
  13. Es sencillo decir "NO ME PRESENTÉ AL EXAMEN", en verdad este blog es puro resentimiento.
    Saludos.

    ResponderEliminar
    Respuestas
    1. Por una vez y sin que sirva de precedente, voy a ponerme al mismo nivel de argumentación para contestar: bla, bla, bla

      Eliminar
  14. Pues yo estoy bastante en acuerdo con este post.

    ResponderEliminar
  15. Perdón, pero no sabes de qué manera te has patinado con lo de los primitivos. Los tipos primitivos son enormemente más rápidos de procesar que los objetos, por ser más simples a nivel de código máquina, por almacenarse en el stack y no en el heap, porque su algoritmo de recolección es distinto al de los objetos, porque debido a lo anterior no generan eventos "Stop the world" (pausas completas de la JVM durante la recolección), porque mismamente Oracle recomienda NO usar objetos donde puedas usar primitivos y porque basta con abrir un Eclipse y hacerte un par de pruebas para comprobar cuál de los dos es como dos o tres veces más rápido que el otro

    En resumen, un patinazo donde los haya...

    En los demás temas entiendo los diferentes puntos de vista. Y no, no soy un frustado que se ha examinado y ha soltado la pasta para nada. Nunca me he examinado de esto y no creo que llegue a hacerlo algún día

    Un saludo

    ResponderEliminar
  16. Totalmente de acuerdo con el último comentario. A día de hoy con decir que programas en Java ya casi no vale aunque tengas un puto modulo, porque hasta en clases de ética te enseñan desarrollo en Java, si te puedes diferenciar con alguien por tener un certificado es algo que ganas para obtener un trabajo como programador.

    No es necesario un certificado para trabajar pero ayuda.

    Os habla un desarrollador web en JavaEE con 7 años de experiencia y un modulito superior en ASI... al cual a día de hoy le vendría muy bien un certificado como ese.... y otros mas jejejejej.

    Un saludo.

    ResponderEliminar
  17. Sin entrar a comentar aspectos técnicos, he de decir que ideológicamente estoy totalmente deacuerdo con la opinión de quien suscribe este post. Yo si que poseo alguna certificación, y lo único que demuestran es que has hecho un examen el cual has superado. NADA MAS.
    Las Certificaciones, en su mayoría (y no digo en su totalidad porque no las conzco todas ;-)) son un sacacuartos. No deja de ser un mercado inventado de la nada y que lo único que busca es un rendimiento económico y no una Formación en si misma.

    ResponderEliminar
  18. De acuerdo es un negocio, Tener el certificado no te certifica que puedas realizar un software ej "Banca por Internet". Prueba....

    ResponderEliminar
  19. Estudiar para esta certificacion te obliga a conocer mejor tu herramienta diaria de trabajo.
    Por otra parte las certificaciones me dieron 'puntos' para conseguir una visa de trabajo en USA.

    Saludos.

    ResponderEliminar
  20. Estas bien wey, seguramente haz reprobado cuantas veces lo hayas presentado, casualmente los que conozco que no han pasado nunca un examen de certificación coinciden con tus comentarios. Simplemente es frustración.

    ResponderEliminar
  21. Es una tonteria este comentario. Las certificaciones sirven de mucho. Son un reto y merecen valor para el que la haya logrado.

    ResponderEliminar
    Respuestas
    1. Cuidado: no confundir "certificación Java" con "cualquier certificación".

      Lo que este artículo destaca es la errónea orientación de la certificación en Java y el negocio en lo que la ha convertido Oracle.

      Nada que objetar con las certificaciones en general.

      Eliminar
  22. Tengo 10 años de experiencia como desarrollador y 5 como programador JAVA, actualmente me considero un programador semi senior y estoy realizando mi preparación para la certificación, la verdad, me ha servido porque están aclarando algunas cosas que no sabía sobre uso de memoria y la correcta forma de desarrollar para tener un código mas limpio, mantenible, porque una cosa es saber programar en java y otra hacerlo de manera correcta, usando bien las buenas prácticas, sabiendo como hacerlo, ese es el plus del certificado, mas allá del valor o del negocio, te enseñan a poner una firma que garantiza un nivel mas elevado en la programación, optimizando incluso el uso de la memoria virtual.

    ResponderEliminar
    Respuestas
    1. Hola Raúl. Me parece bien que estudies Java y aprendas todo lo que comentas. Pero entre so y pagar por una certificación hay una diferencia: a efectos tuyos tienes lo mismo (el conocimiento) y a efectos de Oracle ellos cobran cuando te certificas.
      Lo importante es que aprendas, no el certificado.
      Otra cosa que haya empresas que, por no valorar personalmente cada currículum y experiencia, prefieran mirar si tienes un certificado, sabiendo que eso no es garantía de que se sea un buen programador, algo aporta, claro que sí, pero no una garantía.

      Eliminar