Los desarrolladores y el ecosistema digital
Por Jorge Vegaa, Jon Mikel Zabala-Iturriagagoitiab
a.- Senior Front-End developer, Merkatu Interaktiva, Bilbao (Spain).
b.- Deusto Business School, University of Deusto, Donostia-San Sebastián (Spain).
Este post pretende ofrecer una visión sobre los perfiles de desarrolladores que se pueden encontrar dentro del ecosistema de Internet. Somos plenamente conscientes de que son cientos de miles los desarrolladores y start-ups las que forman esta nueva ecología, y que la misma está en continua ebullición, por lo que ésta es exclusivamente nuestra visión particular y que no por ello tiene que coincidir con la visión de otros muchos desarrolladores o emprendedores digitales.
Aproximadamente hace unos 15 años asistí a una charla ofrecida por Carlos Barrabés en Donostia, en la que contaba su experiencia con su tienda online. Contaba que contrató a unos consultores y que cuando les dijo la idea que tenía para su negocio online, éstos empezaron a ponerle trabas de todo tipo, principalmente debido al rumbo que estaba tomando el proyecto que él había imaginado. Harto de impedimentos y de no poder llevar a cabo la idea tal y como tenía en mente, decidió prescindir de ellos y contrató a un desarrollador con el que montó su negocio online, el cual tal y como el tiempo ha evidenciado, ha sido todo un éxito global.
La pregunta que me formulé al escuchar su intervención, y que traslado aquí es ¿quién era el desarrollador en la historia anterior? Los consultores iniciales, el desarrollador (i.e. ingeniero informático) que montó el proyecto que había visualizado Barrabés, el propio Carlos? De esta charla sólo recuerdo que aparte de reírme con los insultos que el ponente propinaba a los ingenieros informáticos, salí de la misma con la sensación de que todo el mundo es un desarrollador. Pero sobre todo, recuerdo el énfasis que el ponente ponía al hecho de que en el entorno digital, todo es posible y que lo importante es, al fin y al cabo, que cada persona tenga el compromiso suficiente con la organización a la que pertenece como para que aporte lo mejor de sí misma con la intención de conseguir un resultado final general que satisfaga a todas las partes. Algo así como lo que se transmite a los alumnos de primero de economía o de administración y dirección de empresas, cuando se les habla del optimizing individual en microeconomía.
Para empezar a poner cierto orden y responder a qué es y qué no es un desarrollador, me gustaría comenzar por ofrecer las diferencias entre desarrolladores y programadores. El programador es aquel que escribe código. Fin de la cita. Le importan un pepino el objetivo de su código más allá de su documento de funcionalidad. El desarrollador por el contrario, es un término más amplio. Todo aquel perfil profesional que tenga que definir y generar (i.e. modelizar) un modelo de trabajo, un producto o servicio es un desarrollador, aunque no tenga que ser un programador para ello. Entiendo que esta percepción es totalmente subjetiva y que habrá personas que difieran, pero… por eso debaten las personas, ¿verdad? Esa es la gran ventaja de la ciencia, que se puede tener un debate informado en el que confluyan (o colisionen) tantos puntos de vista como disciplinas existan, aunque esto de las disciplinas al uso, cada vez esté más en tela de juicio, debido a la interdisciplinariedad dominante en el mundo actual. El ecosistema de Internet no podía ser una excepción a esto último.
El ecosistema de Internet es una moneda de dos caras. En una se situarían las grandes multinacionales del ecosistema. Sin embargo, para que dicha cara de la moneda exista, es necesaria la firme existencia de otra cara de la moneda, en la cual se sitúan las miles de start-ups y las actividades de los millones de desarrolladores. En todo el mundo hay un total de 18,5 millones de desarrolladores de software. Alrededor de 11 millones de ellos serían los desarrolladores profesionales, y 7,5 millones serían aficionados que codifican software en su tiempo libre.
Como todo buen «freak» (y con orgullo oiga!) de más de 35 años, los desarrolladores y programadores hemos sido marcados por las grandes sagas de películas y series de ciencia ficción. En aras de ofrecer una posible clasificación de los múltiples perfiles de programadores, me gustaría hacer una reflexión sobre la caracterización de éstos últimos. Esta clasificación, y la caracterización que la acompaña puede ser una sátira, pero si has estado trabajando con código, seguro que puedes ponerle caras a las siguientes descripciones:
- Programador “Benito” (De la serie de Tv Manos a la Obra): También conocido como el Mac Gyver de la programación. Quizás el 80% (viva Pareto!!!) de los programadores de pymes y grandes empresas es de este tipo. Está orientado a solucionar los bugs o problemas que necesitan rápida solución, sin necesidad de que el código sea preciso. Es vital para muchas empresas semi-públicas y se les suele distinguir por la frase: “¿pero funciona, no?”.
- Programador “Perfeccionista”: Este tipo tiene un gemelo en el mundo del diseño. Son aquellos que pueden dedicarle horas y más horas, lo que suma al presupuesto del proyecto. Eso sí, cuando entregue el proyecto no le cambies nada. Es mejor tenerlos cerca y atados. Citando al escritos Francés Alphonse Karr (1808-1890), se puede decir que este tipo de programador “lo perfecciona todo en torno suyo; lo que no hace es perfeccionarse a sí mismo”. También conocidos como el Sheldon Cooper de la programación.
- Programador “En un rato”: Es aquel que es bueno pero que ya está cansado de los años de trabajo y necesita leerse dos diarios deportivos antes de empezar a revisar sus tareas. Siempre te va a devolver todo “en un rato”. No es que sea malo desarrollando, es que simplemente…no le apetece hacerlo cuando tú lo necesitas. Eso sí, luego es capaz de generar lo necesario en el mínimo tiempo posible. También conocidos como los Usain Bolt.
- Programador “Tecnófilo”: Está a la última de todo, en su móvil, en su reloj, etc. y conoce miles de conceptos teóricos en profundidad, pero es incapaz de desarrollar algo por sí mismo. Suelen ser caracterizados como moscas que revolotean sobre otros técnicos distrayendo y proponiendo sin saber exactamente qué se está desarrollando. También conocidos como el Antonio Recio de los mayoristas.
Es cierto que el sector del software va más rápido que el McLaren de Fernando Alonso (2015), pero por lo menos, esperamos que la anterior descripción ayude a comprender la diversidad existente. Evidentemente, existen otros muchos perfiles, así como perfiles híbridos de los anteriores, pero estoy seguro que si llevas tiempo trabajando con programadores seguro que te has encontrado con algunos de ellos. Ya no hace falta ser un ‘freak’ de Linux para ser un buen programador.
De hecho, según mi punto de vista el freak informático está evolucionando hacia una conciencia social mayor. Quizás porque comprende la capacidad de lo que desarrolla o lo que podría llegar a hacer con sus herramientas, en los últimos años los movimientos «Hacktivistas» comienzan a ser más importantes y a tener sobre todo mayor relevancia gracias a los grupos diseminados por todo el globo terráqueo.
Hemos querido aunque sea en un par de párrafos darle visibilidad al Hacktivismo, término que viene de Hacking y activismo. Esta concienciación socio-digital es un indicador de que lo que hace años era un rol de chiste continuo, sobre su escasez de sexo, comience a tener una significativa importancia. La capacidad de unión de forma digital, de planear acciones digitales o sociales son la base de estos movimientos. Es innegable ya que la preocupación política y social es lo que hace que estos movimientos se organicen y generen su actividad. Pero lo que quizás es más importante es que gracias a desarrolladores en estos movimientos, existen herramientas que convierten a cualquier persona en una hacktivista de un modo u otro, simplemente por tener una conciencia que se refleje en este movimiento.
Hoy en día (prácticamente) cualquier programador puede generar algo con un principio y un fin, en función de sus necesidades, preferencias o proyectos vitales. Sin embargo, y en paralelo, puede llegar otro técnico y aprovechar parte del conocimiento (i.e. código) generado por la anterior persona para generar algo totalmente nuevo o incluso enfocar dicho código a servicios distintos. La cantidad de oportunidades que se abren es función de la ingente cantidad de código disponible. El mundo digital lo vemos como un mundo similar al de la moda, donde las telas, los diseños, los cortes, los materiales y los diseños están ahí, pero sin embargo, cada diseñador es capaz de crear algo totalmente diferente y en ocasiones único.
¿Qué hará un desarrollador en 10 o 20 años? Posiblemente, con suerte, lo mismo que hoy en día pero adaptado a un nuevo entorno (i.e. contexto), y si la suerte le fuera esquiva, hará exactamente lo mismo que hoy en día, a menos que sea capaz de ir evolucionando. Y tú, ¿de quién eres?
What you share is very good and useful for the community, with a lot of useful information. Please continue to update. Thanks!