Quando eu crescer quero ser Analista de Sistemas

Este tópico está na minha fila de posts há meses, hora de sair algo. Eu vou me basear num e-mail que recebi de uma pessoa do GUJ (cujo nome não será mencionado pois não pedi autorização para tal):

Sobre o “polêmico” manjado tópico de que o java pode acabar.

Você postou o seguinte (na primeira página):

Software é programar. Se você que gerenciar uma equipe de desenvolvimento você tem que estudar matérias relacionadas à gestão de pessoas. Isso não é uma evolução do programador, um desenvolvedor de software é sempre um desenvolvedor de software.

Será que alguém que se forma em Ciência da Computação (como eu, se Deus quiser) não consegue o cargo de gerência de equipe? Eu vejo isso pelo meu tio… ele é formado em Engenharia Química e hoje é gerente de um empesa aqui, mas porquê? Porque ele conhece como as coisas funcionam… todo gerente que conheço ou que já ouvi falar aconteceu o mesmo… gerentes de supermercado geralmente sabem tudo o que se passa dentro do maldito mercado! Concorda? Logo, começa-se como programador, pra depois passar pra cima. Ou não? Você já foi programador? Estou em dúvida porque parece que o salário de um programdor (caso eu seja programdor pra vida inteira, que é algo que eu não quero) é baixo e não dê pra sustentar uma família, entende? Da maneira que eu digo faz parecer que eu não quero ser programador JAMAIS, mas eu quero… putz, amo programar, tenho um tesão gigantesco por programação… mas o problema é se vai me sustentar bem e minha família pro resto da vida, entende? Acredito que se um dia eu chegar a um cargo que não envolva programação eu ainda assim vou programar, pra me divertir mesmo.

E aí, o que você acha?

Este é um problema bem grande. Vamos começar sobre algo que não está explícito no e-mail acima mas que existe: aquilo que alguns chamam de analista de sistemas.

Quando eu estava na faculdade pela primeira vez (ou seja: antes de abandoná-la pela primeira vez) lembro de ter aula com um daqueles professores com anos de COBOL nas costas. Ele se lamentava sobre como o mercado confundia analistas e programadores e como estava surgindo a bizarrice do ‘progranalista’- alguém que combinava os dois papéis. Na comunidade em geral você vê este pensamento, eu tenho muitos conhecidos que querem ser ‘analistas’, e isto para eles significa desenhar UML ou fluxogramas que são passados para os programadores.

Creio que já tenha escrito sobre este assunto neste blog mas, resumindo, não há justificativa para este papel existir no desenvolvimento de sistemas nos últimos dez anos. O papel do analista seria, teoricamente, converter um modelo abstrato (de negócios) em um modelo lógico, geralmente expresso de forma gráfica. O modelo lógico então passa a um modelo físico, que é a implementação.

Agora vamos analisar o caso de uma plataforma moderna de desenvolvimento como Java, .Net ou Ruby - ‘moderna’ aqui significando algo como “inventada nos últimos dez anos”. Um modelo abstrato é composto por conceitos de negócio. Geralmente estes conceitos não possuem uma estrutura que um computador entenda, logo o analista vai traduzir este conceito em lógica, provavelmente usando UML. Ora, UML é apenas uma notação gráfica para classes e objetos, e sua linguagem favorita já trabalha com classes e objetos! A tradução entre um modelo lógico e o modelo físico é desnecessária: o modelo lógico já é o modelo físico. A diferença é que UML não executa, por mais que os evangelistas de MDA cismem do contrário.

A solução? Modele em código. Caso seja necessário gerar diagramas basta utilizar uma das dezenas de ferramentas de engenharia reversa. Modelando em código você tem algo executável, testável e que pode dar feedback ao seu usuário.

“Analista de sistemas” é algo que não existe. Pode ter existido um dia, não sei, mas não faz mais sentido há muitos anos. O modelo lógico é expresso em linguagens de alto nível que modelam muito bem o negócio: Java, Ruby, C#… Quem converte o lógico em físico é o compilador, que traduz as abstrações em código de máquina.

Alguém colocar na sua assinatura de e-mail ou ter a carteira assinada (como eu já tive!) como “Analista Java” está se enganando e colaborando para a criação de papéis que só existem na burocracia das empresas e das pessoas.

Ok, sem diagramas de objetos então, mas e a parte do papel do analista de resolver problemas de negócio? Sinto informar mas se você fazia isso como parte das suas tarefas de “analista de sistemas” você estava ou se enganando ou enganando seu cliente. É certo que muitos clientes precisam entender seus próprios negócios antes de criar um sistema, mas isso não é papel de analista de sistemas, é papel de analista de negócios.

