sábado, 28 de abril de 2012

Cargos de TI: O Analista de Sistemas


Na postagem anterior passei um pouco da minha visão sobre as atribuições do Analista de Suporte, e agora chegou a vez de falar do cargo que é o mais utilizado de forma errônea no mercado: o Analista de Sistemas.

Muitos profissionais - que apesar de serem sim analistas – recebem essa nomenclatura mas executam tarefas que muitas vezes passam longe da atribuição real de um Analista de Sistemas.  E isso se dá pelo fato de não existir um curso de graduação em “Análise de Suporte” ou “Análise de Processos”, por exemplo, que são áreas de atuação específicas mas que recebem muitos profissionais do curso de Análise de Sistemas.

O Analista de Sistemas, teoricamente, é o profissional que estará envolvido em projetos de desenvolvimento ou manutenção de sistemas, mas não necessariamente irá programar, ou seja, manipular diretamente os códigos-fontes que fazem um sistema 'rodar'. Essa é a atribuição do Desenvolvedor (ou Analista Desenvolvedor), cargo que será abordado em outra postagem. O Analista de Sistemas, no entanto, talvez seja o profissional que tenha mais interação com o Desenvolvedor (programador), pois é ele quem projeta o sistema, ao mesmo tempo que tem uma visão mais próxima à do usuário. Antes de um sistema começar a ser codificado, ou seja, construído, muitas informações são levantadas, no intuito de garantir que as necessidades do cliente vão ser atendidas, e de que os riscos (de erros ou da construção de um sistema pouco aderente) durante o projeto sejam minimizados.

Cabe ao Analista de Sistemas analisar os requisitos funcionais e não funcionais, ou seja, requisitos de funções que o sistema deverá ter, e requisitos de qualidade: performance do sistema, facilidade em seu uso (usabilidade!), proteção das informações, etc. Com essa frente junto ao usuário – ou ao Analista de Negócios, outro cargo que veremos mais para frente – o Analista de Sistemas deve interpretar de forma correta a necessidade do usuário, e mais importante, deve ter a capacidade de entender se o que o usuário está solicitando é coerente: praticamente todos os usuários não conseguem expressar tudo o que desejam, e quase sempre descrevem suas necessidades de maneira “traiçoeira”, pois, por já terem uma visão voltada para o negócio, não conseguem ter uma visão mais sistêmica para explicar o que realmente precisam.
Esses requisitos são coletados de diversas maneiras: por meio de questionários, por meio de estórias de usuários (uma tarefa dentro do processo de trabalho do usuário do sistema a ser construído), ou mesmo acompanhando o dia a dia do usuário, vendo de perto como o processo de trabalho dele é conduzido, ou seja, levantando o que chamamos de “as is”.

Além dos requisitos, que é a língua do usuário, o Analista de Sistemas desenha (modela) diagramas que facilitam o entendimento de quem vai desenvolver o sistema e focar na parte técnica: códigos, configurações, testes e lógica de programação. Alguns desses diagramas são:

Caso de Uso - onde são definidos todos os perfis de usuários e o papel de cada um dentro do sistema. Exemplo: Num sistema de hospital podem existir dois perfis: secretária e médico, onde a secretária vai agendar os pacientes para os médicos e os médicos por sua vez registrar o diagnóstico de cada paciente.

Diagrama de Classes – onde são definidos os conceitos do negócio e a relação entre eles. Exemplo: O sistema deverá guardar dados de Usuários, que podem ser médicos ou secretárias; deverá guardar dados do paciente, que só será vinculado a um médico após a geração de uma Ficha de Atendimento, que deverá conter informações pré-definidas de diagnóstico e assim por diante.

Diagrama de Atividades – onde são definidos fluxos de atividades (interações) a serem realizadas no sistema. Exemplo: Secretária agenda paciente para Médico (a), que gera Ficha de Atendimento (b) com determinado diagnóstico (c) e finaliza consulta (d) com a opção de imprimir uma receita (e).

Entre outros como Diagrama de Implantação, Diagrama de Fluxo de Dados, Diagrama de Componentes, etc.

O padrão mais difundido para modelagem desses diagramas é a UML (Unified Modeling Language), que possui duas categorias mais genéricas de diagramas: Os comportamentais e os Estruturais. Uma das ferramentas freeware (grátis!) mais conhecidas para modelagem em UML é o Astah Community, que possui interface amigável e ótima usabilidade.
A UML é definida pela OMG, que oferece certificações na área em três níveis: fundamental, intermediate e advanced.

