Um ponto cego chamado comunicação

Que profissionais de TI e usuários muitas vezes não conseguem falar a mesma língua não é novidade, mas afinal, por que isso acontece?! De inicio, para muitos a resposta parece óbvia, TI possui o foco em computadores e sistemas e não em pessoas. Se você pensa desta maneira saiba que você está redondamente enganado!

Todo e qualquer projeto de TI possui ao menos um objetivo que vai a favor de benefícios a uma ou mais pessoas, talvez não de forma direta, mas ao final do processo, o resultado proporcionado sempre impactará em decisões humanas. Não há por onde fugir, somos totalmente dependentes de usuários, e em caso de resistência, os resultados serão catastróficos:

projeto

Ok, de quem é a culpa?

Agora que já sabemos que sem nossos usuários não somos nada (?), pergunto, quem é o responsável por esta falha na comunicação? De forma direta, meus amigos, devemos admitir que na maioria das vezes é nossa a culpa, vou explicar porque:

1- Muitos profissionais de tecnologia não compreendem que a TI é uma área de apoio, pensar que somos o topo da cadeia é um erro, por mais que saibamos que muitas vezes fazemos negócios alavancarem, não somos nós que ditamos as regras.  Não é a empresa e nem o usuário que deve se adequar aos processos de TI, e sim o oposto.

2- É comum profissionais de TI procurarem trabalhos limitados a conhecimentos técnicos, afinal, é muito mais fácil lidar com máquinas a pessoas. Eis que surge o problema, como vamos desenvolver uma solução para uma empresa se ao menos não entendemos claramente o seu problema?! É de suma importância para a realização de um bom trabalho o compreendimento das operações do cliente e o seu negócio.

3- Muito se diz em uma TI alinhada as necessidades do negócio, mas antes disto acontecer a TI deve entregar o que o negócio precisa. A TI nem sempre terá uma vida própria, dependerá da cultura e organização da empresa.

4- Nem sempre metodologias, certificados e boas práticas ajudam o negócio do cliente, em alguns casos apenas “engessa” e não consegue entregar um produto ou serviço de qualidade. Devo salientar que não é a falta de efetividade de tais práticas, pelo contrário, mas o cliente deve estar apto a receber estas estruturas de trabalho.

Obviamente que não devemos tirar a parcela de culpa do usuário, por alguma razão ainda não identificada (por mim), os usuários tendem a simplesmente ignorar a possibilidade de melhoria dos processos, estão mais preocupados em manter a rotina confortável ao invés de ganhar tempo e praticidade em seus trabalhos diários.

A importância de requisito

Neste artigo vou exemplificar a falha de comunicação Usuário X TI no processo inicial da construção de um software e também colocar algumas dicas e técnicas captadas na própria experiencia, em aula e artigos relacionados.

Quando um cliente procura uma fabrica de projeto de software, seu objetivo principal é solucionar seus problemas processuais por meio de automação através de sistemas computacionais, essas necessidades são passadas a um profissional que possua conhecimentos tecnológicos e de negócio para que seja possível transformar esses requisitos em um software, é neste momento que muitas vezes a falha ocorre.

A visão do usuário e do profissional de tecnologia nem sempre serão as mesmas, o usuário falará como se o analista fosse experiente no ramo de negócio e o analista interpretará como se o usuário fosse um grande conhecedor de sistemas.

Esta diferença de visão está ligada na forma como os envolvidos interpretam a maneira como o sistema atuaria sobre o problema do negócio e para minimizar a distância deste entendimento alguns pontos devem ser observados no levantamento de requisitos:

O cliente deve passar o problema e não a solução: uma característica comum dos usuários ao passar a necessidade é falar sobre a possível solução já mentalizada por ele, esquecendo que é justamente este o papel do analista.
Nenhuma informação deve ficar subentendida: parte do analista não deixar nenhuma informação subentendida, ou seja, se algum ponto não foi totalmente compreendido, não deve passar para o próximo assunto.
Minimizar o inimaginável: imagine a seguinte situação, na homologação de um projeto surge uma necessidade que nenhuma das partes lembraram que poderia acontecer e que tal funcionalidade é de total importância para o funcionamento do negócio, este é o inimaginável. Os itens anteriores são complementares a este, deve buscar todos os detalhes do usuário sobre as operações diárias, se necessário, uma observação in loco.

