La regla de la automatización
Hace un tiempo ya que me considero programador. Esto me ha llevado a plantearme algunas veces reglas estructurales para el día a día. En este caso automatizar. Por más divertida que sea armar un programa que realice tu tarea, hay que pensar si realmente vale la pena.
Uno diría que para analizar esto deberíamos ver el tiempo que llevaría terminar la tarea a mano, y por el otro lado, cuánto llevaría desarrollar un programa. Bueno quizás no es tan simple como parece. Hay más factores que tomar acá:
Satisfacción
Una de las principales razones por la que uno optaría programar tal programa es por la satisfacción que genera el desafío de vencer una meta. Uno busca, prueba, intenta, busca nuevamente, debuggea, pasa algunas horas en frente de la computadora hasta que por fin se da el resultado pretendido (o algo medianamente funcional).
Por otro lado, hacer una tarea repetitiva, estructurada y aburrida suele llevarnos para la misma dirección más allá del beneficio propio de lograr correr un código que da un resultado. Suele impresionar a muchas personas resolver los programas mediante la programación. Por eso siempre está bueno sumar más experiencias del estilo.
Tiempo
La máquina es capaz de hacer millones de cuentas por milésima… Y, ustedes creen ganarle una carrera… Bueno quizás no a la máquina pero si al humano buscando crear el programa.
Nunca podremos saber con exactitud cuánto tiempo nos llevará programar un sistema pero una estimación nunca viene mal. Extraernos de la situación e intentar ver algunas posibles soluciones y en base a eso calcular.
Herramientas
Lo bueno de la programación es que todo lo que uno crea queda guardado y sirve de base para el futuro. Con esto me refiero a que podemos reutilizar ese esfuerzo generado. Por eso cuando se pone tiempo en cada línea de código hay que considerar el beneficio de manera exponencial. Uno no es capaz de ver todos los usos que se le pueden dar a esas creaciones pasadas. Yo mismo he usado muchísimas veces antiguas líneas y han funcionado a la perfección.
Aprendizaje
No hay mejor manera para mejorar programando que resolviendo. Las cosas que más me llevaron a aprender fueron las que me obligaban a seguir intentando porque no podría seguir en mi otra tarea. Siempre está bueno pensar todo primero si se puede hacer mejor programando.
Calidad
Es muy probable que mientras intentemos resolver nuestras tareas tengamos algún error de tipeo o problema en el proceso. Los robots hacen todas las tareas de manera tan perfecta que parecieran ser máquinas… La velocidad y los resultados una vez armado el programa son notables.
Conclusión
Por eso, hace un tiempo digo que si una tarea me lleva más de una hora. Mejor invertir ese tiempo en algo que me resuelve, divierta y servirá para el futuro. Muchas veces te llevará más tiempo programarlo que repetir la tarea, pero el tiempo no siempre es prioridad. Además, cada vez que lo tengas que volver a hacer lo harás más rápido.
La automatización acompaña a todos en cualquier trabajo que realicen. Siempre se puede automatizar un poco más, por eso todos deben aprender aunque sea lo básico para beneficiarse al máximo de estas nuevas tecnologías.