El SysAdmin en España
Empecé mi carrera como Administrador de Sistemas y durante estos años me he dado cuenta de varios problemas que rodean esta maravillosa profesión en España. Esto no se trata de una pataleta sino de una observación personal y en mi opinión bien argumentada.
El SysAdmin en España no vale nada
Lo que vengo observando, en lineas generales, es que el Administrador de Sistemas en España es el último perfil a contratar en caso de una empresa nueva y a escalar en el caso de empresas ya formadas. No se le da el valor que merece ni se aprovechan todas sus capacidades.
Yo pienso que la creencia general, en cuanto a sistemas web al menos, es que la misión del SysAdmin es la de montar máquinas, instalar servicios y crear cuentas de correo. Esta labor al principio la suele hacer alguien de otro perfil hasta que estas tareas son lo bastante frecuentes como para dar trabajo a una persona full-time.
Pues bien, si piensas que el valor de un SysAdmin se mide en base a el número de máquinas que puede instalar en un día solo puedo decir que tu negocio está condenado a la mediocridad.
Entre otras cosas, un buen SysAdmin puede y debe, al menos:
- Participar en el diseño de la plataforma. La elección de una base de datos, un lenguaje de programación o la integración con servicios externos son temas en los que la experiencia de un SysAdmin puede resultar muy valiosa.
- Automatizar la creación y mantenimiento de la plataforma. Es decir todo lo relacionado con aprovisionamiento y configuración.
- Identificar y participar en la resolución de problemas de rendimiento. Toda aplicación web que se precie tiene problemas de rendimiento y cuellos de botella que se pueden solucionar o al menos reducir.
- Securizar la plataforma. Ha de ser segura tanto a nivel de aplicación como a nivel de sistema. La idea es que un usuario final use la plataforma exclusivamente del modo que queremos que la use. Sin sorpresas.
- Mantener backups y diseñar e implementar planes de contingencia. Por muy bien que esté construido nuestro servicio, en algún momento se va a romper. Puede haber problemas en la aplicación, en el sistema o en la red. Debemos de estar preparados para ello de forma que podamos, en primer lugar, garantizar la seguridad de los datos y, en segundo lugar, la continuidad del servicio. Un buen administrador de sistemas, además de diseñar un plan de contingencia lo mejor posible, va a ser un recurso casi imprescindible a la hora de resolver una crisis.
- Registrar métricas. Las métricas son un recurso imprescindible en cualquier sistema. Los servicios web no son diferentes. En el aspecto técnico un buen análisis de métricas del sistema y de la aplicación nos va a ayudar a entender y prever sucesos en nuestro sistema dándonos, a su vez, información valiosa a la hora de escalar correctamente la plataforma. De esta forma vamos a saber, cuando está sobredimensionada, causando un gasto económico innecesario o subdimensionada, causando problemas y una pobre experiencia al usuario.
Es evidente que cualquier empresa o proyecto web va a obtener grandes beneficios teniendo a su lado un Administrador de Sistemas y que sin duda va a tenerlo ocupado el 100% del tiempo.
Aun con estos argumentos siempre está el argumento en contra de que este perfil no es importante porque no genera negocio o ingresos directamente, sino que solo es gasto y por ello hay que destinar el menor número de recursos posibles. No he oído este argumento ni una ni dos veces.
Creo que es evidente la incoherencia y profunda ignorancia de este argumento. Extrapolemos los puntos anteriores a la ausencia de un SysAdmin competente. Sin él, probablemente, la plataforma va a tener un rendimiento pobre, cualquier intervención va a dar mucho trabajo, va a tener problemas serios de seguridad, las crisis van a ser prolongadas y con probables pérdidas de datos y va a estar muy mal dimensionada, causando problemas a los usuarios o generando un gasto muy elevado.
¿Donde están los SysAdmins?
No todas mis críticas son para las empresas. Aun con los pocos recursos que se dedican a los sistemas web, la demanda sigue siendo alta. Aparentemente también lo es la oferta. A pesar de ello resulta realmente difícil encontrar Administradores de Sistemas bien formados. Con “bien formado” no quiero decir que hayan estudiado una carrera de Informática. Sin duda esto no es garantía de nada. A lo que me refiero es a la dificultad de encontrar gente que reúna las cualidades, que en mi opinión, definen a un buen SysAdmin. Estas serían algunas de ellas:
- Inconformista y pasión por la perfección. Una plataforma siempre puede tener mejoras de rendimiento, seguridad, automatización, etc.. Un buen SysAdmin no dista tanto de un diseñador perfeccionista.
- Coherencia y mente analítica. Una plataforma no se sustenta en la intuición de nadie. La intuición se gana al cabo de los años y sin duda es de gran ayuda, principalmente a la hora de buscar y solucionar problemas. No obstante detrás de cada acción, ya sea mejora o solución de un problema, ha de haber un análisis meditado y coherente de la solución y las alternativas. No se puede hacer una elección de una tecnología solo porque creemos que funciona mejor o porque lo hemos leído en un blog. Igualmente, un buen SysAdmin, tiene que ser capaz de hacer un análisis general de la plataforma o de una crisis, para poder aprender de ellos.
- Trabajar bien sobre presión. Esto no significa que todo el trabajo de un SysAdmin sea bajo presión. Si lo es, para un momento a pensar porque hay algo que no se está haciendo correctamente. No obstante, es evidente que la presión es una parte del trabajo de sistemas. Normalmente estos momentos de presión están relacionados con eventos inesperados y crisis. Saber mantener la calma en momentos como estos y concentrarse en el problema es fundamental.
- Saber priorizar. Un SysAdmin debe ser capaz de ver el Big Picture del proyecto o proyectos en los que participa. Van a ser frecuentes las ocasiones en las que tenga que realizar más de una tarea importante al mismo tiempo. El que sea perfeccionista no significa deba dedicarle horas a cada tarea para completarla de forma brillante. En momentos como estos él mismo ha de saber cuales son los parámetros mínimos de calidad de cada tarea en caso de que tenga que resolver varias de forma rápida.
- Saber trabajar en equipo. Atrás quedan los tiempos de los temidos BOFHs metidos en sus castillos. Un SysAdmin, en un proyecto web, tiene que estar completamente integrado con el equipo de desarrollo. Ambas partes tienen propósitos y problemas comunes. Debe existir un diálogo y una comprensión de los problemas de ambos.
- Inglés. Es evidente, el mundo de la tecnología se habla y escribe en inglés. No se le debe tener miedo al inglés.
Por supuesto, como cualquier otra persona, un buen SysAdmin ha de sentir pasión por su trabajo y por el proyecto en el que participa. No tiene sentido enumerar tecnologías o conocimientos técnicos que ha de poseer ya que eso es algo que se gana con experiencia y que difiere muchas veces entre empresa y proyecto. Lo esencial es que reúna todas las cualidades mencionadas.
Dicho esto me sigo preguntando ¿por qué es tan difícil encontrar un SysAdmin? En el mundo de la informática casi todo el mundo empieza trasteando con algún lenguaje de programación. ¿Tal vez seguir el camino de los sistemas le resulta extraño a la gente? A mi en realidad no me parecen cosas excluyentes, sino complementarias. Un sysadmin que no es capaz de programar o entender un código sencillo no va a llegar muy lejos. También es cierto que las universidades no suelen hacer demasiado hincapié en los sistemas. Mal por ellas.
No me quedan claros los motivos. En mi opinión, y vistas las labores del día a día de un buen SysAdmin, me parece un trabajo bastante excitante. Más incluso si esas tareas se aplican a grandes servicios webs.
En resumen, en el tema de los SysAdmins en España se han juntado el hambre con las ganas de comer y eso solo acaba perjudicando la calidad de la tecnología y los servicios web en este país.