Sysadmin 101

By | November 3, 2010

Uns dias atrás troquei uns emails sobre a profissão de sysadmin com um rapaz que está iniciando. E hoje vendo minha time line no twitter vi que o @mt4ncr3d1 também me trucou sugerindo um post sobre isso. Então já que estou com a mão na massa mesmo… Lá vai…

Primeiro deixar claro que tenho dois pontos de vista: Um de sysadmin cuja atividade exerci por 12 anos (de júnior a senior) e o de gerente de IT, posição que assumi faz pouco tempo.

Vou começar pelo último que é mais simples: Quando eu dou uma tarefa pra um sysadmin eu só quero que ele volte pra mim ou com a tarefa feita ou com um pedido de ajuda (verba, treinamento, tempo) ou pedindo pra sair.

Não interessa se você é do sexo masculino ou feminino. Sysadmin não é profissão de mulherzinha pra ficar de mimimi. É um dos trabalhos mais barra-pesada em IT e como gerente gosto de resultado e não de desculpa.

Falando como sysadmin agora: É um cargo ingrato, exigente e com uma enorme responsabilidade. As atribuições da sua posição podem ser muito relativas e com certeza vão variar um bocado de empresa para empresa.

Um sysadmin vai gastar 80% do expediente apagando incêndio, 20% arrumando cagada de terceiros, 10% respondendo emails, 15% estudando e fazendo laboratório e 5% em atividades aleatórias. Deu mais de 100%? Então, sysadmin faz um bocado de hora extra. (valores estimados)

Portanto fica fácil de ver que um bom sysadmin precisa ser alguém responsável, sangue frio, hábil em multi-tarefa, capaz de gerenciar bem o tempo, gerenciar conflitos e com uma paciência de Jó. Ter visão biônica, ser auto-didata e capaz de reconhecer os próprios erros também são pré-requisitos e deveriam vir nas ofertas de emprego antes da descrição da vaga.

Aliás a IBM tem um core de valores e skills que eles buscam em seus funcionários – como pode ser visto nessa página – que vale a pena reproduzir aqui já que também considero essenciais para qualquer um que almeje ser um sysadmin:

  • Adaptability
  • Client focus
  • Taking ownership
  • Communication
  • Drive to achieve
  • Teamwork and collaboration
  • Creative problem solving
  • Passion for the business
  • Trustworthiness
