He recibido unos cuantos correos de lectores del blog preguntándome si un
administrador de sistemas necesita saber programación, aunque ya hable algo sobre ello en un post anterior sobre
como aprovechar mejor el tiempo, dejo aquí mi opinión al respecto, pero espero más opiniones y críticas.
Las
responsabilidades de un administrador de sistemas son muchas y variadas:
En ninguna de ellas se habla nada de programar, pero las
copias de seguridad pueden hacerse con
rsync, y para ello si que tendrás que programar algunos scripts, bash, perl da igual, tendrás que
programar algo. Para configurar los equipos y mantenerlos mejor si tienes algunos scripts monitorizando parámetros de los servidores para que
nagios pueda avisarte si algo va mal.
¿Agregar, borrar y modificar cuentas de usuario manualmente...? Mejor busca otro trabajo,
aunque muchas veces un equipo de desarrollo se ocupe de esto, conviene saber las reglas básicas del programa para conocer de primera mano las posibles causas de algún fallo, si no tienes suerte y no hay un equipo de desarrollo, quizás tengas que poner en marcha unas
utilidades, que mejor te cojan
confesado con conocimientos de programación.
Todos casi todos los problemas que te van sucediendo en el día a día de la
administración de sistemas se pueden resolver de manera automática teniendo los programas/scripts apropiados. Un simil a esta afirmación podría ser si imaginamos aquel fontanero que va a trabajar con su caja de herramientas, esta caja de herramientas serían nuestros conocimientos de programación, y según como los apliquemos veremos la calidad del trabajo realizado.
No digo que sea necesario saber programar en C/C++, Java, PHP, ... aunque siempre sería bueno, al fin y al cabo todo con lo que vas a trabajar está programado. Un mecánico no tiene porque saber las diferentes teorías sobre "el sistema de recirculación de los gases de escape" pero si las supiera seguro que tendría más ventaja sobre otro que no la sabe a la hora de diagnosticar un fallo de combustión.
Mi opinión, para un
administrador de sistemas "SI" es necesario saber programar, al menos con bash, perl o python. Ten unos conocimientos de estas herramientas para que puedas realizar tu trabajo con más soltura y seguridad. Aunque tardes horas/días en crear algún programa/script de mantenimiento que sólo utilizarás en casos muy concretos, no veas la satisfacción que da llegado el caso.
¿Qué no tienes tiempo de aprender? ¿En la carrera no profundizaste demasiado?, No te preocupes, la forma de aprender es en el campo de batalla, a la hora de la verdad todos los conocimientos vienen de ahí.
Lee más sobre aprender en el campo de batalla en codinghorror, aunque el artículo está más orientado a programadores tambien vale para este caso.
Echa un vistazo al mercado y opina.