Engenheiro de software: mais exigências de mercado

Mal começa o segundo semestre de cada ano, e as previsões sobre as novas exigências para as carreiras em TI começam a pipocar aqui e ali. Gerente de projetos, engenheiro de software englobando arquiteto de software, projetista e programador, estão sob constante pressão de evolução do conhecimento, pois o avanço tecnológico vem em alta velocidade, e temos que acompanhar. Já não é mais suficiente conhecer bem os fundamentos de  processos, UML, RUP, métodos ágeis, técnicas de teste de software, refatoração, padrões de análise e de projeto, linguagens…

O blog ReadWriteWeb trouxe o artigo Top 10 concepts that every software engineer should know (obrigado pela dica, João Gazolla). Vou comentar parte dele aqui, mas aconselho a leitura do artigo, que aponta para tendências que vão se transformar em exigências em pouco tempo: Interfaces, pois o usuário final é o objetivo dos sistemas, e com o avanço da convergência digital e ubiquidade, temos hoje uma base de usuários crescendo rapidamente, com necessidades e exigências específicas. Em termos de pesquisa, já estamos assistindo ao aparecimento das interfaces adaptativas, o que há 5 anos era apenas uma possibilidade;  Cloud computing, um novo conceito em utilização de recursos de TI incluindo a plataforma de software e desenvolvimento, tarifado pelo uso. Esse conceito já tem hoje impacto nas decisões sobre a hospedagem e o desenvolvimento de software, permitindo aos pequenos terem acesso barato a recursos antes caros e sofisticados, na medida certa da sua necessidade e disponibilidade financeira, competindo com os grandes na mesma raia. Foi lançado há algum tempo pela Amazon e já foi comentado aqui no blog na postagem Amazon.com e a inovação.

Os outros oito conceitos fazem parte dos fundamentos de qualquer bom curso superior de computação, e já não são tanta novidade assim. Exceto pelo fato de que o mercado puxou esses conceitos para a linha de frente, e hoje não basta ter feito uma disciplina na graduação, o conceito vai ser exigido na prática. Como por exemplo os conhecimentos em Bancos de Dados, necessários para decidir onde e como implementar a persistência dos sistemas; os conhecimentos em Complexidade de Algoritmos, o terror da turma nas disciplinas Projeto e Análise de Algoritmos, necessários para projeto ou escolha de algoritmos adequados a novas situações, evitando gargalos de execução quando o sistema é entregue. Que é um problema mais comum do que se imagina, os gargalos aparecem por conta da escolha de um algoritmo inadequado, erros de implementação, etc. Um conhecimento que não está listado no artigo, mas que hoje é obrigatório, é na área de Redes, já que a maioria dos sistemas são desenvolvidos para a web, o que envolve conceitos de concorrência, distribuição e outros nas decisões sobre implementação e distribuição. Isso sem contar que o desenvolvimento distribuido de software está em alta, impondo novos desafios.

Bom, olho vivo… essas considerações têm desdobramentos tanto na profissão quanto nos curriculos, que embora não tenham que acompanhar modismos, devem se adequar de tempos em tempos. E mais uma dica: a maioria dos alunos passa pelos cursos de graduação com baixo nível de interesse pelas disciplinas, muita displicência e pouco comprometimento em sala de aula e nos trabalhos práticos, mais interessados talvez em coisas mais amenas como namoros, festas, etc. Tudo tem seu tempo e deve ser dosado adequadamente. O preço a pagar por não aproveitar as oportunidades no momento certo é muito alto, o mercado vai cobrar, e o filtro para o sucesso na carreira está cada vez mais apertado.

Anúncios

Consultor Independente, Treinamento Empresarial, Gerência de Projetos, Engenharia de Requisitos de Software, Inovação. Professor Titular Aposentado, Departamento de Informática, Universidade Federal de Viçosa, Minas Gerais, Brasil. Doutor em Informática, PUC-Rio, 1990. Pós-Doutoramento, University of Florida, 1998-1999

Marcado com: , ,
Publicado em Carreira, Educação, Engenharia de Software
3 comentários em “Engenheiro de software: mais exigências de mercado
  1. Lucas Mucida disse:

    Professor, falando em engenharia.. mais precisamente arquitetura da coisa hehe veja o video q está nesse link http://www.cit.com.br/video-7-infoclipz-service-oriented-architecture … eh o futuro!

  2. Ola, Lucas. Vamos ter oportunidade de conversar sobre SOA na disciplina, é uma promessa para o futuro, que depende de muita tecnologia de apoio, principalmente internet de alta velocidade e estável, segura… problemas!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: