A veces cuando la gente me pregunta, ¿Cuanto de memoria RAM tienes en tu equipo? o la velocidad del procesador, siempre terminan diciéndome: “¿Tantos recurso consumes mientras programas?” “¿Tanta memoria RAM? ni que estuvieras editando vídeos”. Pero a veces es dificil explicar que el por que, por eso en este post estoy tratando de a grandes rasgos explicarlo(o justificarme, según el punto de vista).
Tiempo es el único recurso que no puedes comprar.
Precisamente eso, algo que siempre me molesta en un equipo(principalmente cuando no es el mio), es que tarda mucho en responder a una acción, abrir un programa, que aparezca un dialogo,etc etc. El punto es que al fin al cabo esos sin tiempos muertos, 1 segundo por aqui, 2 segundos por allá,30 segundos en lo que compila, 30 segundos a un minuto en lo que abre el visual studio. La verdad es que si sumáramos todo ese tiempo al día,calculo aproximadamente 10 minutos (que estoy seguro es mas) y siendo que trabajamos unos 250 días al año, eso nos da aproximadamente 42 horas, imagínate 42 horas esperando a que algo procese, es mucho tiempo, ¿no?.
El tiempo es dinero
Si nosotros cobramos, dando un ejemplo unos $20 USD la hora de trabajo, siendo que perdemos aproximadamente 42 horas anuales, esta perdida de tiempo nos da $840 USD (tiempo que podemos invertir en otras tareas). Una cantidad nada despreciable. Por ejemplo compro un disco duro de estado solido (SSD) y mas memoria para mi equipo para disminuir esos tiempo de espera. Suponiendo que un SSD de 256GB me cuesta $200 USD y 16gb de RAM me cuestan $127.99, en total serian $327.99 USD.
Después de instalar los componentes, vuelvo a tomar tiempos que tardan los programas y detecto que muchos programas se comportan mejor (responden mas rapido), no tardan tanto, el visual studio que tomaba de 30 segundos a 1 minuto en iniciar, tarda ahora 2 segundos, y haciendo una suma aproximada, los tiempos muertos diarios(en espera que algun programa o accion se ejecute) se reducen a 5 minutos. Eso significan 21 horas al año, y eso significan $420 USD de ahorro, es decir que deje de malgastar en esperar a que algo suceda. Pero bueno dichos componentes sumados al tiempo de vida del equipo, que generalmente es de 2 años, nos da que por año solo tengo que invertir $164 USD en actualizar unos componentes. En resumen, una inversion de $328 USD me puede suponer una ganancia de $420 USD en tiempo este año y cada año que use el equipo de desarrollo. Ademas que como desarrollador eres mas feliz y tienes un equipo responsivo.
Hay que invertir en las herramientas de trabajo
Si usas VIM, Emacs o en el bloc de notas, no necesitas miles de gigabytes de ram ni un SSD. Pero aun así, necesitamos de herramientas secundarias que nos ayudan a cumplir con nuestras tareas(un administrador de base de datos, quizás una suite ofimática, el navegador o el sistema operativo). Si te sientes frustrado con ese lag de cuando inicias una aplicación, o cuando no sabes que esta haciendo el sistema operativo(no el caso de linux,pero en otros OS si sucede). Quizás sea conveniente invertir en hardware. Y también esto aplica para el software, aunque al programador no lo hacen las herramientas que usa, el que una herramienta te permita ser mas productivo, no solo ayuda a terminar el trabajo mas rápido, si no a concentrar tu esfuerzo en tareas que son mas importantes.
De quien es la responsabilidad de invertir en las herramientas¿Del empleador o es mi responsabilidad?
Haciendo referencia a un post de un compañero del #JuevesDeDesarrolladores Como no ser un mal jefe y por experiencia propia, debe ser tu responsabilidad, ya que el beneficio es directo tu lo percibes(hay un beneficio indirecto al empleador como ser mas productivo,etc, pero no se ve a simple vista). También si sabes plantearlo ante tus superiores o quienes toman las decisiones de compra, y lo propones como una inversión (no un gasto como se percibiría al momento de hacer el requerimiento), podrías gestionar que ellos hagan la compra o quizás aporten un porcentaje de la misma. La idea es, tener las herramientas físicas adecuadas para que puedas realizar la tarea para la cual te contratan(puedes clavar cosas con una piedra,pero en definitiva vas a tardar mas que usando un martillo),siendo que ademas es un equipo con el cual pasas de 8-12 horas diarias de tu vida laboral,por lo cual entre menos fricciones y problemas tengas, es mucho mejor para tu salud mental como para tu productividad.
Así que la próxima vez que vayas a comprar una nueva laptop para tu trabajo, o te pidan propuestas para la renovación de equipos en tu área, seria bueno sugerir en términos de que es una inversión, no un gasto el tener mejor hardware para el desarrollo.Y que definitivamente es mas fácil hacer un hoyo con una pala que con una cuchara ¿no creen?.