Bom pessoal, procurei descrever de forma mais ilustrativa e abrangente as reais atribuições de um Analista de Sistemas, com uma abordagem diferente do que estamos já acostumados a ler em Wikipedias da vida. Essa é uma visão que eu tenho da atualidade, que pode continuar sofrendo alterações afinal TI é um mercado que sofre constantes mudanças. Pelo que leio, muitas das atribuições acima são conduzidas em várias situações pelos próprios Desenvolvedores; consequência da difusão de novas práticas, padrões de projetos e metodologias adotadas no mercado.

Quem for da área deixe sua opinião, e quem não for aponte no caso de algo não ter ficado claro!

Mais pra frente falarei um pouco dos seguintes cargos: Desenvolvedor, Analista de Teste, Analista de Implantação, Analista de Banco de Dados (DBA), Analista de Negócios, Analista de Projetos, Analista de Processos, Analista de Arquitetura de TI e Auditor de Sistemas.

Um abraço!

domingo, 15 de abril de 2012

Cargos de TI: O Analista de Suporte

Dando continuidade aos tópicos sobre informática/TI – onde inicialmente foi passada uma visão sobre os cursos da área – para quem ainda está querendo se encontrar nesse mundo, inicio aqui uma coletânea de postagens com uma visão geral sobre os principais cargos da área de tecnologia e certificações para as suas diversas áreas de conhecimento. 
Cada cargo possui suas atribuições e peculiaridades, no entanto qualquer curso de tecnologia abre portas para todas as áreas de atuação, basta você se interessar e manter o foco nos estudos direcionados. 

Inicialmente, são abordados nessa coletânea os seguintes cargos: Analista de Suporte, Analista de Sistemas, Desenvolvedor, Analista de Teste, Analista de Implantação, Analista de Banco de Dados (DBA), Analista de Negócios, Analista de Projetos, Analista de Processos, Analista de Arquitetura de TI e Auditor de Sistemas.

Comecemos com o Analista de Suporte!

Esse profissional é o que vai estar sempre em contato com os problemas e dúvidas dos usuários ou com as mudanças realizadas no ambiente de TI. Conforme a idéia já passada no tópico sobre help-desk, ele geralmente começa atuando no primeiro nível, ou seja, atendendo todos os relatos dos usuários, resolvendo problemas mais conhecidos por telefone, ou registrando e direcionando os mais complexos para um profissional do próximo nível.

O analista de segundo nível é o que vai até o local, caso haja necessidade, para resolver problemas de complexidade intermediária ou problemas físicos, ou seja, relacionados ao hardware.

Quando o analista de segundo nível não consegue resolver o problema, ele encaminha todas as informações já levantadas para alguém da equipe de terceiro nível, compostas por profissionais especializados em diferentes competências: redes, sistemas operacionais, softwares ou hardware. O analista de suporte de terceiro nível pode atuar também em áreas mais voltadas para infraestrutura de redes, servidores, etc.

Problema do usuário resolvido, o primeiro nível é acionado para dar um retorno ao usuário e registrar um feedback sobre o atendimento. Perceba que o terceiro nível geralmente não faz contato direto com o usuário. Ele se concentra majoritariamente nos problemas já levantados pelos níveis anteriores. No caso de o problema ainda assim não ser resolvido, o mesmo já e enviado para outra esfera: os desenvolvedores do produto/serviço em questão (cargo que falaremos em outra postagem).

Apesar de ser um instrumento que pode ser utilizado em qualquer tipo de trabalho, o analista de suporte trabalha a todo o momento atualizando e consultando uma base de conhecimento (knowledge base), onde registra causas-raíz, ações, prevenções, investigações e soluções para problemas de diversas classes (rede, hardware, software, por exemplo), fazendo com que essa informação seja disseminada entre toda a equipe, independente do nível. Isso evita reincidências e agiliza o atendimento de um problema que, por mais complexo que seja, já possui sua solução conhecida.

Existem diversas certificações para o profissional que deseja ganhar visibilidade no mercado de suporte. O ITIL (Information Technology Infrastructure Library), por exemplo, é uma das principais certificações do mercado de tecnologia, e define as melhores práticas e processos para gestão, operação, manutenção e infraestrutura no ambiente de TI. A certificação possui 3 níveis: Foundation, Intermediate, Expert e Master.
As certificações costumam se adaptar às mudanças do mercado, e o ITIL por exemplo, está na sua 3ª versão. Portanto o profissional que consegue um certificado v3, é considerado mais atualizado que um profissional v2.