Falando primeiro sobre responsabilidade: Eu fico irado quando vejo um sysadmin cuidando do ambiente como se fosse só a coleção de MP3 do computador dele. E isso é um problema tão grande que num dos empregos que eu tive atendíamos um cliente internacional gigantesco que tomou o problema nas próprias mãos. Nossa equipe era de uns 120 sysadmins (desde Unix até Exchange) e num determinado momento o cliente estava puto da vida que ninguém parecia realmente entender o quão importante era o trabalho dos sysadmins, que simplesmente largavam problemas no meio do troubleshooting pra ir almoçar ou tomar café ou iam embora no final do expediente sem ter resolvido.
O cliente fretou vários ônibus e fez excursão em grupos de 40 sysadmins de cada vez mandando a gente pra um enorme centro de distribuição no interior paulista. Chegando lá o gerente de operações fez um mini-tur por toda a localidade explicando cada etapa do processo e o trabalho de cada pessoa. Dando constantes pauladas do tipo: Estão vendo esses caminhões-frigorífico aqui? Então, quando a gente abre um chamado dizendo que a impressora de nota fiscal não tá funcionando e que não podemos mandar remessa significa que tem 50 caminhões iguais esses, com comida estragando e com motoristas furiosos xingando mais a cada minuto que vocês demoram pra resolver o problema.
Um sysadmin precisa ter consciência que ele não está apenas renomeando um arquivo ou re-iniciando um servidor de web. Ele está efetivamente causando mudanças no mundo físico com seu trabalho. 50 toneladas de comida podem estragar se ele não resolver um problema a tempo. Uma velhinha pode não receber a aposentadoria dela e não ter dinheiro pra pagar o aluguel se o script que importa informação do sistema X e faz parse pro sistema Y tiver quebrado.
Sysadmins que trabalham em hospitais podem confirmar que um vacilo em monitorar ou arrumar um problema num sistema de saúde pode levar um médico a fazer caca com um paciente e causar graves danos à saúde do mesmo.
Por isso tenha consciência: Sysadmin precisa ser alguém responsável.
Outra coisa pra manter em vista é que sysadmin é um termo muito aberto e pode significar diferentes coisas em diferentes empresas.
Geralmente em pequenas empresas sysadmin é o sujeito que assobia e chupa cana enquanto escova os dentes. Sua responsabilidade vai ser cuidar as workstations, servidores, banco de dados, equipamentos de rede, telefones e cabeamento. Hardware e software de todos os itens mencionados. É muito provável que sobre pra você trabalho de suporte primeiro nível também.
Na minha opinião essa é a melhor posição pra começar. Mão na massa em absolutamente tudo. Comecei assim e considero que foi excelente pois me deu uma visão geral e me ajudou a descobrir o que eu mais gostava e o que eu não gostava.
Em empresas de porte médio as responsabilidades já começam a ficar um pouco mais definidas: Ou o sysadmin tem um foco mais definido (por exemplo: Sysadmin Unix) ou no mínimo já existe uma estrutura para atividades mais periféricas: Um time de suporte atendendo chamado de primeiro nível, o tiozinho da manutenção pra passar cabo, um departamento de programação e quem sabe  até uma divisão entre telecom (redes e telefones) e servers (Unix, Windows, Banco de Dados, …).
Também trabalhei nesse modelo (inclusive no meu trabalho atual) e é esse que considero ideal. Como sysadmin aqui eu tenho acesso o suficiente para fazer o que eu quiser/precisar sem me preocupar com coisas básicas (suporte primeiro nível) ou complicadas demais (desenvolvimento de software).
O cenário muda bastante quando vamos para empresas grandes e gigantes: Sua posição de sysadmin vai ser extremamente bem definida. Eu, por exemplo, trabalhei no time de operações Unix de segundo nível para storage, filesystem e server deployment/troubleshooting. Cacete. Não podia ser mais específico. O trabalho do time (4 pessoas) consistia basicamente em trabalhar em storages, shares NFS e instalando servidores novos e fazendo troubleshooting (problemas de hardware). Mas só via logs, porque quem colocava a mão na massa mesmo era outro time de sysadmins: Data-Center Support, que tinha o pessoal que ia lá e apertava os cabos, trocava memória, colocava disco novo…
Em outro emprego que tive eu era sysadmin de rede, portanto eu só tinha acesso nos equipamentos e comandos de rede. E vira e mexe pegava um firewall rodando Linux. Eu até podia rodar iptables e fazer mudanças em memória, mas se quisesse atualizar o script de inicialização eu tinha que mandar pro time de Unix, que efetivamente podia abrir o arquivo e colar minhas mudanças.
Esse ambiente é interessante até certo ponto, mas vou deixar você pensar sobre isso.
Independente de qual o cenário, o tanto que se trabalha é absurdo. Primeiro porque aparentemente não importa quão rápidos sejam os novos processadores, memórias e discos: Tudo leva uma eternidade para abrir, dar boot, compilar, copiar, debugar… Já repararam, não? Então conte com isso: Tudo vai demorar mais tempo do que você estima.
E fato é que a maior parte do que um sysadmin faz é apagar incêndio: Marketing decidiu fazer uma campanha sensacional que fez com que o volume de visitas no site fosse 10x maior que o normal. Alguém avisou o sysadmin antecipadamente? Não, né? A bos** do servidor web aguentou o tranco? Não, né? O infeliz do diretor tentou abrir a página principal que anunciaram na globo em horário nobre sem avisar o sysadmin e ela abriu? Não, né? Amigão: Se vira… o problema é seu agora.
Outra: 3 horas da tarde de quinta começa a chover ligação que o sistema de contabilidade XPTO parou. Você começa a fazer troubleshooting igual um louco e se mata olhando todas as coisas possíveis e imaginárias. Você até chega a dar um reboot num servidor Linux (SACRILÉGIO!) porque simplesmente não consegue achar mais nenhuma explicação para o que está acontecendo.
Cinco horas depois (isso significa que já são 8 da noite) você descobre que um dos programadores (sempre eles) fez uma mudança num arquivo XML escondido num subdiretório sinistro e não seguiu o procedimento de change, não anotou a mudança em lugar nenhum, não avisou ninguém e ainda por cima 2 horas atrás quando você ligou pra ele perguntando se ele tinha alguma idéia para te ajudar ele disse que não e que estava de saída (já são 6 da tarde, né, sysadmin imbecil? Quero ir embora).
Mais uma? Essa aconteceu comigo. Exemplo real:
Diretor de IT chega pra mim dizendo que o presidente da empresa tentou mandar um email pro amigo dele que é presidente de outra empresa (em Manaus) e o email voltou. E ele quer isso arrumado imediatamente.
Eu sigo os passos normais de troubleshooting: nslookup mostra que o domínio existe, os MX estão configurados corretamente. Vou no servidor de email e vejo que ele achou o servidor correto (mesmo nome e IP que o nslookup mostra) mas mostra “Connection Refused”.
Que diacho? Vou no meu console, telnet no servidor MX, porta 25 e abre o banner do SMTP. Vou no console do servidor de email, faço a mesma coisa: Connection refused.
Como tenho acesso ao meu micro de casa conecto lá, tento o telnet, connection refused. Chamo um camarada ou outro no ICQ (sim, faz tempo isso) e alguns conseguem abrir e outros não. WTF?
Hora de apelar pro tcpdump (que não estava instalado, lógico), e sair analisando pacote. Até aqui quanto tempo já gasto nisso? 4 horas ou mais, sem dúvidas.
No final acabei descobrindo que o problema todo é que a empresa do amigo do meu presidente rodava um firewall de mil novecentos e guaraná com rolha e o maldito não tinha suporte a ECN. Mas ele não ignorava simplesmente… ele resetava a conexão… Como eu tinha dois firewalls (corporativo e web) dependendo de onde eu tentava o resultado era diferente. Por isso os camaradas no ICQ também tinham resultado diferente.
Foi um dia inteiro gasto pra descobrir que era cagada de uma empresa terceira! E pensa que rolou: Ah, então fazer o que? Nada! O “homem” falou que não podia se importar menos com os meus problemas e que ele queria mandar email pro amigo dele. Acabei tendo que desabilitar ECN no MEU firewall.
Se pretende ser sysadmin prepare-se também consertar cagada alheia, tipo o usuário que te liga 10 minutos antes do fim do expediente dizendo que sem querer deletou um arquivo vital para fechar a folha de pagamento (olha o seu salário ai no meio). Toca você voltando backup da fita que estava no cofre no porão… Se prepara… antes das 10 da noite você não vai pra casa.
E é importante frisar que a despeito de tudo isso você ainda precisa pensar no futuro e buscar facilitar sua própria vida, portanto estudar e pesquisar é preciso. Assinar bons feeds de notícias de IT, seguir outros sysadmins no twitter (tipo eu) e manter uma rede de contatos é importante. Mas isso normalmente sobra pro seu tempo pessoal, em casa de noite ou no final de semana. Não se iluda: Mesmo que você queira fazer isso do trabalho sempre vai ter alguém te interrompendo. Você só vai conseguir algo produtivo em paz, o que é raro na vida de um sysadmin.
Eu poderia continuar falando mais e mais dos pontos negativos, mas se não te assustei até agora não assusto mais.
O ponto positivo você só vai entender se for muito nerd (esqueci de citar isso como outro pré-requisito): O poder e o conhecimento que se acumula sendo um sysadmin é auto-recompensante. É fenomenal você parar no final do dia, rodar um comando de 1 linha no shell e pensar: Caramba… acabo de mudar um banco de dados em produção do servidor X pro servidor Y a quente sem afetar meus usuários.
Ou então: Salvei o dia da empresa graças a um shell script de 20 linhas que arrumou todos os arquivos que o pessoal de contabilidade gerou errado.
Já teve vezes que fiz ou descobri ou consegui algo tão genial que acabo chamando algum outro camarada no Google Talk (normalmente o @juliomauro) apenas para relatar aquele momento “I know Kung Fu“.
Eu diria que fica fácil saber se você será um bom sysadmin: Você já passou o final de semana inteiro tentando fazer algo extremamente complexo, demorado e meio sem sentido no seu computador? Tipo instalar um LFS? Quando você finalmente terminou, faminto e fedido você olhou e pensou: “Caracas… Eu sou ninja mesmo!”. Talvez tenha feito um post no twitter ou no seu blog sobre isso e logo a seguir apagou tudo e saiu procurando outra coisa pra brincar?
Nesse caso você será um bom sysadmin.
E quem sabe um dia consiga o privilégio de usar um avatar igual o que eu uso no Messenger da empresa e ter as pessoas (técnicas, lógico) entendendo e respeitando a mensagem que ele carrega:
PS: Acho que vou precisar de um Sysadmin 102, já que não cheguei nem perto de falar da parte técnica.
No tag for this post.

