Mostrando postagens com marcador Áreas de TI. Mostrar todas as postagens
Mostrando postagens com marcador Áreas de TI. Mostrar todas as postagens

terça-feira, 4 de agosto de 2009

Que caminhos seguir

No último post falei um pouco sobre possíveis carreiras a serem seguidas na área de TI. A tônica deste post é qual caminho seguir, em que segmento investir nessa área.Acho que essa é uma resposta difícil de responder, pois quando uma pessoa escolhe uma profissão pode levar em consideração uma série de quesitos para apoiar sua decisão como oportunidade, custo benefício, grana ou o gosto natural por alguma atividade.

No início de uma graduação somos bombardeados por uma avalanche de informações. Acredito que essa situação visa justamente a tomada de decisão por parte do estudante no sentido de fazer uma escolha.No meu caso o quesito levado em consideração foi o da oportunidade. Tive um professor de programação que me apontou um caminho que até hoje em dia possui grande demanda e conseqüentemente apresenta muitas oportunidades - O desenvolvimento de sistemas.

Caminho escolhido! Qual o próximo passo? O que fazer para se tornar um analista desenvolvedor de sistemas? O que aprender? As respostas a essas perguntas me surpreenderam e podem assustar a qualquer aspirante ao cargo em questão.

Por conta do surgimento de novas tecnologias a cada dia, pode-se afirmar que hoje um bom programador é aquele cara que entende de tudo um pouco, pois os programas desenvolvidos por este profissional com certeza precisaram interagir com essas tecnologias. Por exemplo, vamos supor que uma empresa solicite a você o desenvolvimento de um sistema de controle de entrada e saída desta empresa e que as informações manipuladas por esse programa devam estar armazenadas em um banco de dados. O mínimo que se espera desse profissional é que ele conheça a linguagem de programação a ser utilizada para o desenvolvimento desse sistema e que o profissional saiba como manipular os dados do banco de dados em questão.

Vamos supor ainda que essa empresa possua uma matriz e diversas filiais espalhadas pelos quatro cantos do mundo de modo que o sistema tem que ser desenvolvido de forma distribuída. Além do conhecimento de programação e banco de dados, o programador agora deverá entender um pouco de redes. Afinal de contas, como os computadores espalhados pelos diversos endereços dessa empresa se interligariam na ausência ou na presença desta rede?

Começou a sentir na pele o drama de ter que se decidir que caminho seguir?É meu amigo! A decisão não é fácil.

Conheço gente que atua bem em qualquer um dos desafios apontados no post anterior. Esses são os profissionais que considero “cabeçudos”, ou que nasceram com um dom natural para o negócio.

Para mim foi uma questão de predisposição. Eu até esse momento não tinha sequer noção do que essas maquininhas de calcular avantajadas seriam capazes de realizar.Como não era cabeção resolvi seguir o conselho do Virgilio (o professor de programação mencionado neste post alguns parágrafos acima).

Agora se você quiser seguir o mesmo caminho que eu, leia as dez dicas que eu escrevo abaixo:

Primeiro passo: Aprenda lógica de programação. É importante memorizar aquela tabelinha verdade que os professores anotam no quadro ( V & V = V; V & F= F e por aí vai). Ela com certeza será muito utilizada nas estruturas de condição e repetição presentes em um programa.

Segundo passo: Adote um linguagem de programação para aplicar na prática o que foi aprendido nas aulas de lógica de programação. Eu, a época em que estava aprendendo lógica, decidi utilizar a linguagem javascript, pois a mesma não necessitava de nenhuma IDE (ferramenta utilizada para auxiliar o programador no desenvolvimento de sistemas). Com o bloco de notas do Windows, se consegue escrever os programas feitos em javascript.

Terceiro passo: Aprenda a manipular as informações constantes em um Banco de dados. Hoje em dia, a maioria dos SGBD ( sistemas gerenciadores de banco de dados) fala a linguagem SQL. Portanto pelos menos um pouco de SQL o programador deve saber. Inserir, alterar, consultar e excluir registros presentes em um banco de dados é essencial.

Quarto passo: Não basta saber lógica. É importante que o programado aprenda as técnicas já consagradas de programação. Existem uma série de algoritmos que mostram como ordenar ou estruturar dados (procure "bublesort" no Google que você vai entender do que estou falando).

Quinto passo: uma das qualidades de um bom profissional de desenvolvimento de sistemas deve aprender a abstrair, ou seja, separar do resto do mundo o que realmente interessa ao cliente ou a empresa que demanda um sistema.

Sexto passo: Aprenda a entender os diagramas utilzados na relação entre os interessados no sistema. A UML é a linguagem utilizada pela maioria das empresas no mercado. Seguir esse padrão sem dúvida irá diferenciá-lo dos demais profissionais que atuam na área de desenvolvimento de sistemas.

Sétimo passo: Consulte os exemplos de algoritmos constantes nos diversos fóruns de discurssão sobre o assunto espalhados pela Internet. Tente entender a técnica ou lógica utilizada nesses códigos. Com o tempo você notará que algumas soluções poderão ser utilizadas em diversos sistemas desenvolvidos pelo programador ao longo de sua trajetória profissional.Oitavo passo: Não tem pra onde correr. Fiquem alerta as tecnologias que surgem a cada dia. XML, AJAX, Web services. Tenha a certeza que uma hora, um sistema desenvolvido por você terá que interagir ou fazer uso de uma dessas tecnologias.

Nôno passo: Uma hora você irá perceber que a maioria dos sistemas que acessam banco de dados fará a mesma coisa, ou seja, incluirá, alterará, excluirá e consultará dados constantes de um banco de dados com o objetivo de produzir informação.

