Archivo

Posts Tagged ‘colegios informáticos’

Los estatutos de Colegios de Informática violan la Ley de la Competencia

septiembre 13, 2011 14 comentarios

Los que me leen desde hace tiempo conocen bien mi oposición radical a los colegios profesionales, en particular los de Informática. Escribí bastante y con debates largos y agrios, por lo que podría haber titulado a este apunte con un chulesco “ya os había dicho” (porque lo dije). ¿La razón? Este informe que la Comisión Nacional de la Competencia envió al Consejo General de Colegios Oficiales de Ingenieros Técnicos en Informática.

Informan que la Ley de Defensa de la Competencia prohíbe expresamente:

Leer más…

“La regulación no será efectiva para atacar los problemas de calidad y fiabilidad del software”

noviembre 10, 2008 187 comentarios

El título no son palabras mías, sino de la asociación internacional más prestigiosa de informática, la ACM en el informe que se posicionaba radicalmente en contra de regular la profesión en EEUU (allí se denominan licencias, donde se pasa un examen previo y no se requiere necesariamente titulaciones específicas).

En realidad este apunte es sólo un preámbulo de otro más extenso que estoy preparando desde hace varios días –tengo que terminar de leer un par de libros– para dar contexto a las absolutas burradas que se han dicho últimamente y que han generado la convocatoria a una huelga de informática basado en conspiraciones y FUD que las del 11S o 11M parecen inventadas por niños.

Algunas de esas burradas, que están escritas aquí y aquí (y en el amariller) por el Decano del Colegio Informático de Andalucía (que si fuese un “colegio normal” ya debería haber abierto un expediente [*]) como Desaparece la ingeniería en informática, Nuestros títulos no serán homologables a ninguno al no existir correspondencia con los nuevos títulos, Los títulos actuales no tendrán validez, No podremos trabajar en Europa ya están contestadas en dos artículos de obligada lectura para formarse una opinión más general y en perspectiva ¿Qué pasa con la Ingeniería Informática?Preguntas y Respuestas y la respuesta del Decano de la Facultad de Informática de la UPV (también el de la Universidad de Deusto aclara varias mentiras –aunque reclama regulación–).

Así  que por ahora no contestaré a tales frases que parecen sacadas de la mente calenturienta de algún iluminado –lo dejo para tratarlo en el siguiente, donde comentaré la historia de profesiones y regulaciones–. Sólo reiteraré mi sorpresa infinita que un “profesional”, en representación de un colegio profesional, genere semejante “alarma social” [*] con tantas falsedades y engaños ¿deliberados? –como mezclar y confundir “competencias académicas” con “atribuciones profesionales”– cuyo único objetivo es una presión política al gobierno para que regule la profesión informática para así dar más poder y monopolio a los colegios –a último momento, en el último suspiro posible y al contrario de lo que sucede en Europa y el resto del  mundo “informáticamente desarrollado”–.

Los anónimos alumnos e ingenieros que convocan la huelga que además de insistir en la regulación tampoco se quedan atrás en las manipulaciones o ignorancia del tema que hablan, como la que les lleva a afirmar sin ningún remordimiento:

Por nosotros, porque le pagamos un título al estado, porque en los planes de estudio que hemos cursado

Cuando en realidad es el estado –la sociedad– los que le han financiado entre el 80 y el 85% del coste de su formación profesional en la universidad –a menos que todos vengan de una universidad privada o extranjera–. Esta financiación del estado continuará –igual que para las otras ingenierías– en las nuevas carreras de informática, con másters oficiales incluidos.

Lo que me hace escribir esta apunte es la repetición del mismo patrón de argumento falaz en un comentario que demuestra la poca práctica que tienen los que lo dicen, o la disfunción metacognitiva informática muy grave (de la cuál la universidad que los formó es/somos también culpable) que algunos dan la impresión que creen que por haber hecho algunos programas o prácticas de pocos miles de líneas y conocer un par de metodologías diseño o estándares de documentación (o un ISO 12207 con “meta recomendaciones” del ciclo de vida del software) es suficiente para garantizar a la sociedad mínimos de calidad del software:

