saida-profissional-informatica-programacao

Saídas profissionais: Programação

Antes de começares a tua licenciatura em informática queres saber as suas saídas profissionais? Já terminaste o teu curso universitário e gostavas de conhecer que tipo de empregos estão ao teu alcance?

A empregabilidade de um curso superior de informática é bastante alta, por isso não deverás ter problema em encontrar trabalho. Analisa as descrições abaixo e descobre qual é o emprego adequado para ti.

Programador

No coração da informática estão linhas e linhas de código que traduzem as nossas ações em comandos para a máquina. Qualquer aplicação no teu smartphone ou tablet é um programa informático programado por alguém. Desde o aspeto ao comportamento, está tudo descrito em linhas de código, que tiveram de ser escritas por alguém. Hoje em dia quase tudo tem uma componente digital e para implementá-la é sempre preciso um programador — o que explica a alta taxa de empregabilidade dos programadores.

Estes profissionais devem ter um pensamento objetivo e lógico, ser capazes de pensar em conceitos abstratos e de resolver problemas complexos de forma simples (dá jeito uma mente criativa). Quanto mais experiente for o programador mais valioso ele se torna, produz código mais depressa, com menos bugs, e pode ser mentor dos mais novos para um dia serem tão bons quanto ele.

Programador Web

A.K.A: back-end developer, front-end developer, full-stack developer, web developer, web designer.

Sem este tipo de programadores não haveria Youtube, eBay, Facebook… Todos esses sites que facilitam e enriquecem a nossa vida tiveram de ser desenhados e programados.

Um programador web pode especializar-se no aspeto do site (front-end) ou no funcionamento interno (back-end). Aqueles que dominam as duas áreas são apelidados de “full-stack web developer” pois são capazes de programar desde a base de dados (back-end) à cor do botão que é mostrado ao utilizador (front-end).

É sua responsabilidade garantir que os sites por si criados são apelativos e fáceis de utilizar (usabilidade), são rápidos (desempenho) mesmo quando são acedidos por milhares de utilizadores em simultâneo (escalabilidade), estão disponíveis em vários línguas (internacionalização), e permitem inserir e atualizar conteúdo.

Programador de Jogos

A.K.A: game developer, gamedev.

O mercado dos jogos é outro mundo: animadores, designers gráficos, músicos e sonoplastas, argumentistas, programadores, testers, produtores, marketeers, todos estes profissionais se juntam para criar um jogo. Desenvolver jogos requer criatividade, inovação e conhecimentos sólidos de programação, matemática e até física!

Este profissionais podem especializar-se numa linguagem de programação, plataforma, consola ou género de jogo. Ultimamente tem havido um grande crescimento ao nível dos indie developers/games, ou seja programadores independentes de estúdios ou editoras. Em pequenas equipas ou individualmente, estes programadores desenvolvem os seus próprios jogos e colocam-nos à venda em lojas online.

Programador Mobile

A.K.A: app developer, mobile developer.

Sim, todas aquelas apps do teu smartphone tiveram de ser feitas por alguém, por um mobile programador mobile. Continua a ser velha programação, só que feita para dispositivos móveis, com ligação à internet, GPS, todo o tipo de sensores, e um sistema operativo que ora será Android ou iOS (depois há “os outros”).

No entanto, o paradigma da programação é bastante diferente, o design é rei e o toque rainha, a introdução de dados deve ser a mínima possível, qualquer pessoa deve intuitivamente saber como utilizar o programa, o software deve poupar o máximo de bateria possível e responder com rapidez aos comandos do utilizador.

Engenheiro de Software

Também apelidados de programadores seniores, no fundo são programadores que ao longo dos anos adquiriram experiência e destreza a resolver problemas complexos. As mentes lógicas e matemáticas destes engenheiros são perfeitas para para criar algoritmos de alto desempenho e escalabilidade.

É costume trabalharem em conjunto com os arquitectos de sistemas para (1) lhes apresentarem o que é possível fazer com determinada linguagem de programação e (2) traduzir o desenho do arquitecto no esqueleto do novo sistema. De certa forma, o engenheiro de software ergue as fundações do “edifício” e o programador, como se fosse um pedreiro, preenche as fundações com os tijolos (linhas de código).

Estes profissionais adoram software e estão sempre a praticar e a explorar as tecnologias de programação. Só assim se mantêm atualizados e experientes. Depois tiram partido das suas capacidades de comunicação para explicar o funcionamento dos sistemas e passar o conhecimento de uma determinada tecnologia.

Controlo de Qualidade

A.K.A: quality assurance tester, continuous integration tester, software tester, unit/feature tester.

É claro que o programador acha que o seu código é o melhor do mundo e não tem problemas. Até ao momento em que se deteta o primeiro bug, e onde há um podem haver mais. E é melhor detetar e corrigir esses erros antes do software chegar às mãos do cliente ou dos utilizadores.

A responsabilidade do controlo de qualidade é levar o software ao limite. A criatividade e atenção ao detalhe dos testers é a sua arma contra o software em teste. Se um programador desenvolveu um site para compras online, o controlo de qualidade vai tentar fazer uma compra com quantidade negativa, exageradamente grande ou pequena, igual a zero, ou igual a azul. O código do programador deve reagir corretamente em cada um desses casos, caso contrário é detetado um bug e o software volta ao programador para ser corrigido.

Mais informações em inglês aqui e aqui.

Diogo Nunes

Diogo Nunes é Mestre em Eng. Informática pelo IST. A sua visão é melhorar a vida das pessoas através da tecnologia. Além disso escreve para o blogue "The Geeky Gecko" e já conta com três livros publicados. A sua segunda paixão é a fotografia.