¿Cómo convertirse en un experto en desarrollo de software?

Chuy Lerma
Hacker School Monterrey
5 min readDec 13, 2015
Grandes amistades

Hace poco tiempo me vinieron a la mente recuerdos de mi periodo como alumno en HackerSchool 2015, recordé los amigos que hice, las experiencias que compartí con mis compañeros y con mis mentores, pero sobre todo recordé la primer clase que nos ofreció Adrian Cuadros. Esta clase fue muy motivacional para mi ya que habló de un estudio publicado en el año 2007 por K. Andres Ericson: The Making of an Expert. Este estudio demuestra que los expertos se hacen y no nacen, como comúnmente hemos escuchado. Despues de leer el artículo comprendí que en HackerSchool empezamos a convertirnos en expertos del desarrollo de software.

Pero primero definamos lo que es un experto.

¿Qué es un experto?

Según el Diccionario de la Real Academia Española, un experto es una persona “práctica, hábil, experimentada”. K. Andres Ericson menciona en su artículo tres pruebas para poder identificar a un experto genuino. Primero, debe dar un mejor rendimiento que es consistentemente superior a la de sus compañeros. Segundo, los expertos reales producen resultados concretos. Por ejemplo, un jugador de ajedrez debe ser capaz de ganar partidas en torneos. Finalmente la expertiz verdadera se puede replicar y puede ser medida en laboratorios. Como el cientifico Británico Lord Kelvin escribe, “si no puedes medirlo, no puedes mejorarlo”.

Practica Deliberadamente

Para desarrollar una buena expertiz se necesita de un tipo de práctica particular. Cuando la mayoría de la gente practica, se enfocan en las cosas que ya saben hacer. La practica deliberada es diferente. Esta conlleva esfuerzos sostenidos, considerables y específicos para hacer lo que no puedes hacer bien- o en absoluto. Las investigaciones a tráves de diferentes dominios muestran que solo trabajando en aquello que no puedes hacer es como te puedes convertir en el experto que quieres ser.

En Hacker School hicimos básicamente dos cosas: aprender y practicar. Cada día es un aprendizaje nuevo, desde hacer scraping con ruby hasta como incrementar la velocidad de entrega en un equipo de desarrolladores. Cada semana se hace un cambio de tema y se aprende de todo lo que se necesita para convertirse en un programador fullstack. Todos los días se nos presentan retos diferentes y al finalizar la semana tenemos un día entero para practicar lo que se aprendió. A mediados del curso se tiene un hackaton en donde aplicas todo lo aprendido con los compañeros de grupo en el desarrollo de un producto en un período de 24 horas. Antes de finalizar el curso se presenta un proyecto final en donde se hacen equipos de hasta tres personas y se trata de aplicar la mayor parte de las cosas que vimos.También se hacen más eventos como presentaciones de expertos en los temas que vemos semana a semana: test driven development, single page apps, react, security y se realizan eventos como code retreats.

Encuentra Entrenadores y Mentores

El pequeño mozart

Wolfgang Amadeus Mozart era considerado como un niño prodigio con un extraordinario genio músical innato. Sin embargo lo que casi nadie considera cuando se habla del talento de Mozart es que el desarrollo de su talento desde corta edad fue igual de extraordinario: su padre, un compositor experto, fue un maestro famoso y escribió uno de los primeros librios de instrucción del violin. Esto es una prueba una vez más de que artistas de talla mundial no nacen siendo expertos, se hacen expertos.

Mentores del programa

Los mentores con los que cuenta Hacker School son personas con experiencia, creadores de empresas u organizaciones, directivos de venta, directivos de tecnología y amantes del desarrollo de software opensource. Lo que cada uno enseña son cosas que hacen día a día y algunos llevan haciendolas por más de 8 años. Además son personas a las que les gusta compartir su conocimiento. Un claro ejemplo de esto es Abraham Kuri quien comparte su libro APIs on Rails en formato electronico para que cualquiera pueda leerlo en línea de forma gratuita (por cierto se ven dos semanas enteras de como crear APIs usando ruby on rails). La mayoria son programadores en ruby con años de experiencia que van desde los 5 hasta los 10. Algunas cosas de las que se ven son demasiado nuevas por ejemplo ember/ember-cli pero sin duda los mentores dominan porfundamente ember y lo han usado desde versiones beta.

Tómate el Tiempo que Necesites

No todos tenemos un mismo ritmo y se vuelve complicado darse un tiempo para practicar o aclarar alguna duda cuando se trabaja y se lleva un curso intensivo. Por esta razón el tiempo que pases en Hacker School debes de dedicarlo a resolver las dudas que vayan surgiendo.

Como menciona K. Andres Ericsson: ser experto lleva al rededor de 10 años o 10,000 horas de practica. El curso de Hacker School no tiene una duración de diez años, ni tampoco cuenta con una camara del tiempo en el que podamos practicar 10,000 horas en menos de 10 o 9 años. El tiempo que duró fue un periodo de trabajo intensivo en donde ademas de practicar las 8 horas en mi trabajo, tuve la oportunidad de practicar 3 horas adicionales por día de la mano de excelentes mentores y compañeros para mejorar mis habilidades practicando deliveradamente, usando tecnologías que me ayudarán a desarrollar más rapido, pero sobre todo me ensenaron como mejorar cada línea de código que escribí mediante el uso de patrones de diseño y a construir sistemas con mejoras continuas usando religiosamente test driven development. Esto es lo que realmente aprendí en Hacker School.

Si deseas vivir estas experiencias únete a la segunda generación de Hacker School. Te invito a que llenes el siguiente formulario de registro: http://hackerschool.mx/registro

--

--

Chuy Lerma
Hacker School Monterrey

Mentor @ Hacker School Monterrey, Community Guy, Web Developer& RoR&Vue.js Lover