En Ingeniería en Informática se estudian técnicas para crear aplicaciones de gran calidad, sostenibles, escalables, teniendo en cuenta los efectos de rendimiento y demás parámetros.

Me voy a limitar a contestarle (por enésima vez) con palabras de la ACM cuando se posicionó en contra de la regulación:

En los EEUU, la regulación [licencia obligatoria] ha sido usada como un medio para proteger al público de las malas prácticas de aquellos que ofrecen servicios públicos directamente tales como médicos, abogados, ingenieros civiles, constructores, cuidadores de día, peluqueros y agrimensores. Varios defensores de la regulación argumentan que ayudaría a promocionar la ingenieria del software como una profesión y que sería un resguardo a la sociedad de los ingenieros incompetentes. Aquellos en contra de la regulación argumentan que no será práctica ni efectiva para lograr esos objetivos. Además, afirman que no existe un cuerpo de conocimiento reconocido y generalmente aceptado en el cuál podrían basarse los examinadores  [Nota: en EEUU hay que pasar un examen para obtener la licencia]

La ACM se opone a la regulación [licencia en el original] de la ingeniería del software porque la ACM considera que es prematura y no será efectiva para atacar los problemas de calidad y fiabilidad del software.

En el caso de la ingeniería del software, la regulación [licencia en el original] sería interpretado como una afirmación autoritativa de que el ingeniero sería capaz de producir sistemas de software de predictibilidad, confiabilidad y usabilidad consistente. El Consejo de la ACM concluyó que nuestro estado del conocimiento y práctica es demasiado inmadura para brindar tales seguridades.

[...]

¿Se opone la ACM a la regulación? (licencia en el original)

. La ACM se opone a la regulación de la ingeniería del software porque la ACM considera que no será efectiva para ofrecer la seguridad de que los ingenieros de software son capaces de producir sistemas de software predecibles, confiables y usables. Cuando el cuerpo de conocimiento madure y tengamos experiencia probada en la certificación de las habilidades de los ingenieros de software, la ACM podría reconsiderar su posición.

¿Está la ACM en contra que la ingeniería del software sea considerada una profesión?

No. La ACM está profundamente comprometida a la profesionalización de todas las partes del campo de las tecnologías de la información, no sólo la ingeniería del software. Un campo no necesita regulación para ser una profesión.

¿Según la ACM hay diferencias entre regulación y certificación?

Sí. Certificación es una afirmación de alguna autoridad reconocida que una persona es competente en un área. Regulación es el permiso de una jurisdicción [a través de los colegios profesionales en el caso español, salvo la "certificación" del título universitario] para que alguien practique su profesión en esa localidad. A menudo el permiso se basa en certificaciones previas de sociedad profesionales [no es el caso general en España]. Pero un certificado no es una licencia, y una licencia no implica competencia sin las certificaciones apropiadas.

Nota: en las “regulaciones” de carreras técnicas en  EEUU en no se requiere tener una carrera determinada, sino poseer una certificación que se obtiene normalmente vía un examen.

Esto fue sólo una respuesta rápida, en poco tiempo contaré un poco más extendido la historia de las profesiones en el edad media y las modernas. Por cierto, las historias que contaré me hacen recordar a algo que leí en el Diario de Mallorca acerca de los discursos políticos de Obama y los de Zapatero y Rajoy. Decía algo así como:

Es como pretender comparar la poesía de Walt Whitman con las discusiones de Mortadelo y Filemón.

Algo así está pasando con el tema de las “competencias”, “regulación” y la huelga. Un esperpéntico episodio de Mortadelo y Filemón, donde brilla por su ausencia el profesionalismo, racionalidad y honestidad intelectual de los que ostentan cargos de colegios profesionales como así también la desinformación y falta del mínimo escepticismo necesario de todos los que secundan esta “movida” (que posiblemente también le estén haciendo el juego a algunos diputados del PP en una campaña contra la ministra aprovechando este tiempo de cambios por Bolonia).

