Sigueme en Twitter
«Anterior | Siguiente»

Tristemente los programadores no competimos entre nosotros

13/05/2009

Les recomiendo mucho este par de artículos de Steve Yegge, Being the Averagest y Practicing Programming. El señor ha trabajado en Amazon y Google, tiene una especie de mal que le hace escribir textos enormes pero muy interesantes.

Estos artículos hablan de como de viciada esta nuestra profesión y de la mediocridad con la que seguimos muchos después de salir de la universidad. El que sabe Java, solo le interesa aprender más Java. El que sabe Linux, no quiere usar nada más que Linux.

¿Cuantas veces no te has topado con algún programador que simplemente no tiene la mínima intención de seguir estudiando algo que este fuera de su trabajo? La mayoría llegamos a tener momentos en los que simplemente nos conformamos con solo concentrarnos en lo que nos piden en el trabajo e ignorar todo lo demás con el pretexto de que eso no está en nuestra área.

Uno de los problemas esta en que no sabemos como practicar correctamente. Es cierto que “la práctica hace al maestro”, pero no solo tenemos que estar codificando todo el tiempo, eso solo hará que repitamos nuestros errores una y otra vez. Tiene mucha razón en que tenemos que tomar nuestra profesión como la ciencia que es. Leer de teoría de computo, leer sobre historia y aprender del trabajo de los demás.

“Práctica #4: Lee el código de alguien mas por 20 minutos. Para esta práctica alterna entre leer buen código y mal código; ambos son instructivos. Si no estas seguro de la diferencia, pregunta a un programador que respetes que te muestre ejemplos de cada uno. Muestra el código que lees a alguien más y ve lo que piensan de él.”

Steve critica mucho a la falta de competencia en nuestra profesión, y creo firmemente que esta es la razón por la que muchos nos detenemos de hacer un esfuerzo mayor. Simplemente no hay una forma de medirnos unos respecto a otros. Por lo menos no directamente. Y ustedes saben que los nerds necesitamos ver estadísticas para estar motivados.

“Pero ¿cómo es que los programadores compiten? Simplemente no lo hacen. No en la manera que los jugadores de ajedrez o los golfistas por lo menos. ¿La razón? No puedes comparar programadores cuantitativamente, asi que no puedes calcular una calificación o un ranking. [..] Los programadores profesionales simplemente no compiten los unos contra los otros.”

Lecturas muy largas, pero recomendadas.


Hay 6 comentarios:

  1. 14/05/2009Michoacano dice:

    En parte tienes razón pero por ejemplo creo que es mejor ser especialista en algo que tratar de saber un poco de todo. Por ejemplo java es muy muy extenso, como para poder saberlo . Si bien puedes aprender lo básico, esto no te permite competir con los expertos que tienen certificaciones.

    Yo digo que escojas un área y ahí vuélvete experto.

    Respecto a la forma de medir, yo creo que si hay muchas formas de hacerlo. El problema es que nadie lo aplica.

  2. 15/05/2009pablasso dice:

    Estoy 100% de acuerdo contigo, pero estamos hablando de cosas diferentes. Un ejemplo en ese artículo lo pone muy claro. ¿Has notado esas personas que tienen 20-25 años de experiencia y lo único que saben es Cobol?

    Los que son buenos y se especializaron en ello ahora ganan muy bien. Pero el mercado de Cobol ya es muy pequeño comparado a C y Java, y no tiene espacio para la mediocridad. Los que se conformaron con su trabajo seguro en una empresa con Cobol + Mainframes y no aprendieron nada más ahora quedaron volando.

    ¿Cómo los mides?

  3. 15/05/2009Zicco dice:

    Tal vez se pueda “medir” o “calificar” a los programadores como se hace en la industria de manufactura: cumpliendo los objetivos.

    No creo poder hacer una buena comparación, pero en mi experiencia como ingeniero de manufactura, me tocó ver que aquella persona que no cumplía con su trabajo en el tiempo especificado y con la calidad requerida, era reemplazado.

    Tal vez para los programadores deberían ser más estrictos al cumplir con trabajo de calidad en el tiempo especificado. Por la ligera experiencia que tengo en software (como aficionado) sé que siempre hay detalles a solucionar aún cuando ya se entregó el trabajo al cliente. Pero sé de empresas de software que prometen algo para ciertas fechas y se extienden bastante y el cliente queda sin su producto cuando generalmente todo es para “ayer”.

    Saludos

  4. 16/05/2009pablasso dice:

    Cierto, puedes medir en base a resultados, métricas o cualquier metodología que utilices (como el PSP) pero esto es limitado a la empresa donde trabajas lamentablemente.

  5. 20/05/2009Michoacano dice:

    Pues las métricas, y patrones de diseño. En realidad hay muchas formas de medir la calidad de código, en teoría. Pero como te digo nadie lo aplica.

    Por ejemplo tu que también llevaste refactorizacion, sabras que mas que enseñarte a refactorizar en cierta manera te enseñan a programar sin ser puerco y que permitiría a todos programar de la misma manera. Pero aun así es muy difícil, pero no imposible.

  6. 20/05/2009pablasso dice:

    Muy cierto, pero insisto, eso solo es válido dentro de tu empresa, sino es que solo en tu equipo de trabajo. Nada sirve para comparar programadores que trabajen en diferentes lugares.

Escribe tu comentario:

¿Escribiste código? [+]

Para hacerlo más legible puedes utilizar la etiqueta <pre>.
Ejemplo: <pre lang="php" line="1"> código </pre>
  • El atributo lang indica el lenguaje de programación.
  • El atributo line indica desde donde comienza la numeración.


  Los mas frikis pueden suscribirse a los comentarios por RSS.