O requisito deve conter:

  • Claro entendimento: o requisito não deve nunca proporcionar múltiplas interpretações, ou seja, deve mante-lo de forma objetiva e direta.
  • Pontualidade: o requisito deve ser pontual a necessidade, não deve conter a generalização de uma funcionalidade ou regra do sistema.
  • Análise de diversos cenários: o requisito deve tratar todas as possibilidades possíveis, quando, como e por onde.
  • Rastreabilidade: deve ser registrado a origem do requisito, poderá ser uma pessoa ou até mesmo outro requisito já documentado.

Concluindo…

Está claro que deve haver uma melhoria na comunicação entre TI e usuários, mas isso não irá acontecer até que alguma das partes tome iniciativa. Aproveite a situação atípica e seja um profissional diferenciado, tenha a boa comunicação como característica essencial e tenha em mente que a capacidade de relacionamento sobrepõem qualquer capacidade técnica.

Obrigado pela a atenção e até o próximo pitaco. 🙂

A arte da automotivação.

Alguma vez você já se perguntou por que continua fazendo o que faz?

Acreditando que a resposta seja sim, posso lhe assegurar que você não é o único (comigo acontece todos os dias). Sem confundir com desorientação ou falta de objetividade, quando falamos da necessidade de motivação essas perguntas possuem um papel importante sobre suas decisões, elas servem para sempre lembrar de quais são suas metas para então não perder o foco.

O que eu quero dizer é que para que possamos ter sucesso sobre nossas realizações precisamos primeiramente ter um objetivo em mente, para isso podemos utilizar da motivação como um auxilio para criar nossas metas e definir por qual caminho devemos seguir. O fato é que ninguém luta sem uma causa real, ter um propósito é algo fundamental para alcançar um objetivo de maneira bem-sucedida.

Não importa se essa causa real for dinheiro, superação, amor, vingança ou qualquer outra coisa, ela é a chave para sua motivação e te fará seguir em frente. Basta apenas controlar, gerenciar, ter uma visão estratégica sobre sua vida e agir de forma racional sempre.

Feedback?

Quando falamos em motivação não temos como não associar a palavra feedback ao assunto, em termos técnicos isto quer dizer retroalimentação ou realimentação. Na carreira profissional este processo tem por objetivo informar como você está se saindo em alguma tarefa ou atividade em específico, podemos comparar com uma bússola, uma ferramenta que dependendo de onde você está te dará um sentido a seguir.

Geralmente o feedback é praticado por pessoas que estão em um nível hierárquico superior ao seu, mas nada impede que um colega possa lhe ajudar. Na vida acadêmica as pessoas mais indicadas para lhe oferecer esses feedbacks são os professores e seus colegas de turma.

Porém, como escrevi em outro artigo, você não deve se basear por notas, elas não são um bom padrão para medir desempenho (ainda acho um método de ensino obsoleto), é importante que você pergunte como está se saindo, o que deve fazer para evoluir ou como pode corrigir seus erros. É claro que as vezes perguntar sobre o próprio desempenho pode ser mal interpretado, então tome cuidado para não parecer uma autopromoção. Demonstre interesse pela opinião de quem estiver lhe conceituando, filtre e absorva todas as informações.

Agora que já sabemos como conseguir um feedback vamos separar-lo em dois tipos, o positivo, quando o que você está fazendo está correto e te diz que deve continuar assim, e o negativo, que apesar dos esforços muitas vezes não conseguimos exito sobre nossas metas, este é o momento para rever suas ações. Independentemente do tipo, transforme o feedback em motivação, certamente que quando negativo é um pouco difícil, entretanto, é o momento que você mais precisará de motivação (resiliência sempre).

Mas quando não temos este feedback, como podemos nos motivar e saber qual caminho temos que seguir?

Pratique a automotivação

Antes de continuar, vamos ver o que o Wikipédia define como automotivação:

“Automotivação é a capacidade de motivar a si mesmo, para encontrar uma razão e a força necessária para fazer alguma coisa, sem a necessidade de serem influenciados a fazê-lo por outra pessoa. Trabalhando em uma cuidadosa forma consistente, sem desistir.”