Así, mientras se secundan los FUDs se olvidan de discutir los problemas que sí son importantes y urgentes: ¿los planes de estudios de las ingenierías informáticas que se están acabando son correctos y adecuados para los años venideros? ¿se han contrastado y enviado enmiendas, sugerencias o quejas a las comisiones? ¿se han contrastado las asignaturas con las de otras universidades españolas y europeas o las recomendaciones de la ACM que son elaborados por los mejores expertos internacionales? (yo sí lo hice) ¿se ajustan al Libro Blanco de la ingeniería informática? ¿son correctas las tan mentadas competencias definidas en los planes? Si lo han hecho lo mantienen bien guardado, porque con todo que se está diciendo sobre el tema de la “desaparición de la informática” no ví ningún análisis que indique los más que seguros problemas reales que sí hay que resolver.

De despedida y como adelanto, unas frases de Abraham Flexner:

1915: Profesión [...] involucra un actividad intelectual y de responsabilidad personal; deducen su material directamente de la ciencia y el aprendizaje; poseen técnicas organizadas que pueden ser enseñadas y comunicadas a otros; han evolucionado en un status personal y profesional muy definido; y tienden a convertirse, cada vez más claramente, en órganos para el logro de objetivos sociales mayores.

1929: Las actividades profesionales son tan precisas, tan absorbentes, tan rica en deberes y responsabilidades que tienden a absorber todo el tiempo e interés de sus miembros. Por supuesto no todos los miembros de las profesiones aceptadas están a la altura de lo estándares que acabo de indicar; pero eso son sus fallos personales. No es el fallo de la ley o la medicina si un abogado o un médico es un mercenario.

— — — —

[*] Una muestra en el email que recibí ayer:

Hola Ricardo,
[...]
Tengo un hijo de 19 años, y actualmente estudia 2º de ingeniería informática en la Universidad del País Pasco.
Te imaginarás el motivo de la consulta: la exclusión de informática como carrera en los planes de Bolonia.
Te agradecería que me des tu opinión sobre lo siguiente:
Esa exclusión ¿en qué cambia su futuro profesional?
¿Conviene plantearse la migración a otros estudios (léase telecos), perdiendo hasta dos años?
El chaval quiere dedicarse sobre todo a programación (aunque aún no ha visto todos los aspectos de la carrera), y prefiere continuar con sus estudios de informática, al menos en lo que queda de curso.
Comprenderás nuestra desorientación.
[...]

Luego algunos de los que secundan la huelga o están de acuerdo con este FUD monumental tienen la cara de acusarme de “hacer daño a la profesión” por mis críticas personales –y sólo en mi nombre, sin convocar huelgas, manifestaciones ni presiones a nadie– sobre cómo se llevó el tema de los colegios profesionales (especialmente en Balears donde tenemos al colegio intervenido judicialmente, con el decano, vicedecano y secretario imputados judicialmente) y sus políticas manifiestas de “anti intrusismo” muy en la línea del nepotismo y monopolio excluyente de los antiguos craft-gilds (más sobre el tema en el siguiente apunte).

Paradojas pedagógicas

noviembre 5, 2008 115 comentarios

Todavía tengo en borrador un apunte sobre el tema de la proposición del PP sobre el tema de las regulaciones en informática y su comparación con las de telemática. No sé si lo publicaré, explicar las barbaridades que se dicen y maniqueísmo es casi imposible sin que te respondan con más maniqueismos e insultos.

Indudablemente las competencias que afirman tienen los telecos es una absoluta barbaridad, inexplicable que existan –como me toca de cerca, según los planes de estudios que hay en general salen con muy pocos conocimientos de sistemas operativos, aunque tienen esas competencias (que no atribuciones)– si pretenden que se conviertan en atribuciones (casi imposible). Pero en vez de pedir que se eliminen ya que es un claro ejemplo de chapuza, hasta algunos de los “distinguidos directores y decanos” piden que el error se generalice aún más, incluso con documentos incongruentes, inconsistentes y contradictorios y sin preocuparse de los “intereses sociales” –más que en los corporativos–. Pero en fin, ya lo intentaré acabar algún día.

Pero tengo una anécdota muy reciente.

