Piensa en ti mismo, en como eres, en las cosas que haces, en como programas, en las herramientas que utilizas, y contesta a esta pregunta, ¿qué te hace falta para ser el mejor programador del mundo?Es una buena pregunta, ¿verdad? Bueno, en realidad es la típica pregunta que se hace en las entrevistas. De este tipo de preguntas que no tiene una respuesta única pero que sirve para ver como el entrevistado reacciona y que camino coje para buscar la respuesta.
Y es que la definición de buen programador es tan ambigua. ¿Es mejor programador alguien que codifica muy rápido o quizás alguien que codifica mucho más lento pero lo que hace siempre funciona?, ¿Es mejor programador alguien que conoce muchísimas herramientas o quizás alguién muy especializado en un lenguaje o sistema concreto?, ¿Es mejor programador alguien que conoce muchísimos lenguajes o alguién que conoce uno sólo a la perfección? ¿Es un buen programador alguien que conoce muchísimos patrones, buenas prácticas y domina la ingeniería o alguién que no conoce nada de eso pero que tiene un instinto nato que hace que todo salga bien? ¿Es mejor programador alguien que trabaja en equipo o alguien que quiere hacer todo el sólo? ¿Es mejor programador alguien que es muy social o alguien que es muy arisco pero muy superior codificando?
Demasiadas preguntas abiertas para el especificar un buen programador. Me voy a permitir hacer un paralelismo para explicaros mi opinión. Personalmente, a mi, me gusta mucho jugar al fútbol. Hace muchos años, era un fenómenos físicamente, aunque está mal que yo lo diga :-) En fin, que aunque era un tirillas, aguantaba jugando al fútbol cinco horas seguidas si me ponías. Con los años, he ido perdiendo condición física. Es lo que tiene la mala vida. Pero lo cierto es que mi juego siempre fue mejorando a medida que ganas fuerza, potencia, pero sobre todo...
experiencia. Lo malo es que llega un momento en el que te vas haciendo cada vez más mayor y echas en falta poder llegar a ese balón, poder adelantar a alguien en carrera con un autopase, o simplemente poder echar una carrera sin tener que parar cinco minutos a resoplar (que sería lo más aproximado a mi juego actual, y eso en caso de que realmente pudiese echar una carrera :D)
Con la programación me pasa un poco lo mismo. Hace diez años me atrevía con lo que fuese. Que si ensamblador, que si C, que si
probar a crackear algo, que si hacer un motor 3D, que si una demo, que si esto, que si lo otro. Si había que estar días y días al ordenador escribiendo sin parar, no había problemas. Ahora mismo, bueno, cuando llevo más de una hora ya empiezo a flojear bastante. Sin embargo, creo que ahora soy mucho mejor programador que antes.
¿Sería el programador ideal alguién con la vitalidad de un chico de 18 años y la experiencia de un hombre de cincuenta? Es muy posible. Sin embargo es pedir un imposible.
De todos modos, con animo de contestar a la pregunta que planteaba anteriormente, sin un imposible, me vuelvo al mundillo del futbol. ¿Qué necesita un futbolista para ser el mejor futbolista del mundo? Pues probablemente jugar en el Madrid, o en el Barcelona, o en el Milán o, vamos, en cualquier equipo realmente famoso. Adicionalmente, necesitará un cierto grado de carisma para protagonizar muchos titulares, ser un goleador (pocos porteros y defensas han sido los mejores) y hacer muchas filigranas, aunque no terminen en gol.
Con la programación se podría hacer un simil que seguramente desembocaría en el mejor programador del mundo. No creo que haga falta que lo explique mucho, ¿verdad? Estar en Google/Microsoft/Oracle/Yahoo/..., anotarse los tantos de los programas famosos (aunque sean otros los que preparen las jugadas), aparecer en las revistas del sector, etc. En resumen, el mejor programador del mundo necesita estar en la mejor empresa del mundo.
Pero bueno, a los que nunca seremos el mejor programador del mundo, nos queda consolarnos con que todos los equipos, y todas las aficiones tienen su jugador preferido. Incluso, quien sabe, seguramente hay millones de jugadores de fútbol anónimos que son mucho mejores que Kaká, pero que simplemente no tienen la oportunidad ni el equipo para demostrarlo. Igual de cierto es que hay muchísimas super-estrellas que las mueves a un equipo mucho más modesto y son incapaces de jugar decentemente, o que hay estrellas de equipos modestos que las mueves a un gran equipo y se convierten en jugadores mediocres.
Y a vosotros, ¿qué os hace falta para ser el mejor
jugador programador del mundo?