No mundo TI a necessidade automotivação é tão normal quanto respirar (ok, um pouco exagerado), mas o fato é que por cultura, profissionais desta área possuem um pouco de dificuldade de proporcionar feedbacks (sem generalizar é claro), o motivo desta dificuldade é desconhecida, talvez seja a mesma causa da dificuldade de comunicação com usuários, profissionais de psicologia podem explicar melhor.

Mas como podemos nos automotivar neste ambiente?

De inicio é importantíssimo ter certeza que você gosta do que faz, é impossível criar motivação quando aquilo que escolheu fazer não lhe agrada.

Vamos lá, a melhor maneira de se automotivar é confiar em si próprio, autoestima elevada gera felicidade, que consequentemente gera produtividade que então gera motivação… Esta autoconfiança pode ser adquirida através da dedicação sobre estudos e trabalhos, então antes de tudo esteja capacitado, e não se preocupe em pensar quando estará pronto, quando estiver você saberá!

Procure alguém em quem você possa se espelhar, alguém que você admira e gostaria de ser, analise os passos desta pessoa, repita as mesmas ações, se ela fez algo digno de ser admirado certamente o que ela fez para chegar lá foi totalmente correto. É claro, nunca esquecendo que você tem sua própria identidade.

Outra maneira de conseguir a automotivação é criar pequenos desafios pessoais, como codificar determinado programa em um determinado tempo, ou em uma quantidade mínima de linhas, ou até mesmo criar algoritmos para resolver problemas complexos. Cada desafio alcançado é um ponto motivador que irá te mostrar o quanto você é capaz e fará querer criar novos desafios buscando a constante evolução.

Concluindo…

Obviamente que só depende de você, busque conhecer suas habilidades, acredite em seu potencial mas nunca esqueça de suas limitações. Crie seus desafios e supere-os, lembre-se sempre do seu objetivo e reveja suas metas periodicamente. Siga esses paços e já estará se atumotivando, quem precisa de feedback quando se sabe o que faz de melhor?!

Ok, vamos encerrar por aqui, acho que já escrevi o suficiente.

Espero que tenha gostado e ficaria contente em receber seu comentário.

Obrigado e até a próxima.

Ainda sou estudante mas quero um emprego!

Que a área de TI é um mercado promissor todos nós sabemos, vemos todos os dias que a necessidade desta mão de obra é cada vez maior, a dificuldade das empresas para adquirir estes profissionais está ligado diretamente a formação. Um estudo realizado pela IBM afirma que mais de 213 mil vagas em TI ficarão em aberto até 2013.

Com base nesta informação podemos concluir que qualquer pessoa que estude em um curso de tecnologia terá um emprego garantido?

Obviamente que não! Apesar da dificuldade de preenchimento das vagas o mercado ainda é exigente, o que as empresas procuram são profissionais qualificados, porém, não confunda qualificação com experiência. Qualificação pode ser definido pelo perfil profissional para um determinada vaga de emprego, como um exemplo podemos dizer que um profissional qualificado dispunha de uma boa comunicação, dinamismo, liderança e etc…

Esteja certo de sua formação

A falta de profissionais pode ser também uma consequência do grande avanço tecnológico, em Santa Catarina, o setor avança em um ritmo mais acelerado que no resto do país. Até 2015, o crescimento deve ser de 20% a 30%, o dobro da média nacional. Isto tem feito empresas procurarem mão de obra nas faculdades, o que se torna uma vantagem, pois um profissional em seu inicio de carreira pode ser facilmente moldado para o que a organização precisa. Mas não basta estar estudando, o aluno deve estar apto para trabalhar na área.

Para tecnologia ou qualquer outra área, fazer a escolha certa do curso para formação é muito importante, tanto para não perder tempo fazendo o que não quer, quanto para evitar futuras frustrações. Para atuar na área de TI o profissional deve realmente gostar do que faz, aspectos como afinidade com informática, raciocínio lógico e a necessidade de muito estudo fazem muitas pessoas desistirem da faculdade. Evite perder tempo, busque conhecer o tipo de profissional que o curso forma e compreender as necessidades do setor.

Agarre as oportunidades

O ambiente acadêmico é um mar de oportunidades, é o melhor lugar para conhecer pessoas e criar sua rede de contato, lembre-se, o network é maior bem profissional que alguém pode ter, então não deixe de conhecer seus professores e colegas.

