Inspirado por esta pregunta , pregunto lo contrario: ¿qué tanto de la programación necesitan saber los administradores del sistema? Más específicamente, ¿qué herramientas de programación son útiles para un administrador de sistemas?
Inspirado por esta pregunta , pregunto lo contrario: ¿qué tanto de la programación necesitan saber los administradores del sistema? Más específicamente, ¿qué herramientas de programación son útiles para un administrador de sistemas?
Respuestas:
Yo comenzaría con:
La administración del sistema es solo programación. Un sistema de gestión de configuración le permite ver toda su infraestructura como una máquina distribuida. Como administrador de sistemas, su trabajo es programar esta máquina.
Conozca un editor de texto. Por lo general, vi para sysadmins, emacs para programadores.
Saber escribir guiones. Elige un lenguaje de script. Perl es un favorito perenne, al igual que el combo shell / sed / awk. Ruby y Python pueden funcionar, pero para muchas cosas los objetos son el paradigma incorrecto.
Sepa cómo escribir documentación legible.
Control de versiones. Crucial para mantener archivos de configuración y pistas de auditoría.
Aprende a pensar en términos de programación. Comprender paradigmas de programación procesales, orientados a objetos y funcionales. Puede que nunca se usen, pero conocerlos te hace infinitamente más productivo.
Aprenda a usar un depurador (o más) y el registro.
Aprenda a usar un RDBMS. Hay muchos requisitos de procesamiento de datos que pueden simplificarse utilizando un RDBMS correctamente. Incluso poder cambiar a un rol de DBA bajo demanda puede hacer maravillas.
Prueba antes del despliegue. Vea la filosofía de desarrollo basada en pruebas.
La programación en pareja es buena. Haga que alguien más cuide sobre su hombro para aprender / aconsejar / corregir.
Aprenda a tener al menos una familiaridad pasajera con un montón de idiomas. Aprende un nuevo idioma cada año.
La creación de secuencias de comandos es esencial, pero secundo el consejo de que conocer algunos idiomas "reales" es una ventaja definitiva. Puede hacer algunas cosas muy útiles con el espacio de nombres .NET System.DirectoryServices, por ejemplo.
Soy programador y administrador / integrador senior. Para trabajar donde lo hago, debes saber lo siguiente:
La mayoría de los administradores junior pueden mirar a uno de nuestros programadores y decir (con autoridad), sí, lo instalé correctamente, aquí es donde tiene una fuga y es por eso que el código que acaba de insertar se está rompiendo. O "No, no es nuestra versión de MySQL, mira tu consulta aquí ..."
Creo que somos un poco diferentes, cuando contratamos a un administrador talentoso ... a la mitad esperamos que (eventualmente) encuentren su camino a la programación, incluso si es solo piratear algo que usamos para trabajar de la manera en que lo necesitan. .
En resumen, estar bien redondeado nunca te hará daño.
Hace muchos, muchos años (de hecho, Windows NT 3.1) comencé como programador especializado en servicios de escritura e incluso en controladores ocasionales de dispositivos. Esto significa que conoce muy bien el núcleo de Windows. Con el tiempo me aburrí un poco con la programación y cambié a la administración de la red. He descubierto que mi experiencia en programación ha sido inmensamente valiosa una y otra vez.
No es solo que escribir scripts de VBScript sea relativamente sencillo. Saber cómo funcionan las entrañas de Windows y, en particular, cómo funciona la IP, ayuda enormemente a desenredar los problemas extraños del servidor y la red. También es una mentalidad. Los programadores están acostumbrados a la documentación y al control de versiones, y me horroriza ver cuántos administradores de Windows intentarán algo para ver si funciona y se preocuparán por desenredar el desastre después.
Todo muy bien, pero no es un consejo muy útil decir ¡vete y trabaja como programador durante diez años! Sin embargo, creo que ayudaría a la mayoría de los administradores de sistemas tener alguna experiencia de programación en un lenguaje "difícil" como C ++ o C #. Y si tienes programadores domesticados en tu organización, ¡ve a beber con ellos!
John Rennie
Suceden cosas malas, su código durará más de lo que cree. Falla con gracia, con mensajes de error útiles. Te quedarás sin disco, ram, cpu, tiempo, etc., trata con él.
No seas tan optimista, esa extraña cuestión de un millón ocurrirá con demasiada frecuencia en la producción.
Con todas las descripciones aquí, no voy a decir que soy un administrador de sistemas. Pero el hecho de que construí y administro un par de servidores Windows / Linux, debo admitir algo:
en linux, es necesario saber las secuencias de comandos bash; si sabe cómo integrarlo con perl / awk / etc., es mejor. Encontré que muchas tareas se volvieron más fáciles al usarlo.
Saber programar en C / C ++ ayuda mucho. A veces tiene que modificar un código fuente de GNU (si usa uno) para satisfacer sus necesidades porque convertirse en un producto GNU no garantiza que siempre obtendrá la ayuda que necesita a tiempo, y muchas veces están escritas en C / C ++.
Saber cómo vincularse a su LDAP y recuperar la información necesaria en el lenguaje de secuencias de comandos que elija es clave para todo, desde la resolución de problemas hasta la intensificación de varios tipos de automatización (aprovisionamiento de cuentas y recursos, verificaciones más inteligentes en las cuentas de usuarios o máquinas).
Puede parecer básico, pero he visto muchas tiendas de pan y mantequilla donde la gente no cree que necesiten este tipo de administración del sistema. Muchos lugares gastan mucho dinero en grandes conjuntos de herramientas administrativas y, por lo que puedo decir, el 95% de lo que usan las herramientas podría haberse hecho con unas pocas horas de secuencias de comandos si alguien lo supiera o supiera cómo hacerlo. hazlo.