terça-feira, 17 de junho de 2008

Desenvolvedor, Como fazer para não parar no tempo

Existem vários caminhos a serem seguidos e um profissional tem que se especializar sempre, tem que estar sempre aprendendo. Nós que somos profissionais de tecnologia não podemos de forma alguma estar acomodado, acho que uma grande virtude de qualquer proficional é o Learn to Learn, aprender a aprender. Nó temos o compromisso de sempre estar buscando novos caminhos, novas tecnologias e soluções. Com base nisso é que eu vejo que a pergunta acima, titulo deste post, torna-se dificil de se responder quando o proficional se acomoda e deixa o tempo passar.
Os caminhos que podem ser seguidos por profissionais desenvolvedores podemos citar como exemplo uma especialização em Área de negócios agregando conhecimentos em um segmento vertical da empresa adicionando a sua habilidade técnica o conhecimento de processos. Quanto mais você conhece o negócio da empresa mais fácil de solucionar os problemas. Um desenvolvedor pode se especializar em um segmento vertical e isto é muito interessante. Outro caminho é o desenvolvedor melhorar mais ainda seus conhecimentos na área em que atua, pois se você não quer abandonar o desenvolvimento pode fazer uma especialização técnica se aprofundando em outras linguagens aprender design, criação de interfaces, etc. Uma boa opção é especialzação em engenharia de software e trabalhar com desenvolvimento ágil, SOA entre outros. UML e Design de projetos em JAVA é um caminho muito promissor. Bom, particularmente tem uma área que acho muito interessante e quepode render uma boa grana para os desenvolvedores, é a do Gerenciamento de Projetos e que está em alta no mercado. O ponto alto é a certificação PMI que tem suas camadas, CAPM, PgMPSM e PMP. Este mercado é muito interessante, pois um projeto para ser bem executado precisa de um ciclo de vida muito bem elaborado e gerenciado.
Em 2008 os investimento em TI devem chegar proximo dos R$ 70 bilhões e muitos projetos podem atrasar ou até mesmo chegar ao ponto de não serem entregues. A falta de um profissional pode detonar um projeto e atrapalhar as empresas do segmento de TI. nós temos que ficar atento, pois se você acha que o desenvolvimento não vai muito longe pra você, então arrisque em umas destas áreas.

quarta-feira, 4 de junho de 2008

SOA - Arquitetura Orientada a Serviço

Muito se fala em criar aplicações, nesta ou naquela linguagem, muitos defendem seu ponto de vista e defendem também a linguagem que usa e que as outras não prestam. Porém alguns pontos deveriam ser questionados, será que o desenvolvimento do seu software seguiu padrões? Será que o seu software foi testado? Que metodologia voce usou?
Bom, voce ja tentou responder estas perguntas? Caro analista, não ha mais espaço para softwares que não seguem padrões e não são testados. Para isso é que a Engenharia de software existe. Hoje em dia a exigencia é muito grande, os resultados podem definir se a empresa sobreviverá ou não no mercado, um erro pode custar a vida útil de uma empresa.
É por este motivo que venho abordar o assunto e levantar a seguinte situação: Que metodologia utilizar? Qual a melhor metodologia de testes?
Hoje se fala muito em desenvolvimento ágil como XP, Scrum, FDD, Crystal etc. Agora a nova onda é o SOA que é Service Oriented Architecture ou arquitetura orientada a serviço. O termo descreve duas coisas muito diferentes onde as duas primeiras palavras expressam metodologia para desenvolvimento de software e a terceira é um panorama de todos os ativos de software de uma empresa. E o que é um serviço em tecnologia? São porções, componentes de software construidas de forma que possam ser facilmente vinculadas a outros componentes de software. Um exemplo de SOA é a integração do sistema de call center com o sistema de gestão empresarial para saber se determinado pedido será entregue no prazo. A arquitetura orientada a serviço permite a integração dos vários componentes fazendo com que os resultados sejam muito precisos determinando uma boa prestação de serviço e aumento de receitas. SOA não é modismo e vc pode utilizar seu desenvolvimento ágil da melhor forma possível, testar seu software exaustivamente.
SOA e WEB SERVICES - SOA é a arquitetura abrangente para criar aplicações dentro de uma empresa — pense em um projeto arquitetônico — mas, neste caso, a arquitetura demanda que todos os programas sejam criados com uma metodologia de desenvolvimento de software específica, conhecida como programação orientada a serviço. Web services são um conjunto de mecanismos-padrão de comunicação criados sobre a World Wide Web. Ou seja, os web services são uma metodologia para conectar e comunicar. Enquanto SOA é uma estratégia de TI.
Uma das grandes vantagens do SOA é o desenvolvimento de aplicações customizadas para seu negocio com mais facilidade para responder as demandas do mercado em uma aconomia globalizada. O SOA ta na pauta de todos os CIO´s de grandes empresas e veio para ficar não será mais uma modinha. Observem esta tendência.