Programar sin Google

Recuerdo una conversación no muy lejana, entre un compañero, Jefe de Proyecto con cicatrices ganadas en muchos años de pelea informática, y un desarrollador que ya no está en la empresa.

A mi compañero le cambiaba la cara del verde al morado, así que agucé el oido.

- "Es que he buscado en google y no encuentro cómo hacerlo".
- "Pues invéntatelo, eres Ingeniero Informático, ¿no?".
- "Bueno seguiré buscando".

- "¿Cual es el problema?". Le pregunté a mi compañero cuando se marchó el desarrollador.

El problema en cuestión era "tan complejo" como un simple cast de hexadecimal a binario, con la pequeña complicación de que se trataba de cadenas muy largas y las conversiones automáticas de tipo habituales fallaban por overflow. En resumen, que había que hacer el cast a mano.

- "¡Lleva dos días con esto!"

Al día siguiente, volvió a aparecer por el despacho el susodicho Ingeniero, que contaba en su CV con varios certificados oficiales de Ingeniero Desarrollador de esos de a 1.000 € el certificado.

- "¡No hay manera! Da overflow. He buscado en codeplanet, etc, etc. y no encuentro nada igual".
- "Mira, mañana esto tiene que estar solucionado", le dijo el Jefe de Proyecto.

Al día siguiente la escena se repitió, con la diferencia de que mi compañero le enseñó un sencillo algoritmo hecho a mano en un rato para hacer manualmente la conversión.

El Ingeniero abría los ojos como platos. "¿Has hecho el cast a mano?"

Esta escena es una buena prueba del nivel al que podemos llegar si todo lo confiamos a San Google. Ha quedado muy atrás la época en la que programábamos sin más ayuda que un libro de referencia (bendito Kernighan & Ritchie), y el prueba y error, porque Internet aún no existía. Sin embargo, esa etapa nos obligó a buscarnos la vida, a encontrar soluciones desesperadas, y a no olvidar nada, una vez vista la luz.

Propongo que todo programador pase por una etapa (corta, eso sí) de programación sin Google, para cultivar la extinta ciencia de pensar un problema en profundidad, y encontrar un camino propio de salida. No hace falta meditar tres años, tres meses y tres días como los lamas, pero esta experiencia debería ser obligatoria.

Quizás sea una buena idea para formar becarios, y la ponga en práctica ...

Si señor, cuantas veces

Si señor, cuantas veces habremos comentado esto en el curro. Yo todavía lo pienso y se me pone la piel de gallina. Hoy en día con un mínimo de conocimientos de programación somos capaces de desarrollar en múltiples lenguajes simplemente copy & paste de los ejemplos de Google, y a la larga eso se nota en los desarrollos, y yo no soy la excepción, así que me aplico la receta ahora que lo has propuesto y ya os contaré los resultados. Aunque seguro que mejoro.

Saludos, Micho.

Déjate de blanduras con los

Déjate de blanduras con los chavales: hay que pasar por hacer código máquina en hexadecimal de coco, escribirse algún (macro) ensamblador, una copieja de Pascal o C, una máquina virtual orientada al objeto, y albergarla en un contenedor para servidor de aplicaciones, en un kernel ligero que boote desde zero. Entonces, puede que sepan programar, y por tanto utilizar componentes y librerías. Nosotros lo hicimos en menos de 5 años, ¿ por qué ellos nó?

ACV MDDsl

ACV MDDsl

Imagen de mmontesinos

Tienes razón, pero no le

Tienes razón, pero no le pidas peras al olmo, Toni ;-)

(Si conoces alguno así recomiéndamelo)

Miguel Montesinos

Hola Miguel, a mi entender

Hola Miguel,

a mi entender el problema no está en los chavales. Yo creo que es mucho más profundo que eso. Es un problema general del sistema educativo, los chavales no traen ningún tipo de base porque la Universidad es completamente endogámica y cada vez funciona peor. San Google es el mejor invento que puede haber para cualquier buen ingeniero, pues te ahorra mucho tiempo. Ahora bien, la formación de base que nosotros tenemos... particularmente me enseñé a programar con msdos 3.3 y borland c++ y luego el salto fue al gcc de la gnu. Desde luego eran otros tiempos. Ojalá hubiéramos tenido a San Google, pero por aquellos entonces se navegaba con lynx y en modo texto bajo Solaris. En fin, batallitas, yo estimo que es un problema de formación, que no de herramientas, pues lógicamente ahora son mucho mejores.

Saludos.

Estoy seguro que nuestros

Estoy seguro que nuestros antecesores dicen lo mismo de nosotros... Que que patraña es eso de un dvd?, que los machotes programan con tarjetas perforadas, ejecutan una vez al día y no cometen errores al codificar, harto improbable en hechiceros del byte, para no incurrir en el deshonor de esperar hasta mañana para poderlo corregir.

Yo creo que es más cuestión de valores más intangibles, e independientes de las herramientas utilizadas al desarrollar (llamalo san google, herramientas CASE, debuggers o tarjetas perforadas). La mayoría de los que nos/se dedican a esto pueden cubrir el 90% del desarrollo del software basándose en el copy&paste y sin saber muy bien que hacen. El 10% restante pertenecen a la clase de los buscavidas, los que dan soluciones a los "problemas imposibles", los que se cuestionan como están hechas las cosas para ver si se pueden mejorar....

