5 novos perfis de desenvolvedores exigidos nas empresas atualmente

A carreira de desenvolvedor de softwares continua sendo uma ótima opção para entrar na área de TI e obter boa remuneração salarial, mas a alta demanda deflagrada nos últimos anos não significa que o profissional pode continuar desenvolvendo com métodos, práticas e ferramentas de sempre utilizadas há tempos.

Para garimpar as melhores e mais promissoras oportunidades de carreira na área, é preciso ficar atento às mudanças do mercado, dos produtos, do modo como a tecnologia é manipulada hoje em dia, da consumerização que invade a empresas em todo o mundo. A era dos sistemas com interações simples e limitadas a botões e menus, ainda que dinâmicos, se foi faz tempo.

A era do touch e sensores de movimento estão bombando no momento e cada vez mais vemos exemplos de sucesso de protótipos de sistemas controlados até mesmo pelo pensamento.

Com tanta tecnologia nova surgindo, sistemas de décadas não apenas convivendo com tecnologias de última geração, mas trocando mensagens entre si, há uma imposição de grande complexidade e desafios para os programadores e arquitetos de softwares.

Por tudo isso, é de suma importância ouvir as 5 dicas de especialistas ouvidos pela ComputerWorld, com as quais você poderá avaliar melhor suas habilidades e fazer os ajustes necessários, de modo a aproveitar a demanda no seu maior auge.

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 nuvem multitenant são muito parecidas com os ambientes de mainframe timeshared 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.

E então, está se preparando para os grandes desafios que vem pela frente?

As dicas enumeradas acima é de publicação da ComputerWorld.

Artigos que também podem lhe interessar:

Related Posts with Thumbnails

Responder

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *