Construyendo cosas reales
Programar es aprender.
Aún cuando no estoy muy de acuerdo con las cosas que se enseñan en la universidades públicas en cuanto a tecnología, principalmente por la falta de actualización y de experiencia profesional de los profesores hay una práctica que de verdad ayuda a los alumnos a desarrollarse: Los proyectos finales.
Muchas veces queremos construir la próxima gran red social, el próximo gran servicio que todo mundo necesite y quiera para volvernos millonarios, la siguiente plataforma de ventas o de administración de empleados que podamos vender sin fin.
Para hacerlo necesitamos aprender. ¿Quieres intentarlo en C? ¿En Java? Eso nos enseñan en la universidad pero en esta época seguir utilizando esas herramientas es lo equivalente a dispararse en el pie.
Quiero decir, hay tecnologías nuevas, emocionantes y mucho más atractivas que Java y como no quieres ser un alumno promedio decides aprender algo nuevo.
¿Python? ¿Ruby? ¿Javascript? Incluso PHP, del bueno… no del que enseñan en la universidad.
En lugar mágico en Internet donde puedes encontrar casi todo: Google.
Hay una cantidad considerable de guías sobre cómo instalar el entorno para un lenguaje de programación nuevo, cómo se escribe un programa que muestre cualquier cosa, cómo conectar a una base de datos, cómo enviar un mensaje o como hacer que al presionar un botón pase algo. La mayoría de las guías no pasan de ahí. ¿Por qué?
La mayoría de las personas que hicieron esas guías tuvieron la intención de alguna vez hacer algo grande para enseñarte, sea por falta de motivación, recursos o cualquier otra cosa no lo completaron.
Lo mismo pasa cuando queremos aprender.
Nos pasa que cuando sabemos hacer el “hola mundo” damos por hecho que ya sabemos programar el lenguaje, este es uno de los mayores errores del desarrollador.
Quizá experimentemos con la creación de algún usuario, revisar los modelos y vistas. A veces nos aventuramos a crear vistas con botones y leer más tutoriales pero no pasamos de ahí.
La razón por la que no podemos continuar aprendiendo es porque no tenemos cómo aplicar ese conocimiento que estamos adquiriendo.
Una de las cosas que menos me agrada de estudiar la universidad es que tengo que aprender cosas “Por si acaso”, he perdido incontables horas entendiendo cómo funcionan cosas que quizá algún día ocuparé, ese día no ha llegado y no llegará pronto.
Y de nada sirvió porque pasados un par de años, esas cosas que aprendí por obligación no tuve donde practicarlas y las olvidé.
Cuando quieres aprender un lenguaje de programación debes tener un proyecto en mente, de lo contrario solo aprenderás cómo hacer un par de cosas aquí y allá pero no llevarás tu conocimiento a un lugar práctico. Haciendo las cosas aprendemos mejor porque lo entendemos, sabemos como y para que sirve y su aplicación real.
Ninguna de estas ideas es nueva y probablemente ninguna te hará millonario pero… ¿Tu idea es mejor?
Prefieres pasar los próximos 2 años pensando en cual será la idea que te haga millonario y después ver cómo la programas en lugar de programar algo ahora, mejorar y si la idea llega después… entonces saber cómo hacerla porque ya tuviste la experiencia de hacer algo antes. Aunque otras 10,000 personas ya lo hubieran hecho.
Es solo a base de proyectos que llevamos nuestra capacidad de aprendizaje al máximo, de nada sirve saber optimizar una base de datos para que las consultas sean 0.000003 segundos más rápidas si no tienes una plataforma en la que puedas trabajar.
Otra de las mejores formas de crecer como desarrollador es cometer errores.
Hay 2 tipos de errores: Los que se cometen para aprender y los que se cometen por no saber.
El primer tipo es intencional, modificamos cosas para “ver qué pasa” y explorar el código que a veces no tenemos idea cómo funciona. No es una forma ideal pero funciona. El otro tipo se trata de los errores que no sabemos que eran errores. Sean al momento de compilar o porque al llevar el código a producción todo el sistema se rompió. Estos errores son a veces difíciles de encontrar y muchas veces estamos bajo presión porque no sabíamos que existen y cuando se presentan es importante arreglarlos tan pronto sea posible.
No importa si estás programando o quieres ser el próximo Messi o Bryant: practica. Muchas personas creen que hay atajos o fórmulas para hacerse bueno en algo, que hay un secreto.
Existen mejores prácticas, técnicas de estudio, aprendizaje y creación pero nada sustituye el dedicarle tiempo a hacer algo. Las miles de horas de aprendizaje y práctica que he puesto en mis actividades me han traído a este lugar. No dejes que nadie te haga creer que no puedes, practica y lo harás.
Publicado por Julio Montaño el 1/Dic/2015.