Se envía al Menéame el artículo Desaparición de la Ingeniería Informática, publicada en el web del colegio informático andaluz. Ya me escandaliza tanto sensacionalismo, amarillismo y maniqueismo por parte de un colegio profesional. Pero lo más interesante es que durante la primera hora y media después de publicarse, y todavía ahora –tres horas después– esto es lo que se puede leer:

cpiia1

Este tipo de problemas es muy frecuente en Internet. A pesar que la administración de servidores web o base de datos no es rocket science –en realidad es muy simple– cada día nos encontramos con sitios caídos por malas configuraciones del software, o porque no están dimensionados para soportar más de unas pocas cientos de conexiones por hora.

No es para escandalizarse, de hecho no lo hacemos. El tema hubiese sido diferente si se cayesen hasta los puentes más sencillos, o se agrietasen las autopistas o carreteras cada vez que hay un atasco. Si esto ocurriese estaríamos escandalizados y seguramente los responsables –empresas, ingenieros, arquitectos– deberían responder por la vía civil y quizás penal.

Pero no, son temas diferentes. Por eso encuentro al timeout como ejemplo anecdótico y pedagógico de diferencias, complejidades que difieren en órdenes de magnitud aunque sea en temas tan simples y conocidos, etc. etc. Lo paradójico es que le ocurra a un colegio de profesional de informática que aseguran que con “profesionales” esto no ocurriría.

En fin, sólo una anécdota, pero así hay miles cada día que a cualquiera con un poco de sentido común daría que pensar sobre la validez de algunos “argumentos”.

Colega, let’s see the code

abril 8, 2008 138 comentarios


Aunque es del 14 de marzo pasado, sólo me dí cuenta ayer cuando lo enviaron a Menéame. Se trata de un apunte de David Santo Orcero: Yo si estoy a favor del Colegio. Aunque por el título parecía una defensa en positivo, me encuentro con lo siguiente:

No suelo leer a Ricardo Galli; no es santo de mi devoción, y lo que escribe no me suele parecer especialmente interesante. Especialmente porque a veces le dan ataques en contra de sus diversas fijaciones…

… lo que no termino de entender de Ricardo es otra de sus pulsiones: la de repetir incesantemente lo poco que aprendió en la carrera de informática… Tengo que reconocer que desconozco el sistema educativo argentino; … Como ya dice uno de los comentarios de la noticia, no termino de entender como consiguió la homologación,… Lo bueno de esta entrada es que gracias a ella puedo entender el porqué de la opinión de Ricardo respecto a los estudios de informática y al colegio. …hasta entiendo que considere que el Ingeniero en Informática sabe menos de informática que el físico -como se desprende de esta entrada de su blog-.

Mi historia personal es bien distinta a la de Ricardo. A diferencia de él, todo lo que comenta en su blog yo sí lo aprendí en la carrera.

La verdad es que estoy muy cansado de leer a gente como Ricardo echando mierda sobre el tejado de la casa de la Ingeniería Informática. Estoy muy cansado de leer y escuchar a presuntos popes y gurús diciendo que, si quieres saber de informática, hazte teleco, físico o biólogo… Porque antes entrará Chikilicuatre que un Ingeniero en Informática en la Comisión Interministerial de la Sociedad de la Información y de las Nuevas Tecnologías en España. Y siempre habrá un Ricardo que dirá que aprendió más informática afinándole la guitarra a Chikilicuatre que en cinco años de Ingeniería Informática.

Y, Ricardo; no sabes lo que siento que no hayas podido aprender informática en tu universidad cursando estudios de informática, y hayas tenido que ir a aprenderlo a un laboratorio de física. Yo tuve la suerte de aprenderlo estudiando Ingeniería Informática en Málaga.

Me dejó pasmado, sin palabras (luego le contesté con comentarios, quedaban como moderados todos, el último que le dejé no lo aprobó, así que abandoné la idea de debatir allí).

Más que una defensa de la necesidad de colegios informáticos es casi un apunte dedicado a desacreditarme, poner en duda mis conocimientos y tratarme de un “ingeniero Chikiluatre”, todo por un inocente apunte donde contaba una anécdota personal (de hace casi 20 años) y en parte explicar el porqué siento un especial respeto profesional por otros profesionales no informáticos, y lo bien que me vino hacer mi PFC en un centro de investigación de tanto prestigio, fue le mejor época de mi vida, aunque no tenía ni para comprarme tabaco.

