Em vídeo
Leia também...
Gustavo Pantuza
Formado em Ciência da Computação com mestrado nas áreas de Sistemas Distribuídos e Redes.
https://blog.pantuza.com • @gpantuza
Onde você estudou?
Fiz minha graduação no UNIBH (Centro Universitário de Belo Horizonte) de 2008 a 2012. O mestrado fiz na UFMG (Universidade Federal de Minas Gerais) de 2013 a 2015. Em ambos estudei no departamento de Ciência da Computação dessas instituições.
Por que você escolheu Ciência da Computação?
Quando eu tinha 9 anos de idade, no interior de Minas Gerais, meu pai chegou com o primeiro computador da nossa casa. Eu me apaixonei por aquela máquina! Nela eu aprendi a utilizar alguns comandos de terminal no MSDos para acessar jogos. Além disso, eu entrava em chats na Internet utilizando IRC. Meus pais sempre me incentivaram nessa minha curiosidade com computadores. Aos quatorze anos de idade comecei consertar os computadores da vizinhança. Eu cobrava 40 reais para formatar e fazer backup dos computadores. Com 16 anos eu comecei a programar em casa estudando com algumas revistinhas de informática que meu pai comprou. Na mesma época comecei um curso técnico à noite em Informática Industrial. Esse curso abriu muito a minha cabeça para o mercado. Quando chegou o momento de fazer inscrições para o vestibular eu tinha certeza do que eu queria: Ciência da Computação.
O que faz um profissional de Ciência da Computação?
É uma área muito vasta. Em linhas gerais, a principal ferramenta de trabalho de um Cientista da Computação é programar. No entanto, cada profissional segue uma especialidade em sua carreira, uma vez que é impossível ser especialista em tudo. Como exemplo, algumas dessas áreas podem ser: Bancos de dados, Sistemas Operacionais, Compiladores, Computação Gráfica, Engenharia de Software, Redes de Computadores, Circuitos Digitais, Sistemas Distribuídos, Inteligência Artificial, etc.
Que tipo de trabalho você faz?
Eu trabalho como engenheiro de software com foco em automação de redes na nuvem. De forma resumida eu escrevo programas que automatizam as Redes de Computadores de um datacenter. Quando alguém da empresa em que trabalho faz um sistema Web, por exemplo, o software que eu escrevo ajuda a fazer a aplicação ser acessível para os usuários de todo o mundo.
Como é seu dia a dia profissional típico?
Eu trabalho na Globo.com. Trabalho com uma equipe de 9 pessoas. Todos os dias nos reunimos às 17:10 para uma reunião rápida onde cada um descreve o que foi feito no dia, quais são os empecilhos que os gestores precisam tomar alguma providência e o que irá fazer no outro dia. Assim, quando começo a trabalhar, eu já sei as tarefas que eu tenho que resolver. Atualmente eu trabalho remoto, ou seja, trabalho de casa. Tenho o horário flexível. Eu costumo trabalhar de 9:30 às 18:30. Um trabalho interessante que fiz recentemente foi de implantar no datacenter da Globo.com um switch (equipamento de rede) virtualizado. Normalmente esses equipamentos são físicos (hardware) e comprados por valores muito altos, por exemplo, 50 mil dólares. Esses switches virtualizados que implantamos são uma versão em software desse tipo de equipamento físico. Como ele é um software livre (de código aberto), não pagamos nada para utilizá-lo, nem para modificá-lo. Com isso, tivemos que escrever diversos programas para comunicar, gerenciar e monitorar esse switch virtualizado. Hoje essa solução está em uso em cerca de 150 computadores do datacenter. Esse trabalho foi um desafio técnico interessante, além de uma enorme redução de custo com compra de equipamentos para a Globo.com.
Que tipo de ferramentas, recursos, ideias e metodologias você utiliza?
Utilizo um notebook e um monitor externo. Tenho um quarto em casa preparado para ser meu escritório. Diariamente eu faço login na rede da empresa e começo a trabalhar. Tenho um link de Internet de 120 Mb. Na Globo.com utilizamos uma metodologia de desenvolvimento de software chamada Agile (ágil). Essa metodologia visa fazer entregas constantes em períodos cíclicos de, por exemplo, 15 dias. Ou seja, a cada 15 dias fazemos uma entrega oficial onde colocamos o código desenvolvido em produção (disponível para os usuários finais). Outra metodologia interessante é o TDD (test driven development), ou seja, desenvolvimento orientado a testes. Nesse método, escrevemos programas que testam o outro programa; aquele que vai para os usuários finais. Assim, conseguimos prever possíveis problemas e falhas antes mesmo de colocarmos nosso código em produção.
Como está o mercado de trabalho em Ciência da Computação?
É um mercado que entra crise e sai crise ele só cresce. Há escassez de profissionais. Atualmente, o mercado internacional tem buscado muitos profissionais brasileiros desse mercado; o que aumenta ainda mais a escassez local de profissionais.
Quais seriam as principais áreas de atuação na Ciência da Computação?
Na Ciência da Computação existem momentos. Em cada época existe uma área em ascensão. Nesse momento, estamos vivendo a era da Informação onde os profissionais de dados são os mais requisitados pelo mercado. As áreas desses profissionais seriam Big Data, Inteligência Artificial, Processamento de dados massivos, Sistemas Distribuídos e Paralelos e Computação em nuvem.
Quanto ganha aproximadamente um profissional formado em Ciência da Computação? A carreira vale a pena em termos financeiros?
A carreira vale muito à pena. É um mercado com alta demanda que, como consequência, paga muito bem. Vou compartilhar de forma generalista como o mercado paga pelo Cientista da Computação.
Estagiário – 1000 a 3000 reais
Programador Júnior – 1500 a 4500 reais
Programador Pleno – 2500 a 8000 reais
Programador Sênior – 5000 a 14000 reais
Especialista – 8000 a 18000 reais
Como você pode notar os valores variam muito em cada categoria. Isso se dá por causa das regiões brasileiras. Existem regiões que pagam muito diferente para o mesmo cargo. A computação não é regulamentada; não tem um órgão controlando a categoria. Logo, essa discrepância é normal na área. Obviamente fatores como mestrado e doutorado são valorizados e podem influenciar no salário. Em todas as categorias existem exceções para mais e para menos. Como eu disse, tentei fazer uma generalização sobre o mercado. Existem muitas ferramentas e sites que trazem dados muito mais confiáveis em relação às faixas salariais por região e por cargo. Não deixe de buscar essas informações online.
Quais as principais vantagens dessa profissão?
Estar em constante aprendizado. Cada problema que você resolve com software é um novo aprendizado. Uma das maiores vantagens da profissão é não ficar desempregado (salvo algumas exceções). Faltam profissionais no mercado, o que faz com que a oferta de trabalho seja enorme. Uma das minhas maiores alegrias com a Ciência da Computação é ser desafiado diariamente com problemas interessantes e ver minhas soluções impactando de alguma forma na vida de milhões de pessoas é muito legal. Outra coisa é a enorme cultura de colaboração, que permite aprender muito com outras pessoas e comunidades. Movimentos como o de Software Livre e comunidades como a comunidade da linguagem Python no Brasil tornam a profissão muito prazerosa e o conhecimento amplamente disseminado.
E quais as maiores dificuldades e desafios?
A constante renovação de conhecimento é desgastante. Em seis meses muita coisa muda no mercado. Muitas novas tecnologias aparecem e você precisa acompanhar essa evolução. Projetos que se caracterizam por ter alta pressão por parte dos prazos de entrega tendem a deixar você muito estressado. Em muitos casos nesses mesmos projetos você não pode entregar a melhor solução, mas sim a mais rápida.
O que se estuda na faculdade de Ciência da Computação?
Nos primeiros dois anos de graduação passa-se pelo ciclo básico da maioria das engenharias. Cálculos, Geometria analítica, Álgebra e etc. No entanto, estudam-se também vários pilares da computação como Algoritmos e estruturas de dados, Matemática discreta e estatística. Nos dois anos finais veem-se matérias quase que exclusivas da computação como Compiladores, Sistemas Operacionais, Organização e arquitetura de computadores, Redes, Inteligência artificial, Bancos de dados, Sistemas distribuídos e Computação gráfica. Obviamente existem outras matérias muito importantes, mas no geral você passa por esses dois ciclos: o básico e específico. Por ser uma área muito vasta, você não irá se especializar em nenhuma dessas matérias, mas terá o conhecimento necessário para fazer isso no futuro.
Quais matérias do colégio são mais importantes ao se preparar para essa carreira?
Matemática no geral é extremamente importante. Facilitará muito compreender abstrações mais teóricas dentro da computação. Dentro da matemática eu citaria as teorias de Conjuntos, de Contagem e Funções como essenciais. Vale citar em especial o cálculo/operações em matrizes que também é um pilar da computação. A física sobre eletricidade também é muito importante para entender sobre como os computadores são construídos. E uma boa base em geometria pode ajudar muito na compreensão da computação gráfica.
Há outras aprendizagens e experiências que não são oferecidas pela escola, mas são importantes ao longo da carreira em Ciência da Computação?
A gestão de projetos é algo diferencial. Saber dimensionar com precisão a quantidade de trabalho, o esforço de cada tarefa e alinhamento com seus líderes e cliente é muito importante. Eu diria que ser um bom comunicador, assertivo, é essencial para manter um projeto no caminho certo. Imagine um projeto de software que irá demorar um ano para ficar pronto. Projetos de software são cheios de detalhes. Imagine não estar alinhado com as expectativas dos seus líderes ou clientes? Por mais que você faça um bom software você pode acabar fazendo uma má entrega.
É necessário o conhecimento de outro idioma para atuação em sua área?
Infelizmente sim. O idioma inglês é imprescindível. Grande parte dos livros essenciais está em inglês ou não são bem traduzidos. Conferências, materiais na Internet, periódicos e artigos geralmente são feitos em inglês. É totalmente possível não saber inglês e estudar Ciência da Computação, mas você sempre irá se deparar com ele. Sempre que eu posso eu tento escrever conteúdo sobre Ciência da Computação em português para ajudar quem está começando na área. Já é difícil o suficiente entender as abstrações da computação em português, imagina em inglês. Essa questão foi uma barreira bem alta pra mim!
Como deve ser a personalidade e quais devem ser os interesses, desejos e valores de alguém que segue essa profissão?
Você deve ter um perfil de resolvedor de problemas. Tipicamente uma pessoa metódica e que trabalha o raciocínio em torno da lógica. Tanto faz ser extrovertido ou introvertido, apesar de o segundo ser mais frequente na área, desde que seja lógico. Acredito muito em pessoas que sabem trabalhar em grupo: discutir soluções e saber ouvir quando algo pode ser alterado na sua solução. Saber ouvir e ser ouvido. Ser inclusivo e respeitar as diferenças sempre serão valores importantíssimos na sua carreira.
É necessária alguma habilidade anterior?
Na realidade não. Você não precisa saber programar ou ser ultra familiarizado com computadores para fazer Ciência da Computação. Mas obviamente todo conhecimento prévio irá lhe auxiliar a absorver o conhecimento que lhe será exposto.
Você mudaria algo em relação ao seu caminho profissional para chegar ao ponto em que está?
Sim. Eu teria investido mais tempo em ter boas noites de sono. Existe uma cultura na Computação de virar noites programando. Uma mente cansada não resolve problemas. Na verdade ela só te atrapalha. O descanso é essencial para se criar boas soluções.
Existem filmes que exemplifiquem sua área profissional? Caso afirmativo, poderia citar alguns?
Existem vários. Vou citar alguns, mas existem muitos bons filmes que retratam as diversas áreas da Ciência da Computação. A saber: Piratas no vale do silício, a trilogia Matrix, Revolution OS, Hackers (1995), The Imitation Game (2014), The Net (1995), Mr Robot e etc.
Quem seriam profissionais de amplo reconhecimento ou figuras históricas de sua área?
Alan Turing, Leslie Lamport, Edsger W. Dijkstra, Donald Knuth, Denis Richie, Grace Hopper, Vint Cerf, Ken Thompson, Richard Stallman, Bjarne Stroustrup, Linus Torvalds e Guido van Rossum.
Por fim, que dicas de carreira e de vida em geral você gostaria de oferecer para um jovem que está escolhendo sua profissão nesse momento?
Faça questão de uma boa noite sono. Não se assuste com o fato de parecer que você precisa ser muito bom em matemática para fazer Ciência da Computação. Na prática, você não precisa tanto assim; é apenas uma excelente ferramenta. Se envolva em comunidades. Elas são um ambiente incrível para trocar experiências, conhecer pessoas e contribuir com a sociedade. Contribua com Software Livre. Durante o curso, seja apegado aos fundamentos e à lógica!
Como alguém pode fazer para saber mais sobre Ciência da Computação?
Existem muitos vídeos e textos sobre a Ciência da Computação, inclusive em Português. Procurar um profissional da área para conversar também é bem interessante. Mostras de profissões nas universidades podem ajudar a conhecer melhor os cursos.
Links recomendados:
Sociedade Brasileira de Computação
Association for Computing Machinery
A comunidade da linguagem Python no Brasil
Vídeo: A história da computação