Volver a Entradas

el largo camino hacia la maestría en desarrollo de software

Colocado en Traducciones

Nota: Está es una traducción de un fragmento del libro «Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman» escrito por Dave Hover y Adewale Oshineye y es incluido sólo con fines informativos.

Contexto

Vivimos en una cultura que valora las celebridades desechables, estrellas nacientes, riqueza material y los resultados rápidos. Quedan muy pocos programadores que puedan decirte cómo era el desarrollo de software en el pasado. Cuando hablas con esos veteranos, ellos mueven su cabeza en desaprobación frente a la última moda de la industria que está repitiendo los mismos errores que ellos vieron en su juventud. Los errores parecen estar siendo cometidos porque hay poco conocimiento transferido entre generaciones de desarrolladores de software.

Problema

Aspiras volverte un maestro artesano del software, pero tu aspiración está en conflicto con lo que otras personas esperan de ti. La sabiduría convencional te dice que debes tomar el trabajo con la mejor remuneración económica y la primera promoción que se te ofrezca, para dejar de programar y dedicarte a actividades más importantes en lugar de construir tus habilidades como programador lentamente.

Solución

Primero, acepta el hecho de que puedes ser considerado un poco raro por lo que quieres llegar a ser. Segundo, enfocate en el futuro. Durante tu aprendizaje, da valor a las oportunidades de aprender y crecimiento a largo plazo por sobre el salario y las nociones tradicionales de liderazgo.

Quienes aspiran a volverse maestros en el desarrollo de software necesitan planear a largo termino. Está larga (pero brillante) jornada te traerá un rico conjunto de habilidades. Te volverás bueno para aprender, para resolver problemas y para forjar relaciones fuertes con tus clientes. Llegarás a portar el conocimiento y la tecnología con la habilidad que un samurai emplea sus espadas cortas y largas. Llegarás a comprender y a apreciar las profundas verdades del desarrollo de software. Pero todo ésto tomará tiempo.

Debes estar preparado para lo que durará éste viaje. Cuando dibujes tu propio mapa, debes tener en cuenta la expectativa de que estarás trabajando en el desarrollo de software aún cuando seas de mediana edad. Deja que esto influencie los trabajos que tomas y el alcance de tus ambiciones. Si aún estarás trabajando en los próximos 20 años, entonces puedes hacer cualquier cosa. Nadie está muy por delante para que no puedas alcanzar su nivel de habilidad en las décadas que tendrás para practicar tu oficio. No hay negocio ni dominio técnico que esté cerrado para ti. Con una carrera entera devota al oficio, se vuelve realista (más que vano) pensar en superar a personas como Donald Knuth o Linus Torvalds. La longitud de la jornada sólo multiplica las posibilidades que están disponibles para ti. (Claro está, gente como Knuth y Torvalds no se quedarán quietos mientras tu les das alcance.)

Éste patrón no es para personas que están aspirando volverse CIOs, administradores de proyectos o asquerosamente ricos. A lo largo del camino, no es raro que tengas que tomar roles de poder y responsabilidad o encontrarte con un muy buen flujo de dinero. Sin embargo, esos roles y beneficios no son la motivación principal para el aprendiz exitoso —son solamente resultado del viaje de toda una vida. Y más que contar los días para el retiro, el artesano de software estará dispuesto y disfrutará trabajar su oficio en sus décadas finales.

No queremos dar la impresión que todos deben de seguir un sólo camino o que éste es el camino correcto para todos los desarrolladores de software. Algunas personas dejaran el desarrollo permanentemente y se volverán ejecutivos, testers, agentes de ventas o administradores de proyectos. Algunas personas dejarán el campo de la tecnología permanentemente para entrar en campos completamente diferentes. Estos caminos son validos y benéficos para ser recorridos, pero éste libro y éste patrón no son para esas personas.

Si una auto-evaluación acertada es la primera piedra de un aprendizaje exitoso, el camino largo es el fundamento. La transición de aprendiz a desarrollador experimentado es el primero de varios pasos a lo largo del camino a la maestría. Como un artista marcial que recién obtiene el cinturón negro, un desarrollador experimentado se da cuenta de cuanto más le queda por avanzar.

Los desarrolladores de software somos afortunados. El nuestro es un complejo y profundo camino, un camino que por su naturaleza cambia continuamente. La ley de Moore avanza sin detenerse, abriendo nuevas oportunidades a los desarrolladores de explorar nuevas plataformas o ajustar las prioridades de un programa establecido. Aún así, otros cambios son sólo superficiales. Mientras que siempre habrá nuevas herramientas de software por aprender y mejor hardware justo a la vuelta de la esquina, el camino largo enseña al desarrollador las verdades profundas sobre el oficio, permitiendo a los maestros el trascender tecnologías especificas y llegar a la raíz de los problemas.

Acción

Cierra tus ojos e imagina el rol más raro que podrías tomar dentro de 10 años. Diviertete pensando en el futuro más peculiar para ti mismo. Después, piensa dentro de 20, 30 y 40 años a partir de ahora. ¿Qué tipo de experiencias te gustaría haber intentado? Imagina que dentro de 40 años te piden escribir una descripción corta de tu historia profesional y las influencias más importantes que recibiste a lo largo del camino. Usa el resultado de ese pensamiento experimental para ayudarte a planear tus futuras elecciones de carrera.

«Volverse realmente bueno programando es el trabajo de toda una vida, un ciclo continuo de aprendizaje y practica.» — Ron Jeffries et al., Extreme Programming Installed

David O' Rojo —Ciudadano del mundo, recorriendo el largo camino a la maestría en Desarrollo de Software. Interesado en lenguajes dinámicos, herramientas para el desarrollo web y proyectos enfocados al beneficio de la sociedad.

A Continuación

escribe código cada día