No me interesa repetir las razones de porqué estoy en contra de los colegios informáticos, creo que poco de valor puedo añadir a lo ya comentado en Monopolios legales a cambio de nada, Los falaces argumentos de los colegios oficiales, Respuesta –y última– a ingenieros de primera y que poco avanzaremos en el debate, se ha convertido casi en un “ir a matar a Galli por cualquier opinión suya sobre los colegios”.

No será eso el tema fundamental, sino valorar y responder lo más objetivamente posible a las acusaciones tan graves que me hace este colega, ingeniero informático y profesor de universidad.

Uno de los puntos fundamentales del apunte que generó esta reflexión es que afirmé que aprendí varios temas importantes durante el desarrollo de mi PFC (en 1990). Parece que la “confesión” de que hace 18 años no conocía algunos lenguajes fue el detonante hasta para acusarme de “Chikiluatre” o de que no debería tener mi título de ingeniero homologado [*].

[*] Entre otras cosas me lo homologaron porque según la ley hay que tener en cuenta los estudios en el extranjero –me pidieron hasta el último programa de asignatura y el historial de todas mis notas– más el curriculum académico científico. Por aquellos años yo ya había acabado dos años de cursos de doctorado, presentada mi memoría de investigación de doctorado y tenía unas pocas decenas de publicaciones científicas.

Parece no haber quedado claro que yo diferencio claramente el haber visto un tema en la carrera, a saber sobre ese tema. Insisto en esa diferencia.

Afortunadamente en este caso se puede hacer un análisis más objetivo sobre si es verdad que el haber visto asegura saberlo. El mismo lo dice su biografía:

David Santo Orcero también ha sido un conocido desarrollador de software libre, en proyectos como el sistema de clusters libre OpenMosix, o el visor libre de imágenes médicas radiológicas kradview, y de abundante documentación libre. Podemos encontrar aquí algunas de sus contribuciones al software libre.

en sus contribuciones al software libre:

Show me the code

Cojamos un tema sencillo que pueda ser analizado objetivamente y que no necesite mucha explicación para un informático.

En mi apunte comentaba que aprendí C y C++ cuando estaba haciendo mi PFC. Este colega asegura que ese tema lo aprendió en la universidad. Veamos si es verdad, su código me servirá para analizarlo objetivamente.

Seguramente por las contribuciones anteriores, un amigo de él envío al menéame enlaces al CVS del proyecto OpenMosix. Desafortunadamente, rápidamente quedó más o menos claro cuáles eran las “contribuciones sustanciales”, bastante poco en realidad.

Curiosamente, a los pocos minutos, un chaval de 20 años, sin estudios formales de informática –pero no erraría por mucho si afirmase que de las personas que conozco es el que más domina el tema de seguridad–, que sería considerado un “intruso” y que no podría pertenecer a un colegio de informática, le descubre un bug de seguridad grave a las librerías del OpenMosix.

Tampoco es para escandalizarse.

Como ya comenté en un apunte, el tema de seguridad requiere de una mentalidad especial. Aunque varios “ingenieros” me criticaron –algunos sin siquiera tener idea de quién es Bruce Schneier, es bestial–, este es un pequeño detalle más que los títulos de ingenieros no garantizan que no cometamos o dejemos pasar esos errores, ni siquiera los importantes de seguridad.

De todas formas la intención es analizar cómo programa una persona. Debido a que hay pocas contribuciones de código real, fue difícil encontrar código para analizar, pero encontré algo “sustancial”, el cambio de unas pocas líneas de código “efectivo”.

El código original era el siguiente:

code1

Después del cambio enviado por David Santo Ocero quedó de la siguiente forma:

Me sorprendió mucho la función modificada. A pesar de ser tan breve tiene varios problemas básicos de programación:

  • No respeta el estilo sangrado de la mayoría del código, incluso el sangrado que hace del else no aparece en ningún estilo, ni siquiera una vez en libros de C.
  • Usa los “;” de separador después de otro separador (el “}”). Es incorrecto, el “}” ya es un separador –de bloques–, “;” es separadora de intrucciones. Lo que hace en este caso es introducir instrucciones nulas.
  • Pone como dos “if” independientes, y por lo tanto en dos expresiones lógicas separadas cuando en realidad es una sola con el operador “AND” (“&&”).

