Respostas:
Formou-se como administrador de sistemas e mudou para o campo do desenvolvimento.
Eu apenas tive esse momento de iluminação, percebendo que os PCs são uma porcaria. Não mesmo. Você tem especificações de hardware que não são claras, e todo mundo o implementa um pouco diferente, causando pequenos problemas de compatibilidade. Se os PCs não fossem uma porcaria, não haveria incompatibilidades ao usar certos tipos de RAM (desde que o padrão corresponda ao da placa principal - não há desculpa para o fato de a RAM DDR3-1066 ser incompatível com as placas mãe DDR3-1066) , ou com determinados dispositivos USB.
Portanto, você possui um hardware que foi quebrado por design porque as especificações são inúteis e, além disso, você corrigiu o software. Acabei de perceber que o SysAdmin é um trabalho sem nada a ganhar. Você não pode "consertar" problemas - basta usar fita adesiva para resolver temporariamente alguns sintomas, mas está sempre do lado perdedor porque não tem uma boa base para começar.
Para aqueles que não querem trabalhar com porcaria x86 / x64, YMMV, mas aprendi o suficiente nos meus 7 anos de SysAdmin para saber que esse não é o meu trabalho.
Então, em vez de sempre ficar de fora quando o hardware quebrado quebra, mudei para o campo de criação de valor. Egoísta? Talvez. Sim, às vezes meu software é de buggy e, no final, é construído sobre a mesma base defeituosa, mas como desenvolvedor, sinto que estou realmente fazendo algo de valor.
Dito isto: respeite a todos que fazem o trabalho do SysAdmin com paixão. É um trabalho ingrato e muitas vezes insatisfatório, mas todo mundo que mantém servidores em funcionamento é um herói em meu livro.
Comecei como desenvolvedor, acabei como DBA, depois um administrador de sistema e agora um gerente de administrador de sistema.
Achei a administração do sistema mais interessante porque tive a oportunidade de trabalhar em um grande ambiente distribuído com muitas partes móveis para integrar e manter.
Além disso, na IMO, uma alta porcentagem de trabalhos de desenvolvimento é voltada à manutenção de aplicativos ruins ou à personalização de pacotes comerciais. Ugh. Para mim, o sysadmin parecia apresentar mais oportunidades de ser criativo e ter um impacto visível nos sistemas que mantêm os negócios funcionando.
Comecei como administrador de sistemas que gostava de codificar. Eu descobri que as habilidades de programação são a principal habilidade para um administrador de sistemas. Se você não sabe como automatizar tarefas, acabará em um pesadelo de manutenção.
Com o passar dos anos, fiz cada vez menos administração de sistemas pura. E agora prefere fazer a arquitetura de novas soluções. Se eu fizer o sysadmin-stuff, sua depuração de terceira linha geralmente pesada, ou código para integrar algumas soluções de porcaria - nas caixas de algum outro administrador instalado para mim.
Enquanto ainda estou na uni, tenho um emprego como webadmin, então é definitivamente mais perto de ser sysadmin, então desenvolvedor. Então, gradualmente, desenvolvi cada vez mais o desenvolvimento, também à medida que a empresa crescia, havia mais tarefas de TI. Chegou ao ponto, quando eu disse ao meu chefe, que é uma carga de trabalho demais para fazer as duas coisas, contratamos caras que eram estritamente administradores de sistemas, enquanto me dediquei 100% ao desenvolvimento.
Eu não tinha o luxo de um ou outro. Eu tive que começar a fazer as duas coisas ao mesmo tempo . Combine isso com a migração de um legado de Macs antigos baseados em 68k para desktops HP mais novos, e tentando modernizar a produção industrial (otimização de lista de corte) E configurando acesso à Internet E email e aprendendo um novo idioma (Delphi) E lidando com problemas de dados e aprendendo Linux e aprendendo Windws NT 4 E o básico das redes TCP / IP .... blá blá blá ....
Você entendeu a ideia. O batismo pelo fogo e, às vezes, enxofre servia ao lado. 1997 não era o mesmo que 2007, e muitos "recém-chegados" ao trabalho administrativo podem não apreciar a diferença. Você não podia simplesmente "pesquisar no google", o Google ainda era uma startup.
Você aprende rapidamente coisas sob esse tipo de pressão, como a importância do seu trabalho para os outros. Para eles, você é um mal necessário. Para você, você sabe em seu coração que o lugar irá para o inferno em uma cesta de mão se você não mantê-lo funcionando.
Quando saí, foi porque estava exausto e o proprietário não apreciava muito o trabalho duro que fazia. Cronometrar 24 horas seguidas de trabalho sem comida, descanso ou compensação é ridículo. Esperar que eu ficasse mais 12 horas além disso, sem comida, descanso ou compensação estava empurrando os limites da minha resistência física. Vamos ver, 36 horas em dois dias, e ele não pode se perguntar por que eu quero um único dia de folga depois de tudo isso.
Isso foi há 10 anos. Escusado será dizer que meu novo empregador é muito mais razoável. Eu ainda faço o SysAdmin e o trabalho de programação, embora tenda a ser muito mais fácil. Provavelmente porque tudo não está pegando fogo e há mais de uma pessoa para trabalhar em um problema .
Aqui está uma versão concisa da minha história:
Comecei estritamente como desenvolvedor, mas tive que aprender muitas coisas do administrador de sistemas, porque comecei a ajudar meu pai na empresa dele. Atualmente, ainda sou desenvolvedor, mas também faço coisas pesadas sobre o sysadmin.
Ambas as áreas se complementam muito bem, eu diria. Por exemplo, embora eu não seja um administrador de sistemas especializado, sei como configurar um servidor da Web seguro para meus aplicativos, resolver vários problemas de administrador de sistema etc. .
Como administrador de sistemas, conhecer o desenvolvimento de software me permitiu automatizar melhor tarefas pesadas e entender muito bem como algumas coisas subjacentes funcionam.
Talvez esse seja um caso comum? Acho que a maioria dos administradores de sistemas conhece pelo menos um pouco de programação, certo?
Estou muito interessado em saber como você aplicou uma das áreas de conhecimento à outra.
É mais fácil ir do sysadmin -> sysadmin que codifica -> desenvolvedor. A menos que você tenha sorte, você enfrenta um corte de pagamento indo para o outro lado.
Se nada mais, quando você trabalha em um ambiente em que precisa falar com os desenvolvedores, alguma familiaridade com a codificação é inestimável - isso realmente ajuda a ter uma língua franca , especialmente quando você precisa explicar por que instrumentar para operacionalidade é uma coisa boa. .
Comecei como Sysadmin e me vi transformando em um administrador preguiçoso que odiava fazer a mesma coisa duas vezes, então aprendi a criar scripts. O script não apenas facilitou as tarefas mundanas, como também ajudou a simplificar as coisas, garantindo que todas as etapas apropriadas fossem consideradas em uma tarefa. Os scripts também me levaram ao ponto em que estou hoje, onde não gosto de interfaces gráficas, porque não sei qual código está sendo executado no back-end e, portanto, não confio neles. Também acompanhei a evolução natural do script para o trabalho de desenvolvedor, mas como sou um administrador de sistemas no coração e nunca tive nenhum treinamento formal de desenvolvimento em nenhum dia da minha vida, ainda me pego voltando ao trabalho de administrador de sistema. Honestamente, em alguns aspectos, eu gostaria de ter sido demitido, ou talvez mais apropriadamente de longas férias (3-4 semanas),
Comecei como administrador de sistemas / dba e depois fiz o meu caminho para a programação. Entrei na arena sysadmin / dba porque tinha a idéia errada de que os programadores estavam trancados em uma sala dos fundos e nunca conversavam com ninguém. Quando comecei a mexer com a programação (VBA -> VB6 -> .NET), descobri que precisava saber como os processos funcionavam das pessoas que os executavam (imagine isso!)
Eu trabalhei no desenvolvimento e agora sou programador. Aparentemente, eu sempre fui um programador no coração, porque nunca sinto que estou trabalhando mais! :-)
Meu conhecimento do lado do sysadmin / dba me ajudou imensamente quando comecei a codificar, porque sabia como tudo funcionava e como deveria funcionar. Isso me deu uma grande vantagem sobre as soluções de programação para o pessoal do administrador de sistemas!
-JFV
Comecei como técnico de desktop e mudei para o sysadmin depois de alguns meses. Passei os próximos 8 anos fazendo o sysadmin e constatei que grande parte do meu tempo era gasta escrevendo applets e scripts para realizar minhas tarefas administrativas. Eu gostava de codificar muito mais do que minhas tarefas sysadmin e tive a sorte de cair em uma posição de desenvolvedor dentro da mesma empresa. Agora eu faço as duas coisas, na verdade. Estou em um pequeno grupo de aplicativos altamente especializado e uso os dois chapéus. Melhor dos dois mundos! Acompanho o sysadmin e também o foco no desenvolvimento como parte da descrição do meu trabalho.
Iniciado como desenvolvedor. Passou pela administração do sistema, DBA, volta ao desenvolvedor, volta ao DBA, volta à administração do sistema. Agora de volta como DBA.
Eu acho que é bastante simples ir do dev para os outros campos. Não acho tão fácil passar da administração do sistema ao desenvolvimento. Há uma certa mentalidade no desenvolvimento e no aproveitamento da prática de escrever código e criar aplicativos. Eu encontrei muitos grandes administradores de sistema que tiveram problemas para adotá-lo.
Comecei como desenvolvedor web escrevendo ASP, com o qual eu estava mais familiarizado que o PHP. Fiquei um pouco feliz porque havia escrito muito ASP no ensino médio e no ensino médio para os cursos de meus projetos, mas tive que trabalhar muito em torno das limitações para fazer coisas como criptografia e upload / download de arquivos. Acabei assumindo o papel de administrador de sistemas e, quando fui reduzido, me tornei um administrador de sistemas móvel (não o Geek Squad, mas uma idéia semelhante).
Eu preferia ser administrador de sistemas, mas prefiro meu trabalho atual ainda mais, que é ser analista. Eu faço um pouco de tudo sem o ônus de projetos enormes.
Programador para sysadmin para programador para sysadmin para programador (que também ajuda com o sysadmin ocasionalmente) novamente. :-) Acabo fazendo o trabalho que posso encontrar (e essas posições do administrador de sistemas também foram combinadas com o netadmin)!
Comecei um desenvolvedor web em um projeto universitário virtual. Com o tempo, quando me tornei responsável por servidores de aplicativos (como o Adobe ColdFusion), me envolvi cada vez mais na administração de servidores da web. Ramificado nos servidores Unix e Windows ao longo dos anos.
Além disso, como também conheço o Oracle (já foi definido como programador de banco de dados por um tempo), fui chamado para ajudar nas tarefas de DBA, conforme necessário.
Agora eu migrei para ser um administrador do Solaris devido a desafios de pessoal, por isso estou me tornando um administrador de sistemas mais completo (enquanto ainda programa e mantém servidores da Web). Também estou programado para me tornar um desenvolvedor de multimídia se um dos meus projetos decolar para gerar conteúdo de streaming para meu atual empregador.
Comecei como uma combinação de ambos no meu TRS-80. É certo que não havia muito administrador para fazer, mas ainda assim.
Meu próximo encontro importante com o computador foi um VAX 11/780. Também éramos todas combinações de administradores e desenvolvedores.
Na faculdade e em um pedaço da pós-graduação, eu estava usando quaisquer recursos de computação disponíveis nos laboratórios (somente para desenvolvedores).
Depois do meio da faculdade, fui pago para ser uma combinação de desenvolvedor e administrador do laboratório da SGI. Mais alguém no teste beta do IRIX 5 nas máquinas Onyx originais? Oh, MIPS R4400, como eu te amo ...?
Desde então, sempre me vejo fazendo os dois trabalhos. O fato é que sei exatamente como quero que o (s) computador (es) funcione (s) para me apoiar em meu outro trabalho de tempo integral, escrevendo software.
Comecei como desenvolvedor e me tornei um administrador de sistemas por puro acaso. Tínhamos poucas pessoas no departamento sysadmin e nós no departamento de desenvolvimento estávamos esperando que as coisas fossem instaladas e configuradas. Então comecei a assumir algumas dessas tarefas, pois queria fazer parte do meu trabalho de desenvolvimento, que dependia delas. Então comecei a fazer o mesmo com outros desenvolvedores e, lentamente, estava mantendo todo o ambiente de desenvolvimento. Isso exigia acesso a tudo (máquinas, rede, etc.), então acabei sendo backup para o administrador de sistema real quando ele estava de férias e / ou doente. À medida que a empresa crescia, percebemos que era mais fácil contratar novos desenvolvedores do que administradores de sistemas, então eu "transferi" oficialmente para o departamento de administradores de sistemas. E não me arrependo de ter ido por esse caminho.
Como estudante, eu tinha um emprego de meio período como serviço de atendimento de nível um / dois / três em um ISP quando um ISP de tamanho médio aqui na Austrália tinha de 1 a 2 mil usuários. Era um estudante de CS na época. O treinamento foi, aqui está a senha root e o código do alarme. Tranque a porta ao sair.
A partir disso, cresci como administrador de sistemas iniciantes. Aprendemos perl da noite para o dia quando o arquivo passwd foi destruído, mas tínhamos os dados para reconstruí-lo nos atributos do sistema de arquivos e em um arquivo radius.
Eventualmente, consegui um trabalho de programação em uma pequena loja com grandes clientes, onde todos os programadores estavam no Linux, então todos nós também administramos um pouco. Mas eu fiz MUITO administração do sistema e ajudei a executar o ISP de 10 usuários com 100 modem e
De lá, passou para uma função de engenheiro de implantação. Onde você precisava poder implantar software de prod de uma maneira escalável e sensível, mas também ter experiência de programação suficiente para descobrir como o software sob medida funcionava e para poder conversar com os desenvolvedores para depurá-lo.
A partir daí, programação web e administrador do sistema.
Desde o seu show de administração em tempo integral.
Você pode ler minha história em: /programming/547155/from-admin-to-dev/547177#547177