Kyle Brandt, um administrador de sistemas, pergunta Os desenvolvedores devem ter acesso à produção?
Uma pergunta que surge novamente e novamente em empresas de desenvolvimento web é:
“Os desenvolvedores devem ter acesso ao ambiente de produção e, se tiverem, até que ponto?”
Minha opinião sobre isso é que, como um todo, eles devem ter acesso limitado à produção. Uma pequena
Antes de tentar justificar esse ponto de vista, um pequeno aviso: esse ponto de vista não se baseia, de forma alguma, na qualidade percebida ou na atitude dos desenvolvedores, portanto, não o interprete dessa forma.
Essa é uma resposta difícil para mim, porque, bem, sou um desenvolvedor. Mais especificamente, Sou um dos desenvolvedores a que Kyle está se referindo. Como sei disso? Porque Kyle trabalha para nossa empresa, a Stack Overflow Internet Services Incorporated©®™. E Kyle é um ótimo administrador de sistemas. Como sei disso? Por dois motivos:
- Ele é um dos principais Falha no servidor usuários.
- Ele teve a audácia de escrever sobre esse problema no blog Server Fault.
Do meu ponto de vista, o objetivo da empresa é falar sobre o que estamos fazendo. Fazer as coisas acontecerem é importanteÉ claro, mas temos que parar de vez em quando para escrever o que estamos fazendo, como estamos fazendo e por que estamos fazendo isso, incluindo todas as nossas dúvidas, apreensões e preocupações. Se não o fizermos, estaremos enganando a nós mesmos e aos senhores em relação a algo muito mais profundo. Sim, escrever sobre o que estamos fazendo e explicá-lo à comunidade nos ajuda a nos concentrar. Isso permite que nossos colegas nos deem feedback. Mas, o mais importante de tudo, permite que os senhores qualquer pessoa tenha a oportunidade de aprender com nossos muitos, muitos erros… e, quem sabe, talvez até com um sucesso ocasional.
Essa é basicamente toda a filosofia por trás de nosso Rede Stack Exchange Q&A, também. Vamos todos falem sobre essas coisas em público, para que o senhor possamos ensinar uns aos outros como melhorar em qualquer coisa que gostamos de fazer.
(Às vezes, tenho a sensação de que essa ideia faz com que o meu cofundador que eu sempre me esforço para entender. Se não fizermos o que dizemos, por que estamos fazendo isso? Mas estou divagando).
A saga dos administradores de sistemas contra os programadores não é nova; acho que nunca trabalhei em uma empresa em que essas duas facções não estivessem continuamente lutando uma contra a outra de alguma forma. É realmente uma luta épica, mas para entendê-la, o senhor precisa compreender que tanto os administradores de sistemas quanto os programadores têm poderes sobrenaturais diferentes e talvez complementares.
Os programadores são como os vampiros. Eles frequentemente ficam acordados a noite toda, são mais pálidos que a própria morte e geralmente têm medo de ser expostos à luz do dia. Ah, sim, e eles tendem a pensar em si mesmos (ou pelo menos em seu código) como imortais.
Os administradores de sistemas são como lobisomens. Eles podem parecer comuns por fora, mas são incrivelmente fortes, quase invulneráveis a coisas que matariam pessoas normais e propensos a transformações estranhas durante uma “falta” de lua.
Quero deixar bem claro que, assim como Kyle respeita os programadores, eu tenho um profundo respeito pelos administradores de sistemas:
Embora certamente haja algum cruzamento, acreditamos que a comunidade de programação e a comunidade de TI/administradores de sistemas são diferentes. O fato de o senhor ser um grande programador não significa que domine a configuração de redes e servidores. E eu já conheci alguns administradores de sistemas que poderiam fazer scripts em círculos em torno do meu código. É por isso que o Server Fault tem seu próprio domínio, perfis de usuário e sistema de reputação.
De fato, são “bestas” diferentes.
De qualquer forma, se o senhor estiver procurando uma resposta única para a questão de quanto acesso os programadores devem ter aos ambientes de produção, sinto muito, mas não posso lhe dar uma. Cada empresa é diferente, cada equipe é diferente. Eu sei, é uma resposta ruim, mas o senhor não pode dar uma resposta única. depende.
No entanto, como qualquer pessoa que tenha assistido à última temporada de True Blood (ou, que Deus nos ajude a todos, o Eclipse do Crepúsculo ) pode atestar, há existem maneiras de os vampiros e lobisomens trabalharem juntos. Em uma equipe saudável, todos sentem que suas habilidades estão sendo usadas e não desperdiçadas.
Em nossa equipe, somos todos administradores de sistemas razoavelmente medianos. Mas há um milhão de coisas a fazer, e ter um administrador de sistemas profissional significa que podemos nos concentrar na programação, enquanto a rede, o hardware e as coisas operacionais recebem muito mais atenção e processos muito melhores (leia-se: não complicados) são implementados. Estamos felizes em reorientar nossos esforços naquilo em que somos especialistas e permitir que Kyle coloque suas habilidades em prática nas áreas em que ele é especialista. Dito isso, não queremos ceder acesso total aos servidores de produção, mas há um meio-termo feliz em que nosso acesso se torna infrequente e pequeno com o passar do tempo, exceto no caso, esperamos, raro de uma emergência em que todos estejam a postos.
A arte de gerenciar vampiros e lobisomens, penso eu, é garantir que eles passem o tempo não brigando entre si, mas sim, usando esses poderes sobrenaturais juntos para atingir um objetivo comum que, de outra forma, não poderiam. De acordo com minha experiência, quando programadores e administradores de sistemas brigam, é porque estão entediados. O senhor não deu a eles uma tarefa suficientemente assustadora, que exija o uso total e combinado de suas habilidades exclusivas para ser realizada.
Lembre-se, não se trata de vampiros contra lobisomens. São os vampiros e lobisomens.