Así la versión correcta y en buen estilo sería como la siguiente:

De todas formas tampoco es tan importante tener un error de esos de vez en cuando, todos tenemos nuestros días tontos.

Así que me puse a mirar el código fuente de su otro programa liberado. Es una aplicación KDE, parece que generada con el kdevelop, en C++, aunque la mayoría del código que desarrolló es en C estándar e incluso mezcla funciones de entrada salida del ANSI C con las del iostream del C++ (que no debe hacerse, por eso luego tiene que recurrir a tantos flush() para vaciar los buffers internos del printf(), aunque la solución hubiese sido la función setlinebuf() llamada una sola vez al principio del programa).

En el codigo del kradview se pueden ver los mismos problemas de sangrados erróneos:

Como puede verse el código es casi ilegible, incluso con bucles for como el siguiente:

Lo correcto es un for (int i = 0; i < …; i++), el C++ permite definir y asignar variables locales en un for. Pero en la figura anterior pueden verse dos incrementos consecutivos al puntero paux.

Eso ya denota un problema más grave, desconocimiento del funcionamiento de la aritmética de punteros en C o C++. Las dos instrucciones se reducen a una sola: paux += 2; Todo ventajas: es la forma correcta, más clara de interpretar, y más eficiente. El C en su máximo esplendor.

Este error de principiante me llamó mucho la atención y busqué en el código algo similar, lo encontré, y todavía más grave:

El código de arriba inicializa tres enteros a partir de un buffer (es un char * que se recibe como argumento en la función), para leer los tres de forma secuencial usa un puntero temporal bufferT. Aunque esto yo lo hubiese hecho con una estructura de tres enteros, asumamos que es válido. Sin embargo tiene problemas graves de algoritmia básica que se estudia en programación de primero:

  • La variable entera count acaba siempre con valor 8, por lo que no tiene sentido hacer el incremento ocho veces. Basta con inicializarla a 8, aunque es una constante y podría haber usado directamente el literal 8, o un macro si interesa darle “significado” al literal.
  • Entre cada lectura incrementa el puntero dos o cuatro veces consecutivas, cuando podría incrementarse de una vez –gracias a la aritmética de punteros como en el caso anterior–.
  • Menos importante, pero también vuelve a denotar una falta de dominio de la evaluación de expresiones lógicas. Los paréntesis que rodean al operador de desigualdad son redundantes y sin efecto alguno.

Así el código de la forma correcta, y más eficiente, queda de la siguiente forma:

Como puede verse es totalmente equivalente, pero más legible, breve y eficiente. Incluso puede mejorarse, el siguiente trozo de código es equivalente, aún más eficiente, breve y de fácil lectura a ojos entrenados:

¿Y?

He analizado unos pequeños trozos de código de una persona que es ingeniero en informática, profesor de universidad y que además afirma que esos temas los aprendió durante la carrera, a diferencia de mi caso, que aprendí casi todo lo que conté durante el desarrollo de mi PFC, o quizás aún más tarde. Los segmentos analizados tienen graves problemas de programación básica general, y otras específicas de programación en esos dos lenguajes.

Si el código analizado hubiese sido de una “intruso”, ¿qué hubiese dicho el ingeniero David Santo Ocero?

¿Cómo hubiese sido mi respuesta si tuviese la misma “ética deontológica” de este colega o de varios “comentaristas”? Seguramente hubiese salido algo así:

Vaya mierda de ingeniero, no tiene idea siquiera de programar cosas básicas, comete errores que no cometería ni un estudiante de primero. No sé a qué universidad ha ido, vaya universidad, deberían cerrarla, ¿cómo es que ha obtenido el título? ¿cómo le dejan ser profesor de universidad? deberían echarlo ahora mismo por estar dando el peor ejemplo que puede dar un ingeniero… Estos Chikilicuatres son los que tanto daño están haciendo a la profesión.

