Dies Irae

A ver si no sabemos programar…

Traduzco libremente, hasta donde llega mi inglés, este comentario de la bitácora Coding Horror sobre el problema que parece ser tienen en Estados Unidos las empresas para contratar a programadores. Se han respetado los enlaces originales.

[...] ¿Porque no saben programar… los programadores?
Me quedé de piedra cuando leí esta observación de Reginald Braithwaite:

Al igual que yo, el autor se encuentra con que 199 de entre 200 aspirantes a cada puesto de programador no saben escribir nada de código. Repito: no saben escribir ninguna clase de código.

El autor al que se refiere es Imran, que está rechazando a montañas de programadores que no saben escribir un simple programa.

Después de unas cuantas pruebas y errores descubrí que a las personas que se pelean con el código no sólo les pasa con grandes problemas, o con problemas medios (como la implementación de una lista enlazada). También se pelean con problemas minúsculos.
Por eso pense en desarrollar un método para identificar a este tipo de desarrolladores al que llamé “FizzBuzz Questions” inspirado en un un juego infantil de los niños del Reino Unido. Un ejemplo de test Fizz-Buzz sería el siguiente:

Escribe un programa que imprima los números del 1 al 100. Para múltiplos de 3 imprime “Fizz” en lugar del número y para múltiplos de 5 imprime “Buzz”. Para números que sean múltiplos de 3 y 5 a la vez imprime “FizzBuzz”

La mayoría de programadores deben ser capaces de escribir sobre papel un programa que resuelva el ejercicio en pocos minutos. ¿Quieren saber algo alarmante? La mayoría de graduados en informática no pueden. También he visto a auto-proclamados programadores seniors tardar entre 10 y 15 minutos para escribir la solución.

Dan Kegel tiene experiencias similares al emplear a programadores:

Un sorprendentemente alto número de aspirantes, incluso con masters en ciencias de la computación, fallan durante la entrevista al intentar resolver tareas básicas de programación. Por ejemplo, personalmente entrevisté a graduados que no sabían responder a preguntas del estilo “Escribe un bucle que cuente de 1 a 10″ o “¿Qué número sigue a F en hexadecimal?” Algo más complejo pero importante, algunos candidatos no sabían usar la recursión para resolver problemas. Eso son puntos básicos, cualquiera que los ignore no tiene mucho que hacer programando.
Hablando como ingeniero que tiene que entrevistar a los aspirantes, puedo asegurar que estoy aburrido de hablar con candidatos que no sabrían programar la forma de abrir una bolsa de papel. Si tu sabes escribir un bucle que itera de 1 a 10 en cualquier lenguaje que conozcas, puedes hacer cálculos simples sin calculadora y sabes usar la recursión para resolver problemas, entonces estas fuera del paquete.

Entre Reginald, Dan e Imran empiezo a estar algo preocupado. [...] Todos tenemos que empezar en algún lugar. Pero me siento alarmado y sorprendido de que cualquier auto-nombrado programador se presente a un trabajo sin ser capaz de escribir un simple programa. Eso representa una bofetada para todos los que escriben software para vivir.
La línea divisoria entre los que saben programar y los que no es bien conocida. Yo creía que cualquiera que buscara trabajo de programador debía ser programador, aunque parece que estaba equivocado. Parece ser que se necesitan métodos del estilo de FizzBuzz para impedir que los candidatos hagan perder el tiempo a los entrevistadores.
Quizás pienses que el test FizzBuzz es muy facil – y lo es, intencionadamente -. Un comentario en el post de Imran comenta su eficacia:

Se de entrevistadores que rechazan el test FizzBuzz por su facilidad. En mi experiencia he comprobado asombrado como algunos candidatos son incapaces de resolver las preguntas mas simples.

Es de locos entrevistar a un candidato sin echar antes un vistazo a su código. En Vertigo requerimos un ejemplo antes de pasar a la entrevista telefónica. En nuestra página también solicitamos un pequeño ejercicio. Nada complicado, sólo un problema básico que puede tardarse una hora en resolver. Aunque hemos caído en un par de errores la estrategia ha funcionado bastante bien. Esto nos permite centrarnos en el desarrollo de software actual sin recurrir a aburridos métodos como el mencionado.
Es una verguenza que haya que hacer mucha preselección para asegurarse que estar entrevistando a un programador que sabe programar. Es para reirse por no llorar. No soy un fan de las certificaciones, pero no me sorprendería que se hiciera necesario crear la profesión de ingeniero de software. [...]

El 20/02/2007 saltó a la prensa la noticia de un programa para gestionar las bibliotecas municipales de Madrid, Estela, que después de tres años de desarrollo, ocho meses de rodaje y un presupuesto de 300.000€ ha debido retirarse por su mal funcionamiento.
¿Nos pasa aquí lo mismo?

28 Febrero 2007 Publicado por Ubertino | Informática | | 2 comentarios

Enganchados al RSS