Um analista deste tipo possui capacitação em campos bem diferentes, é completamente possível que um analista de negócios seja um desenvolvedor (vamos abolir o “analista de sistemas” a partir daqui) mas neste caso ele está assumindo duas especialidades. Um analista de negócios possui um perfil não-técnico e provavelmente mais especializado em um domínio como bancos, marketing, telecomunicações e etc.

Mas e o gerente? Uma das piores coisas que podem fazer em uma empresa é promover um bom técnico à gerente (coordenador, o que for) apens porque ele está há muito tempo na casa. Querem estimular a pessoa? Transormem em um líder técnico, aumentem seu salário e o deixem em paz.

Gerência não é brincadeira. Não é porque alguém programa muito bem que vai ser um bom gerente. Se você é desenvolvedor mas sonha em dizer para a paquera no barzinho que é gerente de algo (nem que seja do McDonald’s) invista nisso. Aprenda sobre liderança, sobre mercado, plano de negócios, luxo de caixa, lean e todas as dezenas de disciplinas envolvidas. Vai levar algum tempo.

Só não encare isto como uma evolução. Você não está evoluindo, está mudando de carreira -da área técnica para a gerencial. Considerando que conseguir bons salários como técnico é complicado, pode ser uma boa escolha. Mas não necessariamente é a melhor escolha, se você é um bom técnico e não quer deixar isso de lado existem opções…