Outras certificações para a área de suporte são as da Microsoft, como a MCTS, MCITP e MCDST, detalhadas nesta página da empresa.

A área de Redes também possui boas certificações como CCNA, CCNP e CCIE (Cisco Certified Network Associate, Professional e InternetWork Expert, respectivamente) da gigante Cisco.

Estas certificações são muito valiosas e por outro lado são boas estratégias de empresas que já dominam o mercado, para fidelizar ainda mais seus profissionais. Assim eles se especializam e ganham status em cima da própria empresa. No final das contas, além de pagar para obter a certificação, ele vai promovê-la ainda mais, afinal foi a especialidade dela que o profissional desenvolveu.

É isso. Recordo que quando entrei na faculdade alguns professores menosprezavam a profissão de analista de suporte, infelizmente. Pois o que eu tenho visto é que é um profissional que, se especializando na área, pode sim ganhar excelentes salários, principalmente se trabalhar com infraestrutura.

Na próxima postagem será mostrado um pouco sobre o Analista de Sistemas, que apesar de ser o termo mais utilizado pelo mercado - muitas vezes de maneira errônea - possui atribuições específicas e que o diferenciam muito dos outros profissionais de tecnologia que muitas vezes são classificados como do mesmo cargo.

Comentem e acrescentem mais informações!

sábado, 31 de março de 2012

Chico se foi, mas Bozó continua imperando

Para quem não conhece, Bozó foi um de centenas de personagens criados por Chico Anysio, que fazia questão de mostrar seu crachá de funcionário da Globo e achava que, por isso, era importante e poderia passar por cima dos outros mortais.
Não sei se a intenção foi essa, mas Chico, reafirmando o objetivo do humor perante a sociedade, bolou uma das críticas mais pertinentes que já pude admirar, e que ainda assim era positivo para a imagem da própria TV Globo.

Em um dos poucos episódios que pude assistir (e se alguém encontrar o vídeo peço que compartilhe pois vagamente me recordo), Bozó estava na Escolinha do Prof. Raimundo quando foi questionado pelo professor sobre algo que não era de seu conhecimento. Bozó replicou e se negou a responder, se desfazendo daquilo. Afinal ele trabalhava na Globo. E como já era esperado, seu ouvinte achou aquilo sensacional e começou a indagá-lo:

Bozó trabalha na Globo!
- O que você faz lá?!!?
- Trabalho na Ana Maria Braga.
- Legal, você é diretor dela?
- Não.
- Hum.... você é a Ana Maria Braga?!
- Não, eu fico do lado dela...
- Você é o Louro José?!!
- Não... quase isso!
- Você é o rapaz que faz a voz do Louro José?!?
- Não... eu sou o que troca o jornal quando o Louro faz suas necessidades...



Esse episódio retrata de forma brilhante o ar superior inspirado por milhares de funcionários (não só na Globo, mas várias empresas de ponta como Vale, Petrobrás, EBX) de cargos, digamos, populares, como se fossem grandes executivos ou estrelas. Não que estes possam, de fato, agir com soberba, mas na cabeça dos Bozós, eles devem ser assim.
E, pelo contrário, o que acaba-se vendo pelos corredores dessas empresas são gerentes, diretores e artistas que olham no olho, cumprimentam e agem com cordialidade, enquanto funcionários de cargos hierarquicamente inferiores, andam com suas camisas quadriculadas da Tommy Hilfiger, crachás no peito e narizes apontando para o teto com poses de estrela. Há ainda o tal hábito da avaliação do crachá, no qual desdenham dos que tem crachás de outras cores, como na Petrobrás onde os prestadores de serviços possuem crachás marrons, e na Globo, onde estes possuem crachás na cor branca.

Como reforcei, esse senso de pertencimento deturpado - causado involuntariamente por corporações de sucesso - talvez seja mais comum na Globo justamente pelo impacto que a marca Globo causa na maioria das pessoas, até mesmo nas que a criticam, e a repercussão que suas produções geram.
Mas em todas as grandes organizações é possível encontrar gente com tal comportamento, que andam pelas ruas e sobem nos ônibus com seus impecáveis crachazinhos no peito e suas cordinhas comerciais que estampam o nome das empresas de que tanto se orgulham em trabalhar. Moradores do Jardim Botânico e amigos de 460 ou 439 que o digam.