Pero no, esa respuesta sería éticamente errónea, simplista, generalista y falaz (valga la redundancia). No llega ni al mínimo nivel que debe haber en un debate entre “profesionales”.

Como siempre comento, la universidad nos da los conocimientos básicos y el entrenamiento básico que necesitamos –sino la carrera sería interminable–. Lo que aprendamos individualmente depende mucho del interés de cada uno, y no todos podemos ser buenos en todos los temas informáticos… no sé, aunque uno pueda ser un mal programador de C o C++ quizás sea muy bueno es diseño de algoritmos distribuidos, o en modelado de elementos finitos, o en biotecnología. Por estas mismas razones es que es muy difícil definir todavía “competencias”, hacen falta especializaciones y algún que otro “cisma” en las carreras informáticas (tal como la tuvieron los ingenieros eléctricos de los físicos a principios del siglo XX).

Además, cuando salimos de la universidad estamos obligados a seguir el ritmo del avance de la ciencia y la tecnología. Hoy mis alumnos están aprendiendo Python y programación web con modelos MVC o MTV, eso era impensable hace pocos años, porque ni siquiera existía el web (menos mal que nadie todavía me incineró por no saber lo que era HTTP cuando acabé mi carrera, pero todo llegará :-) ).

Pero tampoco es tan poco.

Hay errores demasiados fundamentales para cualquier programador. En este caso además se trata de un ingeniero informático, profesor universitario de informática, y que además afirmó:

Estoy a favor de unos estudios duros, como los que hice en su día, que formen gente muy cualificada.


El código que heredamos de MOSIX era muy malo; y lo dije en público. Amnon Barak es uno de los científicos más brillantes que he conocido, pero sus programadores eran discutibles.

No sé los demás, pero dada la evidencia me parecen muy contradictorias estas frases, o cínicas como mínimo. Parece obvio que tampoco es mejor programador de los que acusa de “discutibles”, y que a pesar que lo afirma, obviamente no aprendió C o C++ durante su carrera en la Universidad de Málaga. De hecho su código demuestra que todavía no los sabe, o que se olvidó.

Independiente de lo anterior, no entiendo que para defender las ideas favorables a los colegios informáticos se dediquen casi exclusivamente a un ataque ad-hominem, llamándome un Chikilicuatre sin que venga absolutamente a cuento, en mi vida le critiqué [*] y no veo las razones para que le haya subido tanto la bilis. Quizás sea porque también soy un talibán… y si Richard Stallman se merece todo su desprecio y ataques, ¿por qué habría de salvarme yo? ;-)

[*] Incluso fui a una de sus conferencias, creo que en Elche y si no me equivoco otra en Málaga, porque también me dedicaba a jugar con el OpenMosix cuando era novedad para mí — en realidad lo monté porque el director del Dept. me pidió que lo ponga en marcha para un profesor cubano que estaba en la UIB y lo necesitaba para probar sus programas–).

“Moralejas”

  • Como dije muchas veces, se echa en falta en la carrera al menos una asignatura obligatoria con temas básicos de ética, deontología y lógica filosófica.
  • Se confirma una vez la estudiada disfunción metacognitica que sufrimos los informáticos (y todos los profesionales de ciencias o técnicas que avanzan y cambian tan rápido).
  • Por el punto anterior, es fácil criticar a los demás –sin evidencias o enlaces– pero no darse cuenta de los “agujeros de conocimiento propios”, ni siquiera de los numerosos errores graves que cometemos –me incluyo– en nuestros programas.
  • Dada la complejidad inherente de los programas (muchos más elementos independientes y combinaciones posibles que los sistemas físicos) es muy difícil no cometer errores. Es todavía difícil detectarlos, ya sea manualmente o con herramientas automatizadas.
  • Programar es fácil, programar bien es muy difícil [Richard Stallman dixit]. La única forma de programar bien es mirando mucho código de otros, reconociendo y aprendiendo de sus errores.
  • Show me the code debería ser la regla fundamental en cualquier discusión, es la única forma de analizar lo menos subjetivamente posible la capacidad, conocimientos o méritos de un informático (code también pueden ser artículos científicos, proyectos exitosos, o estudios publicados de cómo se ha gestionado un proyecto grande). Creo que se demostró una vez más que hablar y criticar es fácil, lo difícil es saber hacerlo tan bien como decimos saber hacerlo.