81 Responses to “Quando eu crescer quero ser Analista de Sistemas”

  1. pcalcado says:

    @Fernando

    A questão não e qual tecnologia/metodologia utilizar e sm qual não utilizar. A falácia do ‘Analista de Sistemas’ prega por um cargo que não existe no desenvolvimento moderno.

    Eu trabalhei e trabalho com bancos e eles não são exemplos para tecnooia no geral. Estamos falandod e empresas que não vão migrar seus sistemas de tecnologias com mai de 30 anos e o onto aqui é que as tecnloias ‘modernas’(10 anos ou mais) eliminaram a necessidade de transformação de modelos manual.
    Mas respondendo: sm, é possível. Só não é feito prque a maioria dos bancos não quer evoluir tecnicamente.

    Eu não falei que não era para um desenvolvedor virar gerente, alei apenas que não é ma evolução natural. Ele precisa se dedicar à nova profissão, que envolve estudo, e não papenas ficar vinte ans desenvlvendo e um beo dia ser promovido.

    @Ricardo

    Aqui e em outros países que já tive contato geralmente é diferente. A grande massa de desenvolvedores quer ir para o business também mas os bons geralmente vram especialistas.

    @Leandro

    Eu já trabalhei como arquiteto, programador, analista e muitas variações destes. No final eu fazia a mesma coisa em todos os lugares. Na Globo.com eu tinha posto de coordenação técnica, o que me obrigou a estudar com mais profundidade dversos ontos sobre gerência de pessoas e desenvolviment.

    @Carlos Alexandre

    O texto fala sobre como fazer isso. Anasitas de Negócios para modelagem de negócios e desenvolvedores paramodelagemd e sistemas.

  2. Sempre que trabalhei em empresas pequenas desenvolvi o papel de Desenvolvedor por completo. Quando trabalhei em empresas grandes esse papel de analista quase sempre era presente, inclusive eu tive essa “oportunidade” e geralmente nem tocava em código. Passado um tempo, percebi que isso não tinha nada a ver comigo.

  3. Tenho falado isso a anos! Especialização e Divisão do Trabalho em Software não funciona! Falei a respeito disso nos meus dois últimos artigos. É uma má interpretação do RUP. Bem, fazer o que, o mercado no geral é burro!

    (ouviu a última da UML-BR? Tinha um cara preenchendo um “Documento de Mapeamento Objeto-Relacional”)

    Continuamos a pregar no deserto…

  4. [...] Phillip Calçado escreveu recentemente um artigo interessante sobre a carreira do programador nas grandes empresas. Ele fala de como nós programadores somos obrigados a assumir cargos de gerência de pessoas ao [...]

  5. [...] melhorar as coisas que isso precisa ser verdade até o fim dele. Após a equipe (desenvolvedores, analistas de negócios e gerente de projetos) percebemos que alguns itens realmente estavam atrapalhando o andamento do [...]

  6. [...] ser bem mais que simples validadores. O Shoes já tinha falado sobre modelagem em código em seu post sobre Analista de Sistemas. Vejam [...]

  7. [...] vai causar nada alem de transtornos leves. Não posso mais chamar a pessoa de Analista de Sistemas (que aliás é algo que nem existe mais hoje em dia) mas podemos continuar tudo como sempre [...]

  8. [...] desenvolvedores. O que chega para nós já é a “solução de todos os problemas” que o analista de sistemas criou enquanto conversava com o cliente. Na verdade, a nossa linguagem ubíqua não é feita entre [...]

  9. Andre Brito (dedejava) says:

    Nossa cara, faz quanto tempo que mandei esse e-mail pra você?
    E agradeço por ter respondido só agora, porque depois desse tanto tempo, parece que expandi os horizontes.
    O certo é que o futuro é imprevisível e ninguém controla ele. Então é estudar tudo o que der e esperaro melhor.
    Abraço.
    dedejava.

  10. Bem caros Senhores!!!

    Penso que não aspiro ao comando de Analista de Sistemas, porém devo receber como tal. O que pensam à respeito disso???
    JÚNIOR.(02/06/08)

  11. Mariana says:

    Olá, bom dia!
    Assumi uma Gerência de RH numa empresa de T.I recentemente.
    O meu conhecimento acaba sendo muito superficial em relação a todos esses assuntos citados.
    Acabei chegando a esse Blog, pois estou me interando em relação à alguns assuntos, e depois de tanta informação (muito produtiva), acabei confundindo um pouco as coisas.
    Será que poderiam me ajudar a entender um pouco mais do mundode T.I?

    Minha Dúvida: Qual a diferença entre esses cargos? Existe alguma semelhança entre algum deles?

    - Engenheiro de Software/ Analista de Sistemas/ Arquiteto de Informação/ Desenvolvedor

    Obrigada

  12. [...] são afetadas por mudanças no negocio e vice-versa. O grande problema desta métrica é que transformações de modelo não são mais tão drásticas há algumas décadas. Ao utilizar qualquer tecnologia relativamente comum (Java, Ruby, .Net, Python, JavaScript…) [...]

  13. [...] Analista de Sistemas não é analista de negócios. Se você não sabe o que é um analista de negócios eu recomendo que você mande um e-mail pro Paulo Vasconcellos perguntando. [...]

  14. eduardo says:

    O que posso dizer é que não podemos desrespeitar uma classe que tanto bem fez a humanidade. Temos que levar em consideração que no mundo tudo muda e você deve estar preparado para as mudanças. Digo que todo analista de sistema será o analista de negócios de hoje. Apenas as ferramentas mudaram. então imagine se daqui a alguns anos algúem chega para você e diz…!!!!!! analista de negócio é coisa do passado a onda agora é ser analista expert de negócios. O grande lance é entender que cada vez mais a área de computação exige de cada profissional uma dedicação maior. Hoje as empresas querem que o individuo saiba programar, analisar, projetar em UML. Ou seja estamos nos transformandos em 5 em 1. Isso não é muito bom. Porque? imagine você com 50 anos ter que passar por uma faculdade a cada 3 anos. Desculpe a força de expressão, mais fudel. Será que você é remunerado bem o suficiente para manter todos os conhecimentos necessários no tempo atual. Curso de java 3.000, C# 1500, adaptação de banco de dados oracle, sql server, etc…. Pow, vamos ver até que idade você consegue acompanhar as novas tecnologias e tendências.

  15. Eduardo,

    Não entendi onde o post desrespeitou alguém. De qualquer forma, como o texto diz, o analista de sistemas não necessariamente vai ser analista de negócio. O ponto é que o cargo dele, que fica entre tecnologia e negócios, não é justificável mais. Se o profissional que exercia este cargo vai para negócios ou tecnologia depende do perfil de cada um.

    Sobre a parte de “5 em 1″, ela não faz muito sentido para mim. Primeiro orque, como o texto diz, analisar, projetar e implementar são coisas extremamente ligadas, as duas últimas são feitas ao mesmo tempo hoje em dia. Depois porque os princípios básicos sobre software não mudam, mudam ferramentas. Se você acompanha qualquer publicação sobre administração de empresas vai perceber que é assim também, todo mês aparecem novos gurus e novas metodologias de gestão. Se você é um bom desenvolvedor e sabe uma linguagem como Java não precisa de um curso ou faculdade para aprender uma ferramenta similar como C# ou Ruby. O problema é que a maioria dos profissionais sequer aprende os conceitos básicos.

    No mais, a última parte do seu comentário me soou como: “quando você cansa de aprender coisas noas o tempo todo vira analista”. Realmente não entendi. As técnicas para análise mudam frequentemente, evoluem e morrem. Acho que o dia em que se cansa de acompanhar evolução é melhor pedir aposentadoria.

    []s

  16. [...] post sobre Análise de Sistemas já teve 65 comentários (incluindo respostas, é claro). Acho que já descartei uns 20 [...]

  17. Diego Brum says:

    Ótimo post. Excelente explicação sobre oque pregamos ser “evolução natural da espécie”.
    Apesar de compartilhar com o seu ponto de vista (uso essa idéia na minha carreira, já que estou estudando liderança para ser líder de equipes) o analista de sistemas ainda é necessário em empresas que consideram que desenvolver software é que nem fabricar carros e se auto-denominam “Fábrica de Softwares” (a maioria até onde eu saiba). Quando as empresas entederem que software é algo empírico e que deve ser planejado e tratado como tal, o analista de sistemas não será um cargo e será apenas mais um papel que o programador irá exercer implicitamente dentro de alguma das dezenas de iterações de uma determinada história.

  18. [...] relação ao negócio da aplicação, ótimo, mesmo dentro de um processo em cascata ainda assim o analista de sistemas (negócios?) estava próximo da equipe de desenvolvedores, fui até ele conversar sobre o que não [...]

  19. Redorno Bordignon says:

    Será que consigo uma resposta para minha indagação?

    Sou formado pela FATEC em Análise e Desenvolvimento de Sistemas.

    Até que idade o mercado absorve este profissional??

    Abraços

    RBordignon

  20. Redorno,

    Creio que pelo texto fica bem claro que a posição aqui é de que este profissional sequer deveria existir.

    []s

  21. [...] irritei bastante gente da última vez que falei sobre analistas de sistemas. Até hoje, 10 meses depois, ainda tem gente que me manda e-mail [...]

  22. [...] muito do modelo em cascata, o que todos sabemos é que as fases iniciais sempre são feitas pelos “analistas de sistemas” da empresa, na maior moleza gastando mais da metade do tempo e verba do projeto sem gerar nada de [...]

  23. edilaine says:

    estou na faculadade do mesmo,estou quase terminando mais até hoje nao entendi nada,ainda mais que é tele aula uma vez na semana

    as vezes quero morrer ,sera que é só eu que nao entendo

  24. [...] uma passeada pelos sites de emprego de informática, é fácil ver vagas para analista de sistemas / programador / desenvolvedor júnior, pleno e sênior, etc. Acontece que a maioria das pessoas [...]

  25. [...] uma passeada pelos sites de emprego de informática, é fácil ver vagas para analista de sistemas / programador / desenvolvedor júnior, pleno e sênior, etc. Acontece que a maioria das pessoas [...]

  26. [...] uma passeada pelos sites de emprego de informática, é fácil ver vagas para analista de sistemas / programador / desenvolvedor júnior, pleno e sênior, etc. Acontece que a maioria das pessoas [...]

  27. [...] transmitir, nesse singelo artigo, um tema que considero importante para “nós”. E assim ressaltar que nós como programadores, não analista de sistemas e nem tão pouco digitadores, devemos também dedicar um tempo a assuntos como esse discutido [...]

  28. [...] de existir. Existem artigos muito bons na internet tratando sobre a profissão como podem ler aqui e [...]

  29. laine says:

    Tenho 15 Anos,Gostaria mt de Quando Crescer Ser Analista de sistemas,Queria Saber Como Me Preparar Pra Isso..Quais Cursos Tenho q Fazer..Gostaria Das Maiores Informações Possivéis,Pois Acho q Tenho Potencial Para Seguir Essa Profissão!
    Eu Amo Mecher Em Computador Aê Uma Amiga Me Deu A Dica de Ser Analista de sistemas,Aê me Enteresei Pelo Assunto,mas Não Consegui Nenhuma Informacão de Como Me Preparar…Queria Muito Que Vocês Podessem Me Ajudar..Obrigada Desde de Já,Aguardo a Resposta..

  30. Ivana says:

    Bem o que faz um analista de sistema? O que é analise Essencial e pq ele importante?
    Meus caros, posso esta equivoada, mas é necessario a figura do analista de sistema, já que é ele que fará toda a documentação do projeto. Já vi em várias empresas, onde não existe a documentação do projeto, ocorrer desperdício de tempo e dinheiro. Fazer analise é mais do que programar as escuras, é saber quais o caminhos tomar para alcançar a produtividade. Através da analise é possível prever erros, antes de se ter perdido tempo implementando e até mesmo implantando um projeto. Tenho certeza e analise é tão importante como o programação.

  31. camilo says:

    excelente post! e com uma boa discussao. Como @Ivana disse analise é tao importante como a programação, mas eu considero análise ainda mais importante, pois um equivoco cometido na analise, o impactos são maiores que na programação em si. Pegou uma informacao quebrada com o cliente já era.
    flw