Décimo passo: Todo programa deve realizar algum tipo de processamento. Assim, alguém ou algo fornece argumentos para o programa (entrada). Esses dados são processados (processo) pelo programa e gera algum tipo de resultado (saída).

Décimo primeiro passo: Um analista deve ter o dom da abstração, ou seja, o analista deve possuir a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma abstração de entidades existentes no domínio do sistema de software.

E por último eu diria o seguinte: sem dedicação e persistência não há santo que ajude a alguém a conquistar um objetivo. Lembre-se você está traçando o seu caminho profissional e como tal essa trajetória deve ser tratada com seriedade.

Espero ter ajudado!

Saudações a todos.

quarta-feira, 29 de julho de 2009

Nos tempos de faculdade

Acredito que quando se inicia o aprendizado de qualquer profissão, na maioria das vezes o estudante não tem uma noção aprofundada das funções que o profissional irá desempenhar ao longo da carreira.Talvez seja por conta dessa situação que se encontra no mercado uma série de profissionais frustrados e que muitas vezes se especializam em áreas de conhecimento diferentes da área na qual se graduaram.Na área de informática a situação não é diferente.

Nos meus tempos de faculdade, uma boa parcela da turma da qual eu fiz parte, desistiu da profissão ou nem chegou a atuar nela. Em minha opinião essa situação se dá por uma série de razões. Uma delas é a falta de orientação por parte dos acadêmicos.

Não quero passar aqui a impressão de que todo professor é incompetente ou que um professor tenha que mastigar todo o conteúdo programático para seus alunos, mas posso afirmar que existem professores cujo ditado "Quem sabe faz e quem não sabe ensina" se aplica perfeitamente.

Tive professores que me passaram uma boa noção sobre o que explanavam e outros cuja minha opinião só fizeram tomar o meu dinheiro e o meu tempo. Nem tudo é perfeito, não é mesmo?Quando se está preenchendo um formulário de cadastro qualquer no qual se pergunta qual é a sua profissão, a maioria das pessoas que se formam na área informática afirma que são analistas de sistemas. Essa talvez seja uma definição simplificada diante das diversas nuances que o universo da área de TI apresenta.

Desde o tempo de nossos avôs, existe uma tendência se definir estruturas funcionais dentro das organizações. Com isso as empresas costumam adotar uma estrutura organizacional departamentalizada, ou seja, as tarefas desempenhadas em uma empresa ficam a cargo de um departamento constante no organograma da empresa.

Como exemplo, cito aqui as atividades que envolvem a gestão de funcionários de uma organização. Essas atividades ficam a cargo do departamento de recursos humanos desta empresa.

No caso de Tecnologia da Informação a situação não é diferente. O departamento de informática constante em uma organização é a área responsável pelas as atividades de TI de uma empresa.Costuma-se fazer divisões nessas áreas. No caso do departamento de Ti poderíamos ter uma divisão de rede, uma divisão de banco de dados, uma divisão de suporte entre outros. Poderíamos inclusive subdividir essas divisões, ou seja, na divisão de desenvolvimento de sistemas poderíamos ter uma subdivisão de programação, outra de análise, uma subdivisão de testes, enfim a organização do departamento fica a gosto da empresa.No intuito de passar uma orientação aos que estão iniciando na área de informática, explano aqui algumas das áreas na qual o profissional de informática poderá atuar.

Área de redes: O profissional que trabalha nesta área é conhecido com analista de redes. Neste caso, o profissional se especializa em sistemas de gestão e segurança de redes, se dedica ao aprendizado de protocolos, topologias e configuração de roteadores e de outros ativos de rede. É o profissional conhecido como Administrador de redes ou analista de rede.

Área de Banco de Dados: Neste caso, o profissional poderá ficar responsável pela administração dos sistemas Gerenciadores de Banco de dados (SGBD) presentes na empresa. A administração desses sistemas representa a concessão de acesso aos usuários dos bancos de dados, a realização de manutenções preventivas e corretivas nos bancos de dados constantes nesses SGBD além da responsabilidade de realizar o backup periódico das informações constantes nesses bancos. O profissional que atua nessa área é conhecido como DBA ( Database Administrator).

Área de Suporte e produção: O profissional que atua nessa área fica responsável pelo auxílio aos usuários de recursos de TI disponível, além inicializar procedimentos de rotina visando promover o bom andamento dos serviços oferecidos pela área de TI da Empresa e por conta disto deverá conhecer bem os recursos de TI no qual estiver trabalhando se especializado na entrega de serviços de TI.

Área de desenvolvimento de sistemas: É a área na qual o profissional efetuará a especificação, modelagem, implementação, testes e implantação dos sistemas de informação desenvolvidos ou comprados para uso na empresa. Sem dúvidas é a área que apresenta maior demanda por profissionais, levando-se em consideração a crescente demanda do mercado por sistemas de informação.

Área da Segurança da Informação: O papel do profissional da área de segurança é o de monitorar os serviços disponibilizados pela área de TI, promovendo a segurança das informações que trafegam por estes serviços, ou seja, o propósito do analista de segurança da informação é o de proteger o bem maior de uma empresa - a informação.

Área de administração de dados e análise de negócios: O propósito desses profissionais é conhecer bem os processos (conjunto de tarefas para se chegar a um resultado) da empresa e ter noção das informações providas pelos sistemas de informação contidos na organização.
É importante salientar que o mercado costuma subcategorizar as áreas e funções mencionadas aqui e que existem uma série de estruturas organizacionais em funcionamento para a área de TI.
De qualquer modo a idéia aqui é apenas dar ao leigo ou ao iniciante na área de TI, uma idéia da variedade de caminhos pelos quais um analista de sistemas poderá optar.