06 diciembre 2007

Dos tipos de programadores

Me apetecía opinar (y en parte traducir) un nuevo artículo de Jeff Atwood en su blog Coding Horror, que se apoya a su vez en un post de Ben Collins-Sussman sobre "los dos tipos de programadores".

Habla de que existen 2 tipos de programadores en el mundo, los que llama el 20% y el 80%:
  • La gente "del 20%" son lo que algunos llaman "programadores alfa", el tipo de gente que sitios como Google se obsesionan por contratar. Gente que fueron los primeros en instalarse Linux en casa en los 90, gente que escribe compiladores de Lisp y aprende Haskell los fines de semana "sólo por diversión", que participan en algún proyecto de software libre y que están a la última en cuanto a programación y herramientas.
  • El "otro 80%" es la masa de la industria del software: gente que fue a un centro de estudios, aprendió C++, C# o Java, y encontró trabajo en un banco, gobierno , agencia de viajes... Habitualmente el mundo no llega a conocer sus programas. Usan las herramientas que Microsoft les imponga, nunca han usado Linux ni están interesados en él, nunca han usado herramientas de control de versiones... Saben exactamente qué hacer para terminar su trabajo, y cuando llega el fina de semana se van a casa y se olvidan de los ordenadores.

Además añade un par de "hechos impactantes":
  • Que la mayoría de la industria del software está formada por "programadores del 80%": pequeños desarrollos para Windows o pequeñas compañías que contratan a sus propios programadores.
  • Que la mayoría de los "geeks" olvidan el primer hecho, no se paran a pensar que exista "el otro 80%" y se sorprenden de que en su empresa no sean capaces de usar la última distribución de Linux que ellos acaban probar.

Pero, como suele ocurrir en los artículos en los que lee (y opina) gente con una cierta cultura, puede resultar todavía más interesante leer las opiniones de la gente que el propio artículo en sí. Se pueden encontrar cosas como:
  • Gente que dice que después de leerlo... tienen claro en qué lado se encuentran.
  • Hay quien piensa que la proporción es más cercana al 10/90, incluso quien dice que apenas son un 1% los que son capaces de marcar la diferencia.
  • Otros que dicen que muchos de los del 80% consideran que están dentro del 20%.
  • Hay quien dice que no es cierto eso de que el 80% sepa exactamente cómo hacer su trabajo.
  • También hay quien dice que al 80% no le preocupa lo más mínimo la industria del software, sino sólo su trabajo.
  • Hay quien dice formar parte de ese 80% y estar orgulloso de ello, porque así tiene tiempo libre para él y para su familia durante el fin de semana.
  • Mucha gente dice que las generalizaciones son demasiado simplistas, que no se puede clasificar todo en blanco o negro.
  • Por supuesto, también hay quien tacha a Jeff de clasista y/o arrogante... ;-)

¿A qué lado te acercas más? Si has leído esto y/o el artículo original, posiblemente es porque tienes inquietudes y quizá entonces no estés claramente entre ese 80% de gente que programa por trabajo, sino que te aproximes a los que lo toman como una pasión.

Aun así, yo creo que los extremos nunca son buenos. Procuro estar más cerca del 20%, pero no me obsesiona. Me gusta la programación e investigar cosas que no conozco, pero también está bien eso de tener tiempo libre de vez en cuando... ;-)

(Si hablas inglés, quizá te interese leer el artículo original).

8 comentarios:

merovingio dijo...

Usa a tus curtidos alumnos como ejemplo, creo que el 20/80 se cumple y si me apuras ese 20% se reduce. Yo intento mantenerme en ese 20% pero con moderación

Anónimo dijo...

Pues yo estoy en el 20% ese, pero ya me gustaría estar en el otro 80%, ya... tiempo libre, fin de semana sin trabajo, etc...

Turelim dijo...

Tienes razon en lo de esa Clasificacion, aunque yo no me tomo como un pure del "20%", creo que trabajar como uno del "80%" aburre, porque uno del "20%" lo hace porque le agrada y no tanto por el dinero...

Hardcore_Gamer dijo...

Deberían recalcular esos porcentajes con conjuntos difusos (xD), eso de "o estas en uno o en el otro" no me convence, igual puedes tener características de ambos y pertenecer a cada conjunto solo en parte.

Nacho Cabanes dijo...

Estoy de acuerdo con los conjuntos difusos ;-) pero sí es cierto que hay gente "mayoritariamente de un lado" y gente "mayoritariamente del otro lado".

De hecho, creo que lo deseable sería que esos dos conjuntos cada ver fueran menos disjuntos: que los que tenemos afición aprendamos a buscar tiempo libre, y que los que programan "por trabajar en algo" le pongan un poco de ilusión a lo que hacen...

Carlos R. dijo...

Holap:

Creo que esa "ley" del 80%/20% se aplican para muchas otras disciplinas y dimensiones de la vida... además de la programación... xD

Saludooos :P

Anónimo dijo...

Yo soy de los que opino que existen esos dos tipos de programadores y, he de decir, que también existen programadores "únicos" que les gustaría ser como los 20% pero trabajan como los del 80%, hablo de mi caso. Yo hace menos de un año que conozco Linux (De hecho sólo sabía que existía algo que se llamaba linux)(ubuntu) y realmente me ha interasado y me intereso por saber como evoluciona ubuntu y saber que el software libre es lo mejor que se ha creado. Para la asignatura de sistemas he pasado de saber su "nombre" a conocer su kernel, su grub y a modular el kernel, cosa que con windows fui poco a poco sin embargo, me gusta programar y descubrir algoritmos para mis programas así como mejorararlos las veces que haga falta y no: "hice esto y ya está" Para mí programar es hobbie y me encanta, pero la vida no es sólo trabajo ni hobbies que ocupen tu tiempo completo... hay más vida aparte del trabajo... Una vida maravillosa que no debe ser desperciada.

Seba dijo...

Llegue a este blog buscando como hacer un juego en c# multiplataforma... me quede colgado con los posts, son muy interesantes!. Por cierto, yo me siento como ese 20% en parte, yo nunca estudié programación, y hoy en día programo videojuegos en varios lenguajes, y los fines de semana, casi siempre paso programando y haciendo gráficos para mis juegos. Estoy bastante obsesionado con eso, pero es lo que más me gusta hacer, mas que trabajo es un descanso en cierto modo (aunque a veces cansa...) (se que parece spam, pero dejo mi sitio web, para quien tenga curiosidad acerca de los juegos que hago www.sebagames.wordpress.com)