Regresando al mundo Miércoles, 2 de Julio de 2008
Bueno pues ya está: he opositado. Ayer tuve mi último examen y vuelvo a tener una vida normal, sin más obligaciones que trabajar. Se acabó el estar preparando unidades didácticas, inventando sesiones, estudiando temas… Por fin podré dedicarme a descansar y a hacer todas las cosas que había dejado pendientes.
La cosa, la verdad, ha ido regular:
El primer examen consiste en estudiar 74 temas. El día de la prueba se sacan 5 bolas de un bombo (en nuestro caso era un bingo de juegos reunidos Geyper, de esos que se utilizan en las verbenas de las fiestas del pueblo) y tienes dos horas para desarrollarlo de memoria: es una prueba de un estilo arcaico, del siglo pasado. Una persona podría estudiar sólo un tema y recitarlo como un papagayo y aprobaría. Yo sólo había estudiado 20 temas, porque preferí prepararme unos pocos en profundidad (innovadores, coherentes, completos) antes que muchos y mal. Tenía un 82% de probabilidades de que saliese uno de esos temas.
Pues ese día sacaron las bolas… y no era ninguno de los que había estudiado. Se me cayó el alma a los pies, porque vale un 40% del examen y si no desarrollas bien el tema estás frito. Tuve que hacer un acopio tremendo de sangre fría, centrarme, e inventarme sobre la marcha uno de los que nos habían tocado en suerte. Aun así, la cosa me salió bastante bien. Quedó un desarrollo bastante coherente y apañado, por lo menos aprobable.
El siguiente examen es el práctico. Vale sólo un 20% de la nota final pero nos tiramos todo un día, desde las 7 de la mañana que me levanté hasta las siete que llegué a casa, haciendo ejercicios: tres pruebas, dos por la mañana y una por la tarde.
En la primera prueba también me puse blanco en cuanto entregaron el enunciado. Esperábamos un test, pero nos pusieron dos ejercicios de C++ y Java. Lo gracioso de esta parte del examen es que te pueden poner lo que les de la gana en el lenguaje que les de la gana, y claro, ni siquiera te dan un manual: tienes que acordarte de la sintaxis de memoria. Teniendo en cuenta que hoy en día nadie se sabe la sintaxis de memoria, los que mejor nota sacan son los que, por lo que sea, han trabajado recientemente con los lenguajes que caen ese año.
Otra cosa curiosa es que pidieron realizar una aplicación en C++ para almacenar frases y calcular si eran palíndromos, pero pedían ¡que se hiciese ¡con una lista doblemente enlazada!. Que pidan eso es una vergüenza: C++ es un lenguaje orientado a objetos y la lista enlazada es un concepto de los años setenta cuando Wirth escribió el libro de “Estructuras de datos y Algoritmos” (o algo así). Ver ese enunciado me preocupa: me da la impresión de que la comisión de selección no tienen ni puta idea de programación orientada a objetos. Y claro, eso me hace pensar: ¿qué leches le están enseñando a los alumnos en FP? ¿Programar una lista enlazada en C, cuando todos los programas traen librerías o clases por defecto que las implementan? Yo resolví el ejercicio realizando un análisis con UML de lo que pedían y desarrollando los algoritmos principales, si no les gusta que se jodan: tengo cosas mejores que hacer que empezar a aprender lenguajes obsoletos. Prefiero dedicar mi tiempo a aprender Ruby, que claro está, nunca saldrá en un examen de oposición.
El siguiente ejercicio fue de SQL. Trivial, aunque también había que saberse la sintaxis de SQL. Si es que no hay nada más importante que saber la sintaxis… La putada esta vez fue otra, y es que tienes que entregar las hojas en sucio y además las reparten en taquitos grapados que no puedes desgrapar (¿para qué cojones quieren las hojas en sucio? En mi opinión no tendrían que evaluarlas), pero bueno, la cuestión fue que me equivoqué y escribí una hoja en sucio en el taquito de hojas en limpio. Como no se puede desgrapar me tocó escribir el examen de cabo a rabo de nuevo, para que quedase aseado. Terminé con la mano destrozada y justo a tiempo, cuando quedaban dos minutos para entregar.
El tercer examen práctico tuvo varios ejercicios: uno de redes, donde había que poner las tablas de encaminamiento de ciertos routers dada una red. Más o menos fácil. Lo malo es que no creo que el tribunal sea tan inteligente como para saber que para los nodos de tu segmento no te tienes que guardar la IP individual en la tabla de rutas, porque pedían asignar IPs a nodos específicos “si hacía falta”. Yo, obviamente, no lo puse: idem de lo de antes, que se jodan. Después había que resolver un problema de planificación de procesos en los que la única dificultad es que tenías que saber cómo se comportaba el algoritmo a partir de sus siglas (también muy importante, porque donde vas a comparar saber lo que significan unas siglas con saber elegir un algoritmo de planificación correcto para cumplir unos objetivos. Por favor… donde esté memorizar que se quite el saber hacer las cosas). Y por último, un algoritmo de cálculo de rutas de encaminamiento con el que me sentí como en la facultad.
La última prueba fue la exposición oral. También hay que elegir tres bolas, y de las tres, elegir una unidad didáctica a exponer. El corazón de mi programación era el desarrollo orientado a procesos, a datos y a objetos: en total 9 unidades didácticas bien desarrolladas, relevantes, con las que me podía haber lucido. Pues en las bolas salió la última unidad didáctica (muy corta como para exponer) la segunda (idem, además habla de la ingeniería del software y es algo demasiado típico) y una de gestión de proyectos, que fue la que cogí porque era la única más o menos salvable. Lo malo fue que llevaba despierto desde las seis y media de la mañana, me había pasado todo el día en el instituto esperando que me tocase el turno, y cuando entré a la exposición estaba reventado y muy nervioso.
Total, en la exposición perdí el control del tiempo: me pasé de la media hora de exposición de la programación, y la unidad didáctica la expliqué, según creo, demasiado rápido. No puse ninguna actividad de ejemplo, y me dio la impresión de que las cosas de las que les hablaba les sonaban a chino: puntos función, estimación por casos de uso, fases de la gestión de proyectos… Creo que no preguntaron nada del contenido porque les daba miedo quedar mal.
La ronda de preguntas fue muy cutre. Uno de los miembros, alto, delgado, desgarbado y que en los exámenes paseaba entre las mesas con la mirada perdida, insistió en saber cuánto iban a acabar sabiendo de SQL los alumnos. Le dije que lo mínimo para aprender, y el pesao que exactamente qué, que si no iban a dar más SQL… Le dije, más o menos, que en el decreto de título y currículo no pone nada de dar SQL y se si tenía algún problema con eso que le escribiese una carta al ministerio. Lo cierto es que, en mi programación, la unidad didáctica con más horas es la que trataba SQL, y si hubiese estado tranquilo le hubiese contestado bien. La impresión de la que salí de esa prueba es que más vale tratar temas de los que el tribunal sepa algo para que puedan sentirse implicados: si tratas temas demasiado avanzados, se pierden y pasan de ti. No sé, pero me da que el nivel de los profesores de informática debe ser más bien flojillo: saben las cuatro cosas del temario y no se han preocupado por innovar.
Total, que así ha ido la cosa. Este año hay muy pocas plazas así que no creo que cuele. Y la verdad, me estoy planteando si presentarme el año que viene: aunque me costaría mucho menos esfuerzo, me parece un proceso de selección tan aleatorio y humillante que no sé si tengo ganas de dedicarle más tiempo de mi vida. Pero en fin, de aquí a entonces ya veremos.
Lo positivo es que ahora soy libre y puedo empezar a retomar las chorradas y no tan chorradas del día a día, los amigos a los que tengo abandonados, y empezar nuevos proyectos o continuar los que tengo aparcados.
Pues visto así si que da un poco de rabia prepararse para un proceso de selección tan malo. Pero bueno, supongo que es un paso necesario para esta meta que te has propuesto.
Por otro lado, eso de “lenguajes obsoletos” me ha llegado al alma. Supongo que no será por el c++ si no por el c
?
Ahora a disfrutar del verano y a echarse a la mar…
Me refería más al C, pero vamos, el C++ moderno lo que se dice moderno no es que sea
Hola,
Fastidia que te pregunten que implementes una lista doblemente enlazada, pero no veo del todo mal que pregunten eso. Se debe conocer los distintos tipos de estructuras de datos a fondo, para poder elegir la más conveniente en cada caso y poder adaptarlo a tus necesidades.
Por cierto, he leído alguna cosilla del iWeekend Valencia y por más que he investigado no logro saber quién eres
Sé que estabas en desarrollo y creo recordar que los conocí a todos. A los de negocio y marketing no tanto la verdad…
Un saludo¡
PD: tienes algún post sobre los informáticos que me reído bastante a la vez pensando que razón tiene…
Si yo no me quejo de que pregunten sobre las listas doblemente enlazadas, de lo que me quejo es de que me parece un concepto de programación estructurada más que de programación orientada a objetos. Además: lo que hay que saber es cuando utilizar esas estructuras, y eso no lo preguntaban.
Oye pues igual nos vimos en el iweekend y todo