Is it a fake website?

19 abril 2007

Un administrador de sistemas ¿necesita saber programar?

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.

logadmin

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.

12 comentarios:

Emilio dijo...

Thanks biby, You are welcome.

Anónimo dijo...

Osea que podría ser un logadmin? ;)

Anónimo dijo...

Entiendo.

Pues llego a cumplir muchas de las cosas que dices. Lo único que no trabajo en ese área como tú ;-P jejeje

El artículo me ha gustado mucho. ;-)

Un saludo ;-)

music anniversary dijo...

Es como decir si un fontanero necesita tener carnet de conducir. No lo necesita pero lo va tener mas jodido llegar a los sitios. Además creo que no hay mejor herramienta en la vida de un sysadmin que una buena base en shell script. init 0

Emilio dijo...

#magarto, con esa voz podrías ser lo que quisieras.. :P
#felip_RM, gracias.. ¿y cual es tu área?
#musicanniversary, siempre habrá fontaneros que les lleven otros por lo que nunca se sacarán el carnet.
Eso es, shell scripts astutos.

Anónimo dijo...

Umm, perfecta aclaracion. La verdad es que esperaba encontrar un "necesita saber programar y y y" ..."Tirando para casa", ya sabes, pero es exactamente como lo dices, y ademas muy bien explicado.

Anónimo dijo...

Secundo la opinión general, muy bien explicado logadmin !
Y desde luego, yo también creo que no hace falta para nada tener que saber programar, aunque de saber, también ayudaría.

A mi me paso algo similar pero al revés. En principio soy analista programador, pero en la práctica soy y he sido, programador, analista, diseñador, administrador de sistemas, coordinador de equipos, y hace un tiempo atrás también fuí una temporada jefe de proyecto... así que imaginate tu la de roles que me toca asumir :) ! Es lo malo de saber más cosas de las estrictamente necesarias para tu trabajo diario.

Unknown dijo...

Primero felicitarte por el buen articulo que has publica y decir que estoy completamente deacuerdo con que un sysadmin deberia saber lo minimo en programacion (bash y perl) y que si se puede saber algun lenguaje extra mejor que mejor ,ademas el articulo de "Coding Horror" ilustra muy bien parte de lo que has dicho tu.

Animo otra vez gracias por compartir tu experiancia y conocimiento con nosotros :)

Emilio dijo...

#luigix, ¿lo malo o lo bueno?, parece que no tienes tiempo de aburrirte. :D
#Borer, gracias por tu comentario, el artículo de "coding horror" es un artículo para todo aquel que diga que no sabe o no le han enseñado a programar.
Saludos.

Anónimo dijo...

La verdad es que no te falta razón en el post.

Un Saludo!

Mikel Martinez de Osaba dijo...

Yo también soy administrador de Sistemas y comparto totalmente tu opinion. La automatización de procesos mediante scripts es muy importante. Para ello yo suelo apoyarme en Perl para realizar estos scripts.
Saludos!.

Anónimo dijo...

Si, rotundamente hay que saber programar para ser un administrador de sistemas decente.

Hoy en dia podremos encontrar scripts para todas (o casi todas) las tareas estándar dentro de la administración de sistemas, pero sin ir más lejos, deberemos modicarlas y adapatarlas a nuestros sistemas.

No hace falta que domines todos los lenguajes (cuantos más mejor), pero creo que entender de bash y perl es la mejor inversión que harás si quieres dedicarte a la administración.

Podríamos decir que un administrador que no sabe programar (por muy bueno que sea), es como un futbolista que sale al campo a jugar un partido descalzo.