El Gen del Programador Egoísta

Egoísmo es Supervivencia

En 1976 Richard Dawkins publicó “The Selfish Gene” (El Gen Egoísta), un ensayo de divulgación científica en el que aportaba su propia visión sobre la evolución de las especies. Dawkins reducía los organismos vivos a exoesqueletos que utilizan los genes para esparcirse por el mundo; y explicaba que la capacidad de supervivencia de un gen a lo largo de los millones de años de evolución era su capacidad de adaptación al medio. El Gen Egoísta es, por tanto, aquél que es capaz de mantenerse y reproducirse durante muchas generaciones haciendo que los organismos en los que está presente progresen. Y la evolución no deja de ser el proceso por el cual los genes cambian, se adaptan, se diseminan o desaparecen.

Bien, este un resumen muy ejecutivo del libro; la obra progresa teorizando sobre si los genes son los que diseñan los organismos en los que van a habitar, sobre si existe o no evolución gracias al Bien Común, o sobre si el hombre, como ser consciente dotado de cultura y valores, puede romper esta cadena evolutiva basada en la supervivencia de genes egoístas.

Por cierto, que muchos no saben que Dawkins es el inventor del concepto meme como unidad mínima de información cultural, que tanta gracia nos hace (a veces)

survival

Egoísmo en Acción

Puede que el tema del desarrollo de software en España esté hecho un desastre. Tengo pendiente hablar sobre qué valoran o dejan de valorar los clientes; y por tanto, qué ofrecen o dejan de ofrecer las empresas de desarrollo / consultoría; y por tanto cómo son o dejan de ser los proyectos de software; y por tanto cómo es o deja de ser nuestra vida. Pero esté como esté, en general las opciones que tenemos los que estamos metidos en esto se reducen a cuatro:

  • No hacer nada. Dejarse llevar por la corriente es la garantía de no tener el control de tu vida profesional. Esa que hay que mantener hasta los 65 años (de momento). Hay personas que dejan su vida en manos de otros, por motivos que yo no alcanzo a comprender.
  • Quejarse y no hacer nada. Las personas que identifican los problemas pero no los solucionan suelen acabar expresando su frustación de múltiples formas. La más cansina es cuando se sientan a tu lado en la comida o en el café, o te enganchan por el Hangout, y te ponen la cabeza como un bombo. Si alguna vez has acabado harto de escuchar los problemas de otra persona una y otra vez, prueba a pensar cómo se sienten las personas a las que les cuentas tus problemas una y otra vez.
  • Luchar por la Revolución. Cambiar las cosas requiere no sólo fuerza de voluntad y constancia. También requiere mano izquierda, empatía, capacidad de negociación… Enfrentarse contra el orden establecido suele implicar pisar varios callos, redistribuir responsabilidades, adquirir nuevos derechos y deberes, etc. En definitiva, en una Revolución a veces se gana y a veces se pierde, y en cualquiera de los dos casos se invierte mucho tiempo y energía.
  • Conocer las reglas y aprovecharse de ellas. Saber cómo funcionan las cosas es la única forma que hay de encontrar aquello que nos beneficia, lo que nos perjudica, y tomar las decisiones adecuadas.

Como todo en esta vida, la actitud personal de cada uno depende de factores cambiantes a lo largo del tiempo. A veces tocará luchar para cambiar las cosas, otras veces tocará aprender las reglas del negocio y tratar de usarlas en tu favor. Lo que no conozco es a alguien que haya llegado a alguna parte sin hacer nada, o quejándose.

Los Tres Genes del Programador Egoísta

Con este trasfondo en mente, me pregunté qué cualidades son las que determinan qué desarrolladores de software sobreviven y evolucionan; en contraposición a aquellos que están condenados a extinguirse. Desde mi punto de vista, son principalemente tres:

  1. Los programadores egoístas saben que la única forma que hay de dar por terminado un trabajo y empezar con el siguiente es terminar un trabajo. Eso significa entregar código que no sólo hace lo que se espera que haga (el día que se esperaba que lo hiciera), sino que además lo haga bien. Uno de los principales indicadores de éxito de un profesional del desarrollo de software es el número de pufos que deja en su código. El Primer Gen del Programador Egoísta es por tanto el que no permite a una persona subir código al repositorio sin haberlo probado exhaustivamente para tener la certeza de que funciona. Sobre todo por dos motivos que van en su propio beneficio: poder avanzar en su carrera profesional con una mochila ligera, y romper el círculo vicioso del Proyecto Sísifo.
  2. Los programadores egoístas tienen el control de su carrera profesional. Eso significa que se preocupan activamente del trabajo que van a realizar, en contraposición a las personas que se quedan esperando que su siguiente trabajo les llueva del cielo. Creo que podemos partir de la premisa que la mayoría de los desarrolladores trabajan por cuenta ajena en empresas de servicios profesionales (del tipo que sea), en proyectos contratados por clientes. El Segundo Gen del Programador Egoísta es el que hace que un desarrollador se implique en la venta, principalmente por dos motivos que van en su propio beneficio. El primero, conseguir participar en aquellos proyectos que mejor le aproximan a sus objetivos profesionales (por el cliente en el que se realizan, la tecnología que se usa, su nivel de impacto y visibilidad en el sector o la sociedad…) El segundo, porque quiere estar seguros de que se tiene en cuenta su criterio a la hora de definir y planificar en tiempo y esfuerzo la solución. Porque al fin y al cabo, le va a tocar a él hacerla.
  3. Los programadores egoístas saben que el mundo es un lugar competitivo se mire por donde se mire, y tienen clara la máxima “si no eres diferente, eres barato“. El Tercer Gen del Programador Egoísta es el que impulsa a las personas a destacar siempre por encima del resto del equipo, cultivando de forma permanente su Talento como forma de demostrar el valor que aportan: a su empleador, a sus clientes, a sus compañeros, a su comunidad. Saben que no pueden vivir de las rentas: de aquél marrón que un día resolvieron, o de su implicación en un proyecto que se torció. Las personas que demuestran día a día su Talento y su valor no suelen tener problemas a la hora de trabajar y crecer profesionalmente. Las otras, suelen acabar por extinguirse.

Supongo que cada uno tendrá su propia lista de Genes Egoístas. Para mí estos son los más importantes, pero si para ti hay otros más importantes, utiliza la sección de comentarios para compartirlos.

Un comentario en “El Gen del Programador Egoísta

  1. Me ha encantado el articulo, me he cruzado por casualidad con tu blog buscando randomize usr 0 (típico ataque nostálgico en el que me entran ganas de escribir otro emu de spectrum y acabo haciendo otra cosa XD) y me ha chocado mucho el titulo.

    Esas cuatro opciones que das son pura y dura realidad y el problema es que la mayor parte de programadores españoles tiran a la primera opcion, pasar 8 horas en la oficina aporreando teclas entre vídeo de youtube y post en facebook.

    Me identifico completamente con un programador egoista, trabajo por mi cuenta buscando los proyectos mas interesantes y desarrollando los mios propios cuando puedo, nunca podre entender a los supuestos programadores que lo único que hacen es cumplir con un horario justito sin importarle en lo que están trabajando y sin tener el gusanillo de cada vez hacer cosas mas avanzadas y complejas, lo divertido no es jugar si no hacer los juegos🙂

    Ojala hubiesen mas programadores egoístas, por desgracia el panorama en España es deprimente.

    Un saludo y buena vida!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s