Sin importar qué ruta dentro del mundo de la programación tomes, hay muchos factores, algunos demasiados complejos y otros tan “grises” que no se pueden explicar concretamente, para convertirse en un Gran Programador o a diferencia, simplemente alguien que “está” y que unánimemente solo espera el final del día para irse. No hablo solamente de programadores novatos. Y no le digo a los novatos: “Aprendete estas 89 cosas paso a paso y te convertirás en el programador que el mercado espera”. Es decir no hay una solución a la vuelta de la esquina.
Yo creo firmemente en el movimiento Aprende a Programar, el cual tiene sus méritos y sus defectos. Para toda compañía bien formada, es su labor y casi obligación producir para sí misma su equipo de “hábiles desarrolladores” para cumplir sus objetivos y tener equipo estable. Pero por otro lado hay empresas quienes creen que haciendo una “compra de unos cuantos videos y repartiéndolos entre el equipo”, el problema esta solucionado.
Yo creo seriamente que convertirse en un gran desarrollador toma un largo, largo tiempo… no importa que tan intensa o que tan perfecta sea tu capacitación y entrenamiento.
Pero eso no es lo que la gente quiere escuchar. Este enunciado no es parte de las características de nuestra sociedad basada en “todo-rapido”. Todos requerimos “la piedra filosofal”. Ese atajo que nos convierta en superiores en cuestión de días u horas. Expertos en la menor cantidad de tiempo posible. Y he escuchado a colegas decir: “Aprendete este lenguaje”, “Mira estos videos”, “Lee este libro”. Y he visto a novatos darse contra las paredes cuando al terminar esos consejos, estan más confundidos que antes.
Si eres de esos que crees que hay una receta para ser excelente. Que pena… Estoy en completo desacuerdo. El crecimiento a mediano y largo plazo en esta industria viene de la experiencia en todos los aspectos posibles. Solamente cuanto puedas realmente formular tus opiniones sobre cómo construir software, estarás en la ruta adecuada de convertirte en un gran desarrollador.
Y entonces? … Que se hace? … no tengo un elixir mágico. Pero sin embargo mi experiencia me permite trazar una ruta de qué pasos tomar. De por dónde ir.
Encuentra un trabajo con un equipo pequeño pero que sea experimentado.
Busca y encuentra un lugar en donde trabajes con un equipo pequeño 3 a 5 personas. Aprende qué es lo que ellos quieren aprender de otros, encuentra un mentor, alguien en quien apoyarte. Comienza a entender el proceso entero y eventualmente podrías tomar tus propias decisiones. Date la oportunidad de ver, analizar y encontrar qué es lo que los desarrolladores realmente valoran y no. Necesitarás esta experiencia para entender cómo las personas trabajan. Te darás cuenta que trabajar con otras personas es de igual importancia que sentarse a escribir código.
Toma un proyecto antiguo con código heredado para trabajar.
Bueno, probablemente si eres novato, tu primer proyecto será un proyecto antiguo. Yo he estado trabajando mucho mucho tiempo y pienso que “trabajar con codigo heredado es básico para tu crecimiento como desarrollador”. Esta situación te fuerza a tomar decisiones pragmáticas, no solamente ideales, pensando en “que pasara”. El hecho de mantener código “viejo” siempre te obliga a considerar costo-beneficio. Necesitarás de este conocimiento, de esta experiencia a lo largo de toda tu carrera. Porque todo código pierde vigencia en el tiempo. Todo código se convierte en código viejo.
Convierte cada siguiente proyecto en uno diferente del actual
Quizás el siguiente proyecto requiere nueva tecnología. O tiene un equipo de desarrollo diferente. O es una aplicación interna en vez de alguna para uso del cliente. O quizás será usado por una audiencia distinta o en un dispositivo diferente. Trata de buscar oportunidades para trabajar en un proyecto que tenga diferencias fundamentales con el anterior. Esta experiencia te preparará para cuestionar tus opiniones y conceptos que se tienen sobre el software. Y de esta forma aprenderás que el constante proceso de aprender, entender, captar, asumir e implantar nunca termina. Es la naturaleza de nuestro trabajo.
Enseña a alguien, comparte tus conocimientos y experiencia
Siempre hay un novato a quien enseñar, siempre alguien quiere aprender. Enseñar no solamente te hace sentir bien, a la vez te la oportunidad de “Entender lo que realmente entiendes” sobre un tema específico. Enseñar ayuda a combatir la brecha entre novatos y experimentados, y permite que ellos participen de la discusión. El simple hecho de enseñar te ayudará a validar tus propias opiniones junto con las de los demás siempre. Dando valor a las ideas por lo que significan y no por quienes las emiten.
Email me when Javier Romero publishes or recommends stories