Os professores poderão lhe oferecer algo além de conhecimento, um bom contato profissional, então “grude” nele, sugue o máximo que puder, não se trata de “puxar saco” e sim de uma boa relação. Demonstre interesse, busque conhecer além do oferecido, corra atrás de oportunidades, se mostre apto a iniciar uma carreira em TI. Mas não só os professores podem lhe trazer oportunidades, seus colegas também, talvez não hoje, mas assim como você eles também estão atrás de um emprego. Não exite em ajudar um colega caso ele precise, ele não pensará duas vezes antes de indicá-lo a um vaga quando for consultado.

O que falta?

Atitudes como estas descritas anteriormente poderão te deixar ainda mais perto de uma vaga de emprego em TI, só depende de você. Muito além da inteligencia ou da capacidade técnica, o que te diferencia dos demais e lhe torna um ótimo profissional é a dedicação e a atitude.

É claro que seu desempenho não será igual para todas as disciplinas, e isso é bom, te ajudará a identificar qual área dentro de TI tem mais afinidade, software ou hardware, desenvolvimento ou análise, técnico ou gerencial. Não desanime se não for o primeiro ou o segundo da classe, uma vez ouvi uma frase de um grande homem que nunca vou esquecer: “tirar 10 não lhe garante emprego”, de inicio me abati, parecia uma crítica, mas então entendi que ser o melhor não serve de nada sem a atitude.

Então não tenha medo de errar, arrisque-se, cair é apenas mais um motivo para se levantar, saia do comodismo, conheça seu limite, tudo o que você precisa é de resiliência! Há várias formas de se motivar, o que para mim funcionou é o auto desafio, mas vou tratar disto em um post futuramente.

Enfim, espero que tenham gostado, mais uma vez agradeço pela a atenção.

Fiquem à vontade para comentar, até a próxima. 🙂

Quero ser programador, qual linguagem devo escolher?

Muitos estudantes assim como eu, alguma vez já pensou que para ser um bom programador era necessário escolher uma linguagem de programação e focar seus estudos unicamente a ela, mas ao levar em consideração que existem várias linguagens e a procura de profissionais é totalmente dependente de demanda e tecnologia, escolher uma única linguagem estaremos nos limitando diante do mercado.

Não quero dizer que você deve conhecer várias, mas sim estar apto a conhecer diferentes tipos de linguagens. Neste post irei mostrar algumas dicas e fatores importantes que devem ser levados em conta na escolha da sua linguagem de programação.

Saber programar

Primeiramente vamos separar o ato de programar em dois cenários, o “saber programar” e o “saber programar em determinada linguagem”.

No primeiro cenário, “saber programar” se baseia na semântica do código onde o programador terá a habilidade para usar sua lógica de programação e então estruturar seu algoritmo de maneira que o programa execute as tarefas corretamente e que apresente os resultados esperados.

“Saber programar em determinada linguagem”, no segundo cenário, o programador terá conhecimentos para utilizar os comandos corretos dentro das regras de uma determinada linguagem de programação na construção do seu código, essas regras são denominadas como sintaxe.

Agora, qual é o mais importante?

Lógica de Programação

O conhecimento sobre lógica de programação é considerado fundamental para qualquer linguagem, ou seja, para saber programar é necessário que entenda os conceitos e premissas deste estudo, não apenas como um requisito, mas como um facilitador no estudo de diferentes linguagens. Antes de “saber programar em determinada linguagem” você deverá “saber programar” obrigatoriamente.

Desta forma o estudo sobre lógica de programação, e o “saber programar” se tornam o conhecimento mais importante na formação do programador, ao compreender por inteiro estes conceitos ele estará apto a aprender qualquer linguagem sem dificuldade.

Escolha da Linguagem

Agora que já sabemos que a lógica de programação é a base para qualquer linguagem, vamos analisar alguns fatores importantes para sua escolha.

Demanda de mercado: se a quantidade de vagas de emprego para uma determinada linguagem é maior que profissionais disponíveis no mercado, há grande chance de você conseguir um emprego.

Produtividade: se você procura desenvolver mais em menos tempo, existem linguagens que utilizam metodologias ágeis como RAD para ter maior produtividade.

Plataforma: há linguagens que são voltadas para desenvolvimento exclusivos de aplicações Web, Desktop e Mobile, se você procura desenvolver para alguma dessas plataforma em específico, esse fator terá importância sobre sua escolha.

