Engenharia de software
O QUE FAZ
Sem softwares, computadores não passam de carcaças. São os programas e sistemas operacionais que fornecem as instruções necessárias às estruturas físicas dos dispositivos (hardwares), para que elas desempenhem as operações necessárias à execução de determinada tarefa – tudo isso mediado por uma interface acessível ao usuário.
Exemplos comuns do cotidiano são os sistemas para computadores pessoais (Windows, Mac OS, Linux), os programas de edição de texto e imagem, as plataformas de transmissão de vídeos (streamings), os players de música, os aplicativos de troca de mensagens e de localização em tempo real. Mas há também softwares e sistemas utilizados em áreas específicas de trabalho, como gestão corporativa, processamento de informação, transações financeiras e automação industrial.
Seja qual for o escopo, software e hardware tornam possível ou infinitamente mais práticas tarefas de graus de complexidade tão distintos quanto imprimir um desenho e lançar um foguete. Diante dessa importância, o mercado passou a exigir profissionais devidamente especializados, levando ao surgimento da Engenharia de Software – braço das Engenharias e da Ciência da Computação dedicado especificamente ao desenvolvimento, à implementação e manutenção de sistemas e aos programas computacionais seguros e eficientes.
Esse trabalho envolve diferentes etapas, desde a identificação de problemas e necessidades, necessária para definir as funcionalidades de um software, passando pela elaboração da arquitetura do sistema (escolha de tecnologias, estrutura de dados e design de interface), realização de testes, controle de qualidade e correções até o monitoramento para atualizações.
Embora o engenheiro de software e o desenvolvedor tenham funções relacionadas, seus papéis em um projeto são distintos. Enquanto o desenvolvedor está focado em escrever, testar e depurar o código (transformando uma determinada linguagem de programação em soluções funcionais), o engenheiro atua de maneira mais ampla ao longo de todo o processo, gerenciando a construção da arquitetura da solução em suas diferentes etapas e garantindo escalabilidade e segurança.
ONDE TRABALHA
As diversas áreas da Tecnologia da Informação e da Comunicação (TIC) sempre constituíram um mercado de trabalho com excelentes oportunidades e demanda, tendo em vista a presença massiva que sistemas computacionais e digitais adquiriram na sociedade moderna.
Porém, atualmente, percebe-se a construção gradual de uma nova fase, com o avanço da inteligência artificial, da robótica e da internet das coisas – uma rede de objetos físicos aos quais são incorporados sensores, softwares e outras tecnologias que os habilitam a se conectar e trocar dados com outros dispositivos e sistemas pela internet.
Esses objetos variam desde eletrodomésticos comuns até soluções industriais. São, por exemplo, os assistentes de voz; as geladeiras, que sugerem receitas e avisam quando itens estão acabando; os carros, que “dirigem sozinhos”; até as cidades inteligentes, com dezenas de serviços automatizados.
Tudo isso exige redes e sistemas cada vez mais sofisticados, o que coloca os engenheiros de software entre profissionais mais requisitados pelas empresas, seja como funcionário, seja como prestador de serviço ou consultor. Embora no setor público também haja demanda – sobretudo nas instituições de ensino quando se fala de pesquisa –, é na iniciativa privada que se concentram as oportunidades, especialmente aquelas envolvendo tecnologia de ponta.
O CURSO NA UFC
O QUE ESTUDA
Engenheiros de software precisam dominar diferentes linguagens de programação, compreendendo não apenas seu funcionamento, mas também os conceitos nos quais se baseiam e as estruturas de dados. Assim como outras áreas – ciência de dados, redes, segurança da informação, engenharia ou ciência da computação, análise e desenvolvimento de sistemas –, trata-se de um campo que evolui rapidamente, exigindo atualização constante dos profissionais.
Entre os conteúdos que integram as formações estão cálculo diferencial e integral, geometria analítica, estatística, circuitos eletrônicos, desenvolvimento de sistemas, design e interação, linguagens de programação, análise e modelagem de dados, arquitetura e redes de computadores, gestão de projetos, lógica aplicada e segurança da informação.
Na UFC, o curso é alicerçado em quatro eixos: Formação Básica, Tecnológica, Humanística e Suplementar. Na Formação Básica, o aluno entra em contato com saberes elementares, como Fundamentos de Programação, Linguagens de Programação e Arquitetura de Softwares, bem como disciplinas da Ciência da Computação e Matemática.
A Formação Tecnológica é composta por matérias relacionadas à Engenharia de Software e às Tecnologias da Informação e Comunicação, como Inteligência Artificial, Desenvolvimento de Softwares para Dispositivos Móveis, Redes e Sistemas Distribuídos e Interface Humano-Computador. Integram a Formação Suplementar e Humanística disciplinas de Administração, Direito e línguas. Nos últimos semestres há carga horária destinada ao estágio supervisionado e ao trabalho de conclusão de curso (TCC).
FICHA DO CURSO
Ingresso: Sisu / Onde: Quixadá – Campus de Quixadá (av. José de Freitas Queiroz, 5003, Cedro Novo, Quixadá, CE); Campus de Russas (av. Felipe Santiago, 411, Russas, CE) / Grau: bacharelado / Duração: 8 semestres / Turnos: integral / Número de vagas: Quixadá 50 por ano, com ingresso no 1º semestre; Russas – 100 por ano (50 por semestre).