¿Programar o no?

8 febrero, 2017

Hace más de un año, durante las jornadas de R de 2015, tuve una conversación con un grupo de colegas sobre la necesidad o no de programar si estás metido en el mundo del “análisis de datos”. Lo cierto es que las opiniones divergían desde aquellos que negaban la necesidad imperiosa de saber programar disponiendo de programas como SPSS, SAS… y los que considerábamos imprescindible dominar al menos un lenguaje de programación. Lo cierto es que ambas posturas tenían parte de razón.

Programar o no, depende de lo que pretendas hacer o desarrollar. Es verdad que si uno está cómodo con ciertas herramientas, ¿por qué tiene que cambiar?. Otra cosa bien distinta es aprender por el placer de hacerlo, no por obligación.

Quiero hablar de mi experiencia personal y de lo que he aprendido en estos años para ilustrar esto.

Mi primer contacto con la programación como tal fue al iniciar la carrera y no fue para nada agradable. “Informática” se llamaba la asignatura y era, según la mayoría de los alumnos, la llave para seguir un año más (aprobar al menos una asignatura era la condición para poder seguir en la Universidad al año siguiente). El lenguaje que teníamos que aprender era Pascal y lo cierto es que visto con perspectiva a día de hoy, era muy sencillo. Pero a mí se me daba fatal. Era muy frustrante ver cómo las cosas no salían. Conseguí aprobar la asignatura sin pena ni gloria y salvo algunas incursiones en electrónica aisladas, durante 3 años no volví a programar.

Ya casi acabando la carrera, me volví a topar con un nuevo lenguaje: MATLAB. Mi segunda experiencia seria fue mucho más halagüeña, pero no precisamente por el lenguaje en sí. Tenía que programar un sistema que simulara el comportamiento de una motocicleta en carretera para evaluar sus amortiguadores y aunque fue duro el proceso, el resultado final mereció el esfuerzo. Quizás por ello me quité un poco la espina. Veía una aplicabilidad útil.

Sin embargo por circunstancias no volví a programar en un largo periodo de tiempo hasta que trabajando para una consultora me ofrecieron entrar en un proyecto de gestión de redes eléctricas. El único “problema” era que previamente tenía que pasar unos meses de formación informática. En poco menos de un mes cogí nociones muy básicas de sistemas operativos (UNIX o Linux) y otras herramientas de administración (Bash, Shell o SQL).

Durante 2 años estuve usándolas continuamente en el trabajo y posteriormente las incorporé a mi uso personal. No obstante, como las he denominado desde el principio, son utensilios que usamos con cierta finalidad, nada más. El trabajo que realizaba día a día tenía que ver más con mi formación previa que con la formación informática, aunque se complementaran.

Más tarde, al iniciar el doctorado, me decidí por aprender R. Para ello me apunté a un curso muy básico que ofrece Coursera. Lo cierto es que seguir un curso de este tipo conlleva ciertos peligros o como las llamo yo “automentiras”. Seguir las pautas que te marcan es positivo, pero no definitivo. Si realmente quieres aprender un lenguaje tienes que jugar con él y sobre todo, equivocarte muchas veces.

Y claro, si quieres solucionar tus “bugs” existe una herramienta más que útil llamada StackOverflow. Si aprendes a buscar bien en ella, obtienes la respuesta que buscas rápidamente. Si no, puedes formular tu pregunta para que un buen samaritano te de pistas de cómo solucionar tu duda.

Si tienes una duda, dedica 30 minutos a resolverla con todos los medios que tengas a tu alcance. Si aún así no consigues resolverla, busca ayuda en la red. No obstante, esos 30 minutos te darán más confianza para preguntar con determinación — Jeremy Howard

Durante estos 2 años he ido añadiendo nuevos útiles como Github, Sublime, Tmux, Slack o Trello que me han ayudado a organizar mejor mis pautas de programación y que recomiendo encarecidamente.

Por simple y llana curiosidad empecé hace unos meses a aprender a usar Python gracias a un curso de Udacity. Udacity es una plataforma increíble de aprendizaje que proporciona múltiples ramas. Aún así, no es la única, existen miles de maneras diferentes y asequibles de aprender programación. Lo único que se necesita es tiempo y ganas.

Programar no es fácil, pero ¿qué es fácil?. Obviamente las cosas que ya conoces te parecen sencillas, pero pueden no serlo para otro. Aprender siempre es interesante y enriquecedor pero al final quien decide hacerlo o no, eres tú.

Víctor Vicente