|
|
|
|
|
|
|
|
La conferencia anual para suscriptores de la Bonilista π₯³ |
|
|
|
|
A lo largo de mi carrera profesional he conocido a muchos programadores. Profesionales con los que he mezclado mi propio código o a los que he revisado el suyo, para asegurarnos de que cumplía la funcionalidad a la que estaba destinado.
En uno de mis primeros trabajos tuve la suerte de coincidir con un desarrollador que era talento puro. Probablemente, el mejor con el que jamás me he cruzado.
No voy caer en la hipérbole de catalogarle como el mejor del mundo —porque sería tan absurdo como intentar determinar si es más bello el C de Carmack y Antonov en el motor de Quake III o el ensamblador de Margaret Hamilton y su equipo para gestionar el Apolo 11—, pero creedme, el tipo es bueno. MUY bueno.
|
|
¿Y por qué creo que, probablemente, es el mejor programador que he conocido? Antes que nada, evidentemente, porque programaba bien. Muy bien. Y esa afirmación inevitablemente nos arrastra al debate sobre qué es «programar bien». Cada técnico tiene una definición única, que proyecta su propia concepción de la Informática.
Para una ingeniera que priorice la legibilidad y mantenimiento de su código, «programar bien» puede ser usar polimorfismo para evitar bloques IF-ELSE. Para un desarrollador de videojuegos obsesionado con el número de frames por segundo, «programar bien» está directamente relacionado con escribir el código más eficiente posible. Ninguno está equivocado.
|
|
Para mí, que he desarrollado casi toda mi carrera en el ámbito del software empresarial y concibo la Informática como una actividad colaborativa y multidisciplinar, «programar bien» siempre supuso programar código suficientemente eficiente y robusto en un plazo razonable de tiempo, sin comprometer desarrollos futuros o pasados, que no tiene por qué ser el mejor código que podríamos escribir en cada momento.
|
|
Pero más allá de «programar bien», a lo largo de estos últimos 24 años he identificado una serie de rasgos comunes en los mejores programadores con los que he trabajado. Un patrón de éxito que se repite independientemente del contexto o las tecnologías empleadas, incluida la Inteligencia Artificial.
Aborrecen «la magia»
Necesitan comprender cómo funciona toda la pila de tecnologías que están utilizando, desde la interfaz de usuario a la base de datos.
Eso no quiere decir que pretendan controlar las instrucciones en código máquina que se ejecutan en el procesador, pero si utilizan Java —por ejemplo— es muy probable que hayan buceado directamente en la especificación del lenguaje. O, si utilizan un servidor web como nginx, consultarán su documentación para entender cómo funciona, más allá de saber arrancarlo y pararlo.
Nunca dejan de aprender
Suelen adquirir ese conocimiento de forma progresiva y pausada, pero constante. No porque estén obsesionados con su trabajo sino porque tienen una curiosidad inagotable por entender cómo funcionan las cosas. Cualquier cosa. Desde el protocolo HTTP al sistema electoral o los ciclos bursátiles.
Obsesionados con entregar valor, no tecnología
Al contrario que muchos programadores que priorizan ese aprendizaje o su lucimiento técnico, los mejores siempre anteponen las necesidades de clientes o usuarios antes que meter «con calzador» una nueva tecnología en un proyecto para tener una excusa para aprenderla o construir una catedral de código solo para demostrar que pueden hacerlo.
Quizás porque los mejores conciben su trabajo como un puro juego. Una serie de puzles en forma de requisitos a completar mediante la tecnología, que solo es un medio no un fin. Y, aunque disfrutan del proceso, nunca olvidan que lo realmente divertido es resolver el rompecabezas. Parece que llevaran YAGNI y KISS impresos en su ADN.
No les basta con saber lo qué les piden
Precisamente por eso, necesitan comprender qué están haciendo, por qué lo están haciendo y para quién lo están haciendo. Piden contexto, hacen preguntas, y rara vez se conforman con explicaciones vagas o superficiales.
Y, si no entienden el valor que aporta lo que se les pide o por qué debe hacerse de una determinada manera, manifiestan sus dudas sobre su conveniencia. A algunos responsables ese cuestionamiento constante les irrita. Otros lo vemos como una oportunidad para mejorar.
Foco
En mi experiencia, esto es lo que realmente separa a los buenos de los mejores.
Tienen muy presente que de su desempeño depende no solo su empleo sino también el de sus compañeros. Por eso, los mejores encauzan esa pasión, curiosidad inagotable y cuestionamiento constante para que no comprometa su productividad en el trabajo. Y, si no lo consiguen, buscan otro donde sí puedan hacerlo.
Puede que hacer un videojuego sea muy divertido, pero también un algoritmo de optimización de rutas de reparto en una empresa logística. Puede que implementar desde cero un Transformer sea todo un reto, pero también optimizar la base de datos de tu compañía para que las ventas se puedan consultar en tiempo real.
Y, si no lo es, lo dejan. Se dedican a hacer juegos, a crear ladrillos sobre los que cimentar la Inteligencia Artificial General o cualquier otra cosa donde puedan enfocar su talento. Eso —foco— es lo que nunca tuvo el mejor programador que, probablemente, haya conocido.
Desistió demasiado pronto de encontrar un trabajo que realmente le motivara. Mientras yo abandonaba un puesto seguro en un banco para buscar un nuevo reto técnico, él encontraba trabajos donde poder hacer lo mínimo exigible con el mínimo esfuerzo.
Era incapaz de centrarse. Tardaba apenas dos horas en hacer lo que los demás hacíamos en ocho, pero en vez de utilizar las seis restantes para hacer suyo el proyecto en el que estaba, las empleaba haciendo side projects que nunca llegaban a nada.
Jamás vi mayor talento en bruto, pero todo le aburría en cuanto aprendía cómo funcionaba. Nunca tuvo la constancia suficiente para dominarlo y, mucho menos, crear valor con lo aprendido.
Mientras mi carrera iba progresando, él iba dando tumbos de un trabajo a otro sin acabar de ser valorado especialmente por sus responsables. A veces, lo sabía porque me lo contaba él. Otras, porque me lo contaban esos mismos responsables. El mundillo de la Informática es mucho más pequeño de lo que pensamos.
Nunca volví a coincidir con él en ningún trabajo y esa es una de mis mayores frustraciones profesionales porque, cuando hablo con él, apenas me hacen falta 5 minutos para conseguir que se le iluminen los ojos con una idea. Para despertar ese tremendo potencial dormido.
No puedo dejar de pensar que ese talento en bruto solo necesita alguien que lo motive y enfoque en algo productivo. Por eso, no sé si este texto te ayudara a identificar al mejor programador que —probablemente— he conocido, pero sí te cruzas con él o alguien similar, espero que lo consigas.
|
|
|
Oye Mr.
Hoy se ponen a la venta las entradas de la TRGCON, pero durante las próximas 24 horas, las 350 entradas early bird (165 € + IVA, en vez de 250 €) sólo estarán disponibles para los suscriptores de la Bonilista.
Revisa tu bandeja de entrada, has tenido que recibir OTRO correo con el código para poder acceder a las mismas π
«Solo el necio confunde valor con precio», pero el año pasado nos gastamos alrededor de 335 € por asistente (IVA aparte), y la gente acabó bastante contenta. El 97 % dijo que repetiría.
Si NUNCA has venido a una TRG y te apetece ir a un conferencia diseñada para ser un punto de encuentro de todos los profesionales del sector digital o interesados en el mismo, independientemente de sus conocimientos técnicos, este es un buen momento: celebramos nuestro décimo aniversario, así que, habrá que celebrarlo... π₯³
|
|
|
|
|
|
|
|
|
|
|
|
|
Difunde esta #bonilista
|
|
|
Comparte el tweet clicando sobre Γ©l:
|
|
|
|
17026 suscriptores
han recibido esta Bonilista.
|
|
|
|
|
|
|
|
|
|
|
|
Ilustraciones originales de Hugo Tobio,
tarugo y dibujolari profesional de Bilbao.
|
|
|
|
|
Β© 2011 β 2025
Bonillaware SLU,
Todos los derechos reservados.
|
|
|
Paseo de la Castellana 194,
CINK COWORKING β 28046 Madrid (SPAIN)
|
|
|
|
|
|