Independientemente del intelecto, que cada uno tenemos el que nos ha tocado, un factor común en ese 10% son las ganas de trabajar, de innovar y disfrutar con el trabajo que estas haciendo. Sin esas inquietudes se está condenado al 90% por muchos títulos que tengas.

Saludos,
Miguel
A 1 mes de tener otro título más

Bua, la discusión es

Bua, la discusión es apasionante...

Lo ocurre es que la falta de medios agudiza el ingenio.

La profusión de los mismos nos confunde tanto (seguramente más), como la carencia.

Doy gracias por ser uno de los pocos que entra en el despacho de cierto querido funcionario y que admiramos esa obra de arte subrealista tejido con hilos de cobre sobre una placa fibra de vidrio troquelada con acido... Y preguntamos, guau, eso que es? una placa de memoria de ferrita?

Y con cierto bien merecido orgullo, nos contestan, "no, una rutina de listado de inventario...2

Eso, es programar. Lo demás... No sabría definirlo.

Cuando una modesta erupción solar borre nuestras ignoradas y subvalorads"ROMS" (y variantes), y tengamos que volver al cartón de las tarjetas perforadas, las cosas volverán a su lugar.

Miguel, estoy totalmente de

Miguel, estoy totalmente de acuerdo contigo.

El intellisense, internet y demás recursos hace que los programadores dejen de ser "ingenieros de programación" y se limiten a copiar lo que está en otros sitios, a veces sin entender que están copiando, que es mucho más grave.

Recuerdo cuando programabamos con editores de texto para pascal, c, cobol, o simplemente VB hasta la versión 4.0, donde lo único de que disponías era de los .hlp que ofrecia el lenguaje o bien la MSDN que teníamos en el CD. Está claro que somos nosotros quienes "fabricamos" esta tecnologia al fin y al cabo y no podemos exigir que no se utilice, pero lo que si que es cierto es que el nivel de los programadores ha descendido brutalmente desde diez años hasta ahora. No me valen los Certificados de a peso ni las carreras donde las prácticas de programación no computan casi nada y todo se relativiza a ciertos conocimientos poco aplicables en la vida real.

Gracias a dios, cuando tengo que hacer alguna entrevista técnica, todavía es muy facil distinguir a los programadores programadores, de los "google programmers", simplemente con 3 minutos observando como se desenvuelven por el entorno de desarrollo.

Saludos, Jaime Castelló.

Tal vez "las nuevas

Tal vez "las nuevas generaciones" hacen copy/Paste por que lo que se les pide y exige es:
a) buscate la vida.
b) buscate la vida, no lies al que sabe que tiene mucho curro.
c) buscate la vida, no lies al que sabe que tiene mucho curro y PRODUCE ...
Produce porque el jefe de proyecto, o comercial de la casa, ha garantizado al cliente que algo que se DEBE hacer en 6 meses, se HACE en 1 y medio.
En esos ratios de "produccion", no se forman a los nuevos trabajadores, no se invierte en enseñar metodologia y buenas practicas.

SebaSj

SebaSj - agree ++

SebaSj - agree ++

Imagen de mmontesinos

Tampoco conviene

Tampoco conviene generalizar.

En Prodevelop tenemos gente con pocos años de experiencia que son auténticos máquinas.

El precio que hay que pagar por la inmediatez de acceso a la información, que tiene muchísimas ventajas pero también algún inconveniente, es precisamente el que comentais.

En cualquier caso el que es bueno, lo es ahora como lo hubiera sido hace dos décadas, o lo sería dentro de otras dos. El problema viene con los mediocres, que siempre los ha habido y siempre los habrá.

Por concluir, los que ya tenemos unos años tenemos tendencia a creer que todo lo pasado fue mejor porque nos curtimos días y días hasta que aprendimos lo que era un "void far interrupt" (me pasó a mí). Lo vivido nos ha dado experiencia, lo cual es un grado, pero eso no nos hace tener siempre razón ni ser mejores. Gente con pocos años de experiencia me da mil vueltas en muchos temas ... gracias a Dios.

Miguel (de nuevo)

Imagen de aromeu

Para los nostálgicos que

Para los nostálgicos que construían sistemas operativos perforando tarjetas os recuerdo que en las facultades se siguen programando Heaps, tablas Hash, Quicksorts, compiladores, etc. en C, con el emacs y compilando con gcc :P. Buscad en Internet a ver si encontráis la práctica de compiladores de un lenguaje que se inventa un profesor de cualquier F.I. de este año resuelta, ya os digo que no.

Dicho esto, mi opinión es que el trabajo de un Ingeniero en muchas empresas se basa en juntar piezas, pegar código y resolver problemas ya resueltos (y rápido), pero porque para muchos es la dinámica de trabajo de su proyecto (o de su empresa). Hay proyectos (jefes de proyecto, planificaciones, ...) que te piden eso... seguramente los Ingenieros que tengan inquietudes no durarán ni 2 meses al ver el panorama.

Imagen de jsanz

Este hilo me ha hecho

Este hilo me ha hecho recordar un artículo que lei hace poco sobre la adopción de Java en las Universidades y facultades de informática, igual os resulta de interés

http://blog.smaldone.com.ar/2010/06/01/los-riesgos-de-las-universidades-java/

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <span> <img>
  • Saltos automáticos de líneas y de párrafos.
  • Each email address will be obfuscated in a human readble fashion or (if JavaScript is enabled) replaced with a spamproof clickable link.

Más información sobre opciones de formato

Distribuir contenido