Nota: Perdón por ser repetitivo, todos los puntos anteriores los suelo comentar en mi blog — que una vez más hace falta repetir–, de hecho son parte importante del “núcleo” de mis “genes profesionales” (aunque no ha sido siempre así, quizás hace diez años hubiese estado a favor de colegios). Quizás por estas ideas algunos piensan que estoy “echando mierda a la profesión”, pero la intención es la contraria, intentar reflexionar sobre los problemas de fondo, que no creo se solucionen con colegios, mucho menos demonizando a los que opinan distinto. Por lo demás, soy un feliz apasionado de mi profesión, tengo la suerte de poder dedicarme y divertirme full time, y encima vivo de eso. Me considero un privilegiado, vivir de mi hobby.

Bonus: defendiendo a los informáticos a pesar del colegio oficial de informática

Mientras escribía este apunte me acordé de un caso que hice de perito de parte –lo ganamos– en un juicio contra Bitel por temas laborales.

Una de las cosas que me acusan es de “no interesarme por mejorar la situación laboral de los informáticos”, cuando en realidad soy el primero en hacerlo cada vez que pueda, incluso aunque tenga que ganarme algunos “enemigos”.

El contexto.

Un compañero mío de la universidad –Damià, incluso éramos amigos, fue uno de los primeros que conocí cuando vine a Mallorca, es muy majo y salía a pasear en uno de sus múltiples veleros :-)– fue perito de parte del PP en el caso del “espionaje electrónico de Bitel/Jaume Matas”. Cuando el PP ganó las elecciones de Balears lo nombran a él como director de la empresa Bitel. Damià fue el impulsor del colegio de informática de Balears, la ley se aprobó bajo el gobierno de Matas y cuando él ya era director de Bitel –creo que se notan las relaciones políticas–. En cuanto se crea el colegio Damià es elegido Decano.

En el 2006 se pone en contacto conmigo un abogado especialista en temas laborales. Empleados informáticos de Bitel (FP2 e ingenieros técnicos en su mayoría) afirman que la categoría que tienen en Bitel no corresponde a sus tareas de acuerdo al convenio de trabajo, estaban contratados y cobrando como auxiliares administrativos cuando le correspondía como mínimo la categoría de operador de ordenadores.

Analizo lo que me cuentan, los manuales de procedimiento que les pedí, el convenio colectivo de trabajo y les informo que opino lo mismo, y que no tenía problemas en preparales un informe pericial y declarar en el juicio –a sabiendas que me metía en contra de la administración, de un colega y que además era el Decano del Colegio… el mismo que decía defender los derechos de los informáticos–.

Este es el informe pericial que presenté (sólo oculté el nombre del abogado y los últimos dígitos de mi DNI). En él se puede evaluar qué pienso y cómo actúo en la defensa de los derechos de los trabajadores informáticos. A pesar que en el juicio oral me tuve que ver sentado en el otro lado de la mesa –defendiendo los intereses de la empresa en contra de empleados informáticos– al Decano del Colegio. Y además con dos peritos “colegiados” que se presentaron sorpresivamente y que fueron capaces defender cosas como las relatadas antes.

Por eso no creo en que el Colegio vaya a defender los intereses y la valoración de los informáticos.

En primer lugar porque ese tema es un tema sindical y de convenios colectivos, en segundo lugar porque los colegios deberían velar por el interés social y no por el corporativo. En último lugar porque he vivido esta contradicción en vivo y en directo, delante de un juez y unos abogados de la administración bastantes agresivos. De hecho la primera pregunta que me hicieron fue “¿Está usted colegiado?” [*]

Sólo respondí “no”, aunque debería haber dicho “no, afortunadamente para los informáticos demandantes, no” ;-)

[*] En se momento podía ser perito por ser profesor de universidad, me han dicho que ahora es obligatorio. Así que no creo que vuelva a hacer algo así durante un largo período de tiempo.

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 481 seguidores