terça-feira, 14 de fevereiro de 2012

5 desenvolvedores de software que sua empresa precisa ter

Toda corporação que já investe em mobilidade e pensa em migrar algumas aplicaçãoes para a nuvem, um dia vai lamentar não ter um profissional dedicado para essa atividade na equipe de TI.



Codificações rotineiras e manutenção de código são funções cada vez mais desvalorizadas e facilmente terceirizadas. Os desenvolvedores que desejam manter uma vantagem no mercado de trabalho de hoje precisam se especializar. Aqui estão cinco exemplos de áreas de habilidades especializadas que vão experimentar um crescimento rápido nos próximos anos. Todas endereçam tecnologias estratégicas para as empresas. Por isso, não se espante se você desejar ter um deles no time de TI.
Desenvolver móvel cross-plataforma
O mercado de sistemas operacionais de smartphones é muito mais fragmentado do que o mercado de PC e provavelmente continuará assim por muitos anos. Com a consumerização
, é muito provável que sua empresa já esteja sendo obrigada a lidar com diferentes plataformas móveis e modelos de aparelhos, com recursos e funções diversas.

O truque é saber como acessar as APIs que permitam acesso aos recursos comuns, independentemente da plataforma usada. Isso não é fácil quando cada plataforma faz você escrever aplicações em uma linguagem de programação diferente, usando um conjunto diferente de ferramentas. Mesmo baseados em HTML, as aplicações móveis precisarão de ajustes de interface de usuário consideráveis.
É claro que os fornecedores de ferramentas móveis devem fazer mais para ajudar a facilitar o desenvolvimento de APPs multi-plataforma. Até que isso aconteça, os desenvolvedores que investirem tempo para tornarem-se versados em dois ou mais ecossistemas móveis vão ser altamente demandados.
2. Mainframe/especialista em integração à nuvem
Plataformas de computação em nuvem incluem toda a sorte de aplicações web. Eles estão ganhando espaço, em pequenas empresas e departamentos de grandes empresa, também. Mas para outros segmentos de mercado, incluindo grandes varejistas, finanças, banco, seguros e telecomunicações, entre outros - o mainframe ainda é rei. Isso não quer dizer que esse tipo de organização não esteja interessada ​​em computação em nuvem. Ela está. Mas esperar que migra suas aplicações críticas do mainframe para a nuvem não é realista.
Acontece que, em alguns aspectos, plataformas de computação em nuvemmultitenant são muito parecidas com os ambientes de mainframetimeshared do passado. Em outros aspectos, eles são muito diferentes. Isso representa uma oportunidade significativa para os desenvolvedores, que podem transitar nos dois mundos.
Desenvolvedores de mainframe tradicionais estão se tornando uma raça rara. Os desenvolvedores que falam Java e Cobol, ou quem sabem lidar com as bases de dados do mainframe e os sistemas de armazenamento em nuvem, da mesma forma, praticamente inexistem - mas as empresas vão começar a procurar por eles. Preencher esse nicho será de extrema importância.
3. Engenheiro de migração para a nuvem
As empresas que estão investindo pesadamente na nuvem enfrentarm um problema diferente daquelas que ainda estão aderindo caos mainframes. Mainframes são uma tecnologia madura, enquanto que as plataformas em nuvem ainda estão em sua infância. A Amazon Web Services, sem dúvida a plataforma de nuvem de uso geral mais madura, celebra o seu décimo aniversário este ano.
Naturalmente, o mercado de cloud ainda está enfrentando o que chamamos de dores do crescimento. As vantagens de custo das ofertas de cloud pública ainda não são claras. Diferem em características, segurança e estabilidade. As interrupções não são incomuns. A largura de banda de rede pode se tornar um gargalo para alguns serviços.
Quando deixarem de ser uma novidade, os provedores de produtos e serviços de computação em nuvem receberão o mesmo tratamento de qualquer outro fornecedor. A insatisfação com um, fará a empresa a levar seus negócios para outro. É nesse momento que a presença ou a falta de desenvolvedores especializados na equipe de TI se fará sentir. Mover um aplicativo de um serviço de armazenamento em nuvem para outra nuvem não é tão simples quanto mudar as empresas de telefonia. Um desenvolvedor que conheça bem os meandros de vários fornecedores de cloud - APIs, SLAs, serviços e tecnologias suportadas - irá parecer um Deus para as empresas que desejarem abandonar o navio com pressa.
4. Especialista em portabilidade para RIA
Lembre-se de RIAs (Rich Internet Applications, ou Aplicações de Internet Rica)? Os desenvolvedores web não estão se afastando de aplicações de conteúdo rico - longe disso -, mas os dias de usar plug-ins para fornecer gráficos sofisticados e interatividade ficaram para trás. O velório do Flash tem sido aguardado desde que Steve Jobs virou as costas para a tecnologia na plataforma iOS. O futuro do Silverlight parece igualmente sombrio. O HTML5 e suas tecnologias relacionadas são o caminho a seguir.
Mas o que acontecerá com todos os aplicativos Flash e Silverlight lagados? Alguns deles são materiais de marketing e publicidade com vida útil curta, mas outros, da área de educação, podem servaliosos, bem como os usados em visualização de dados e aplicações de comércio eletrônico. Preservar esse conteúdo para os futuros usuários da Web, em breve, se tornará uma preocupação a mais.
A conversão automática do Flash para HTML5 não é fácil, como demonstraram as próprias tentativas da Adobe. Ferramentas de autoria em HTML para aplicações ricas estão surgindo, mas lentamente. Entretanto, a demanda está crescendo para os desenvolvedores Web que já dominam o HTML5.
5. Arquiteto de computação paralela
Os aplicativos de hoje escalam de forma horizontal, não para cima. Clusters e outros sistemas distribuídos espalham aplicações em vários sistemas, não apenas em um servidor central. Com a ascensão de arquiteturas de CPU multicore, mesmo os software de desktops devem ser escritos com multiprocessamento em mente. Infelizmente, a computação paralela ainda é uma das tecnologias menos compreendidas em disciplinas de desenvolvimento de software.
Todas as ferramentas de desenvolvimento dos principais fornecedores estão evoluindo para tornar mais fácil a construção de aplicações de computação paralela. Alguns são desenvolvedores de linguagens, como a Go, da Google e X10, da IBM - que fazem projetar algoritmos concorrentes mais intuitivos. Tecnologias como OpenCL ajudarão os desenvolvedores a descarregar o processamento de múltiplos núcleos e GPUs. Outros projetos, como o Intel Parallel Studio, estão sendo projetadas para tornar as ferramentas existentes mais "paralelo-friendly".
O problema é que nenhum desses esforços conseguiu tornar o multiprocessamento acessível para a maioria dos programadores. A programação paralela exige mais do que apenas novas ferramentas. Exige uma nova maneira de pensar. Os desenvolvedores que dominarem as ginásticas mentais necessárias para o design da aplicação vão avançar rapidamente para a função de arquiteto de sistemas.
Um bom caminho para as empresas é investir na formação de seus desenvolvedores para que possam ocupar algumas dessas funções.
E, você, vê outros nichos exclusivos emergentes para os desenvolvedores? Conte para nós, aí nos comentários.

Nenhum comentário:

Postar um comentário

Faça aquí o seu comentário...