Compartilhar com amigos e família o prazer de fazer parte de uma grande organização, ter para si o crachá como medalha de uma grande conquista, ter empolgação com a empresa onde se trabalha e vestir a camisa é totalmente positivo - confesso que eu também faço. Mas agir como se fosse "A Empresa", ou como se isso o tornasse superior a alguém ou até mesmo a outros funcionários, é totalmente baixo. É trocar caráter e profissionalismo por status e falta de ética com a própria empresa.
O orgulho de se trabalhar numa grande corporação e a identidade que um funcionário possa vir a ter com a empresa requer controle, e é necessário que ele tenha cuidado consigo mesmo para não se tornar mais um Bozó, e acabar ficando até a sua aposentadoria como um, trocando jornais de baixo do Louro José.

Quem quiser ir mais a fundo, pode dar uma conferida nessa matéria que achei enquanto digitava esse post, do Globo, feita há pouco mais de um mês:


Abraço e comente sobre o que acha a respeito!

terça-feira, 20 de março de 2012

Comparativo entre os cursos de tecnologia

Em complemento à postagem anterior, onde fiz um rápido comparativo entre os cursos de graduação mais comuns na área de tecnologia, esbocei duas ilustrações com comparativos entre cada um desses cursos, dando uma noção de como cada um deles é conduzido pelas instituições acadêmicas. Não se pode afirmar com precisão se todos seguem essa regra, mas a realidade é mais ou menos a apresentada.


Na primeira figura, quanto mais comprida a ilustração, mais áreas de conhecimento são abrangidas pelo curso, e quanto maior a altura, maior o nível de aprofundamento nas áreas em que o curso aborda.

FIGURA 1 - Abrangência e aprofundamento dos cursos de Tecnologia
Elucidando um pouco mais - e ressaltando que não estamos comparando o conteúdo em específico entre cada um deles, e sim o nível de abrangência e de aprofundamento que cada um costuma ter - podemos ver que os cursos de Ciência da Computação e de Tecnologia da Informação são os mais abrangentes, com o diferencial de que o primeiro abrange mais áreas de conhecimento, enquanto o segundo é ligeiramente mais específico nos assuntos que aborda.
Os cursos de Engenharia de Software e de Análise de Sistemas são cursos "igualmente mais específicos", no entanto o primeiro aborda mais conhecimentos que o último. Enquanto Web Design - que ao meu ver atualmente já tem grande parte do seu conteúdo abordado em Análise de Sistemas - e Redes de Computadores - que  possui uma grade mais enxuta no entanto é tão específico quanto os anteriores - aparecem por último dentre os principais cursos.

Agora sim já comparando o conteúdo que estes cursos possuem em comum, viajei mais um pouco e ilustrei um comparativo entre eles na figura abaixo:

FIGURA 2 - Comparativo dos conteúdos abordados por cada um dos cursos

 Apesar do susto inicial, é simples de visualizar. Redes e Web Design são cursos que abordam tópicos mais exclusivos, mas que outra grande parte é abordada pelos demais cursos. Engenharia de Software aborda todos os tópicos de Análise de Sistemas; onde o conteúdo de ambos é grande parte do assunto abordado em TI. A diferença é que TI aborda assuntos mais voltados a gestão, governança e tecnologia em geral, e os dois anteriores são mais voltados a desenvolvimento de softwares. Por último, vemos a base formada pelo curso de Ciências da Computação.

 É simples concluir: quem deseja se especializar em alguma área de tecnologia mas ainda não definiu o quê, Ciências da Computação é o mais completo.
Quem está na mesma situação, mas procura um rápido retorno e precisa de um curso menos teórico, Tecnologia da Informação é a opção.
Quem já está decido a trabalhar com algo em específico, os outros cursos são as melhores opções:
Para o mercado de software, Análise de Sistemas é o mais rápido, no entanto Engenharia de Software aborda mais conceitos é dá ao profissional um título de maior status.
Além de conhecimentos em Redes, o curso de mesmo nome também dá melhor bagagem para quem quer trabalhar com infraestrutura e arquitetura de TI, no entanto estas áreas abrem portas também para os profissionais de outros cursos.
E quanto ao Web Design, sugiro entrarem em Análise de Sistemas e só então se especializar em front-end, como comentei na última postagem.

É isso. Façam sua escolha e entrem para um mercado que está em alta!!