Related posts

7 thoughts on “Sysadmin 101

  1. Foscarini

    Congratz, ótimo post.
    Mas pro público normal, sysadmin continua sendo aquele cara que arruma o windows.

  2. Marcelo Tancredi

    Opa Eri!

    Ficou muito bom o post! Deu pra ver que grande parte das coisas que passo por aqui é normal rssssssss

    E você definiu meu trampo: “Geralmente em pequenas empresas sysadmin é o sujeito que assobia e chupa cana enquanto escova os dentes. Sua responsabilidade vai ser cuidar as workstations, servidores, banco de dados, equipamentos de rede, telefones e cabeamento. Hardware e software de todos os itens mencionados. É muito provável que sobre pra você trabalho de suporte primeiro nível também.”

    Agora fico no aguardo da próxima aula! 😉

    Abs!

  3. Julio Mauro

    É bom por ai mesmo o que vc escreveu. Mas vale ressaltar que você só é lembrado quando alguma coisa dá pau, quando precisa de alguma coisa para ontem.

    Não espere reconhecimento pelo seu trabalho bem feito, pois você sempre será lembrado por alguma cagada ou algum problema que aconteceu (nao é 100% verdade, mas tá quase lá)

    Outro problema se chama ESPOSA. Se voce é casado, namora, é noivo ou algo do tipo, deixe ela ciente que a sua vida muitas vezes é comparada a de um médico e como toda boa esposa(e derivadas) de um médico ela poderá ficar sem voce durante um bom tempo na madrugada, finais de semana, feriados e etc etc etc… é só conversar 🙂

    Mas realmente o que me faz gostar de ser sysadmin é o aprendizado diário. Todos os dias você aprende algo novo, se especializa em algo que voce já conhecia. Eu mesmo semana passada descobri como resolver um problema de replicação de servidores LDAP que apanhava a quase 3 anos, que foi resolvido com uma “\”. A parte do “I know Kung Fu” foi d+ 😀 ja perdi a conta de quantas mensagens trocamos referente a isso eheheh.

    Outra coisa é: Tenha um bom network com outras pessoas da área. É fundamental para se tirar duvidas, resolver problemas, ajudar a resolver, arrumar emprego, sacanear alguem na internet e etc. Esse acho que é o maior segredo para se tornar um sysadmin reconhecido.

  4. Ericksson

    This blog, is a must!

    Mesmo sabendo de tudo isso e já tendo vivido algumas delas em partes, eu não peço pra sair.

    Fico até o final meu comandante.

    Como sempre, artigo muito bem escrito.

    Abraços!

  5. Diogo Souza

    Caraca, muito bom! huahuahua

    Tive apenas uma breve experiência no mundo de sysadmin mas deu para ver o drama! Tenho bem mais respeito pelos servidores que rodam meus aplicativos agora hahaha

    A melhor parte a sensação de controle ao se tornar “root”.

  6. Pingback: Sysadmin 201 at Another Geek Blog

  7. REnato

    Caramba, o melhor post sobre sysadmin que já li, muito bom.
    Vi tudo o que vivo todo dia, hehe.
    Parabéns. =D

Comments are closed.