Afinidade: este se trata de um fator pessoal, pode ser dado pela facilidade de uso ou por conhecer melhor as característica da linguagem.

Além dos fatores listados acima, existe também as linguagens mais populares, que diferente da demanda de mercado remete apenas as que mais são usadas e não as necessidades do mercado. Abaixo um quadro com o ranking das linguagens mais usadas de 2013:

ranking2013Concluindo…

Como o número de linguagens de programação é grande hoje em dia, o profissional que queira se especializar nesta área pode aproveitar para conhecer mais de uma tecnologia e estar mais preparado para o mercado, não há limite para o conhecimento! Tendo um bom entendimento sobre a lógica de programação o programador não terá problemas em migrar para diferentes linguagens.

Obrigado mais uma vez pela atenção e deixe seu comentário, adoraria que você compartilhasse seu ponto de vista.

Até a próxima.

Para ser um profissional de TI é necessário saber programar?

Eis uma pergunta bastante comum para estudantes de Sistemas de Informação.

Todos nós sabemos que a arte de programar não é um tarefa tão fácil de executar, requer habilidades que demandam muito estudo e dedicação, há quem se apaixona por esta atividade e há quem não consegue de maneira nenhuma se adequar, mas afinal, como um estudante de SI, sou obrigado a saber programar?

Níveis de Conhecimento

Primeiramente vamos separar o conhecimento em programação em três níveis:

Nível básico: se baseia em conhecimentos mínimos de lógica de programação, sintaxe, operadores lógicos e aritméticos além de saber manipular todos os tipos de dados. O programador será capaz de criar pequenos sistemas, mas ainda com várias dificuldades estruturais que ele só saberá quando se tornar intermediário ou avançado.

Nível Intermediário: podemos dizer que um programador deste nível deve ter alguns conhecimentos mais aprofundados como lógica de programação orientada a objeto, operadores binários, conexão com banco de dados, manipulação de vetores, matrizes e etc…

Nível Avançado (TOPMOTHERFUCKER): como um sênior da área, este profissional terá conhecimento bastante aprofundado na linguagem de atuação, características próprias de tecnologia além de dominar as metodologias de desenvolvimento.

Ao que interessa…

O nível básico pode se dizer sim que é obrigatório, pois é a melhor maneira de conhecer as propriedades da informática e ter noções de lógica (que é muito importante em nossa profissão) além de ser necessário para conseguir realizar os trabalhos e provas da faculdade.

O saber programar ou não nos níveis intermediário e avançado dependerá muito de qual caminho você quer seguir na área de Tecnologia de Informação já que esta área nos possibilita um leque enorme, se você deseja ser um programador obviamente que não terá escapatória, porém temos algumas profissões que não dependem totalmente disto, a baixo listarei algumas e suas necessidades de conhecimento.

Analista de Suporte: este profissional será responsável por manter toda estrutura física de computadores, redes e sistemas operacionais dentro de uma TI, podemos dizer que seu conhecimento não dependerá de programação, visto que suas atividades se baseará em tecnologias voltadas a hardware.

Analista de Sistema: seu conhecimento sobre programação deverá estar em um nível intermediário, este profissional tem como responsabilidade analisar, projetar, documentar e até muitas vezes programar e testar sistemas de informação. Diferente do programador, esta profissão está mais voltada para conhecimentos de negócios do que para conhecimentos técnicos, ele deve ter a habilidade de identificar problemas e apontar soluções sobre processos específicos ou uma organização como um todo.

Administrador de Banco de Dados: é o profissional responsável por gerenciar, instalar, configurar, atualizar e monitorar um banco de dados ou sistemas de bancos de dados. Seu conhecimento sobre programação está em nível básico, porém sobre sintaxe e estrutura SQL (ou outra linguagem de BD) deve estar em um nível avançado.

Clique aqui e veja demais profissões de TI.

Conclusão

Para concluir, a programação é a maneira mais fácil de um estudante de SI entrar no mercado de trabalho, a procura por este profissionais está cada vez maior, mas se você não se encaixa nisto, não se preocupe, há muito mercado para você também.

O importante é saber escolher bem qual rumo seguir, não só pelo salário, mas pelo que gosta de fazer e o que faz de melhor.

Espero que este post de alguma forma tenha contribuído para sua vida como estudante ou (futuro) profissional.

Agradeço a sua atenção!
Abraços.