Hace muchos años que utilizo la sindicación de contenidos (RSS) para recibir las noticias que me interesan. Los veteranos recordarán uno de los primeros clientes, en la época de los 386 si no recuerdo mal: el PointCast, tristemente desaparecido. A mi me encantaba. Se instalaba como fondo dinámico de escritorio (en aquellos tiempos aún no existía el Dynamic Desktop) y permitía acceder a mapas meteorológicos, noticias internacionales, información de bolsa… tenía un aspecto estupendo. Fue durante el boom de la tecnología push y pronto apareció el Windows 98 con su Dynamic Desktop, que al final consiguieron que funcionase. A pesar de ser un buen producto PointCast desapareció. Se reconvirtieron en un cliente RSS más al uso, instalándose como barra de búsqueda en el navegador, con opciones añadidas como gestionar pagos en la red, gestionar datos en formularios… pero cerraron. A mi entender fallaron al modificar su diseño, ese era su punto fuerte. Con el tiempo he buscado algo parecido pero nunca lo encontré.
Lo que le pido principalmente a mi lector RSS es una cierta espectacularidad visual. Que me muestre las cabeceras de forma atractiva y si me interesan accederé a la páginas de contenidos con el navegador. He probado bastantes, lectores de escritorio, tickets, via web, en flash… pero ninguno satisfacía mis exigencias. Hasta que encontré KlipFolio y MappedUp.
KlipFolio es un lector de escritorio totalmente configurable que puede ampliarse con diversos gadgets (los Klips) para acceder a diferentes servicios: lectura del correo, avisos meteorológicos, noticias… Es agradable de ver y ocupa pocos recursos. Lo considero muy recomendable.
MappedUp es otro lector via web. Consiste en un mapamundi donde aparecen las últimas noticias sobre el país de origen en forma de balones de texto. Lo probé instalándolo como fondo de escritorio y queda espectacular, aunque no es configurable. Además, para agregar tus fuentes debes registrarte en la web del creador. Si tienes una máquina potente puede quedar de lujo.
Ambos lectores, para mi sorpresa, nunca aparecen en las páginas dedicadas a la sindicación de contenidos, por eso decidí escribir esta anotación sobre ellos, y como homenaje al viejo PointCast, insuperable aún hoy en día

27 Febrero 2007 Publicado por Ubertino | Sindicación | | Aún no hay comentarios

Si haces una guerra móntatelo bien

Hacer una guerra no es moco de pavo. Hay muchos detalles a tener en cuenta: estrategia, logística, comunicaciones, control de la información, gestión del presupuesto, espionaje, fosas comunes… Si eres megalómano o simplemente te aburres y tienes el día tonto aquí tienes una empresa donde organizan una guerra a tu medida por un módico (?) precio. Termina de una vez con el aburrimiento y la rutina, ni botellón ni drogas ni carreras suicidas, nada como una guerra para sentir el placer de vivir. Strategic Communication Laboratories. Pruébalo. Te gustará.

27 Febrero 2007 Publicado por Ubertino | Curiosidades, Humor | | 1 comentario

Ya se puede cojer antes al mentiroso que al cojo

Ayer vi un documental del National Geographic en el que hablaban de un dispositivo para obtener huellas del cerebro que, aplicado a una investigación policial, permite deducir si un sujeto tiene relación con el hecho que se está investigando, es decir, si el sujeto estuvo en el lugar del crimen. Según el creador, el Dr Lawrence A. Farwell, puede obtenerse una fiabilidad cercana al 100%.
Busqué mas información sobre el tema y acudí al artículo del NG sobre el tema. Técnicamente el aparato consiste en un lector de ondas cerebrales conectado a un ordenador que registra un tipo de onda en concreto, denominada P300, la cual se activa cuando una persona ve un objeto familiar. Para realizar el test se somete al sujeto a la visualización de imágenes (en el documental eran palabra y frases) relacionadas con el hecho investigado mezcladas con otras irrelevantes. Según el documental se visualiza una batería de entre 2000 y 3000 imágenes. Cada vez que el sujeto reconoce una imagen su cerebro emite una onda P300 que es registrada, si el gráfico resultante se aproxima al momento de visualización de las imágenes clave se considera que dicho sujeto tuvo una experiencia concreta con lo que dicha imagen representa: …si se muestra el arma del crimen, y se activa la onda P300, entonces dicha persona tuvo algo que ver con dicha arma. Para que este método sea aceptado para incriminar al sujeto hay que demostrar que no vio antes el arma de forma inocente y legal, como en algún reportaje periodístico o simplemente por ser aficionado al tiro.
Según la columnista, así como el polígrafo no es aceptado por los jueces este dispositivo si, y lo ilustra con algunos casos. Además parece ser que los servicios secretos estadounidenses están también interesados en él.
A mi modo de ver es convincente. El disparo de la onda P300 no puede controlarse a voluntad y el método es simple. En el documental pueden verse ejemplo de gráficos, son sólo tres ondas, muy lejos de la complejidad aparente de un polígrafo. Sería una buena ayuda en casos de crímenes donde las pruebas no existen o son dudosas aunque seguramente también puede usarse para fines menos confesables, sino los servicios secretos no estarían interesados en ello.
Más información:
Brain Fingerprinting Laboratories
Bitácora de [_Sergio_]
Enlace al documental vía Emule

27 Febrero 2007 Publicado por Ubertino | Ciencia, Sociedad | | Aún no hay comentarios

La quinta parte de mi no es mía

Interesante artículo de Michael Crichton que leí en El Mundo, aunque lo enlazo a esta bitácora donde hay una transcripción. Resulta que la quinta parte de nuestros genes están patentados, son propiedad de empresas o universidades que esperan, y lo hacen, sacar beneficios de ello. El coste de un medicamento puede incrementarse hasta un 300%, siempre que donde yo viva se permita la venta del producto, el dueño de la patente puede disponer a voluntad de mi gen y sus mutaciones sin pedirme permiso, y para redondear, se limita la investigación por miedo o recursos económicos insuficientes que si permitirían afrontarla sin el pago de derechos. Una de las pesadillas emblemáticas del cyberpunk echa realidad.

Cómo muestra un botón: este es un estadounidense afectado de hepatitis C que no puede medicarse debido a las patentes. Si quieres investigar más esta es la página del buscador de la Oficina de Patentes de los Estados Unidos.

25 Febrero 2007 Publicado por Ubertino | Ciencia, Sociedad | | Aún no hay comentarios