Google: concorrência para uma vaga na companhia é muito grande, chegando a haver mais de 2 mi de currículos para 4 mil contratações (Mark Blinch/Reuters)
Da Redação
Publicado em 6 de novembro de 2014 às 13h36.
São Paulo - O Google é a empresa mais cobiçada por profissionais em diversas áreas, com salários, benefícios e um clima organizacional de fazer inveja.
Mas, tanta regalia não vem de graça. A concorrência para conseguir uma vaga na companhia é muito grande, chegando a haver mais de 2 milhões de currículos para apenas 4 mil contratações.
Com tanta disputa, fica difícil saber exatamente como impressionar os recrutadores e conquistar uma oportunidade de carreira na área de tecnologia. Um engenheiro de software sênior, por exemplo, pode ganhar mais de 250 mil dólares por ano, e tem um dos cargos mais cobiçados na empresa.
Para ajudar estudantes ou profissionais já formados que sonham em se tornar bons engenheiros de software e, quem sabe, fazer parte da equipe do Google, a equipe do Google for Education divulgou um guia com várias competências recomendadas para dominar esta profissão.
O guia oferece sugestões de cursos online, sites de pesquisas, materiais de consulta e dicas sobre diversos assuntos técnicos. E apesar da página estar em inglês, alguns dos cursos também estão disponíveis em português. “Os recursos online oferecidos neste guia não foram feitos para substituir as disciplinas em sua universidade. Eles podem ajudar a complementar seu aprendizado ou ajudar a ter uma introdução sobre cada assunto”, diz a empresa.
Confira abaixo as competências que o Google gostaria que seus talentos de tecnologia dominassem.
Recomendações para aprendizado acadêmico:
1. Curso de introdução na Ciência da Computação
Introdução para o curso de Ciência da Computação e conceitos sobre programação para a web.
Cursos: Udacity - intro to CS course, Coursera - Computer Science 101
2. Programar em pelo menos uma linguagem orientada a objetos, como C++, Java ou Python
Instruções para iniciantes: Coursera - Learn to Program: The Fundamentals, MIT Intro to Programming in Java, Google's Python Class, Coursera - Introduction to Python, Python Open Source E-Book
Instruções para nível intermediário: Udacity's Design of Computer Programs, Coursera - Learn to Program: Crafting Quality Code, Coursera - Programming Languages, Brown University - Introduction to Programming Languages
3. Aprenda outras linguagens de programação
Adicione outras linguagens de programação e marcação em seu repertório, como Java Script, CSS, HTML, Ruby, PHP, C, Perl, Shell, Lisp. Scheme.
Onde pesquisar: w3school.com - HTML Tutorial, Codecademy.com
4. Teste seu código
Aprenda a identificar erros, crie testes e hackeie seu software.
Onde pesquisar: Udacity - Software Testing Methods, Udacity - Software Debugging
5. Desenvolva raciocínio lógico e conhecimentos em matemática
Cursos: MIT Mathematics for Computer Science, Coursera - Introduction to Logic, Coursera - Linear and Discrete Optimization, Coursera - Probabilistic Graphical Models, Coursera - Game Theory
6. Desenvolva uma forte compreensão em algoritmos e estruturas de dados
Aprenda sobre os tipos fundamentais de dados, ordenação de algoritmos e estruturas de dados, Grande-O.
Cursos: MIT Introduction to Algorithms, Coursera Introduction to Algorithms Part 1 & Part 2, List of Algorithms, List of Data Structures, Book: The Algorithm Design Manual
7. Desenvolva conhecimento aprofundado em sistemas operacionais
Curso: UC Berkeley Computer Science 162
8. Aprenda sobre inteligência artificial
Cursos: Stanford University - Introduction to Robotics, Natural Language Processing, Machine Learning
9. Aprenda a desenvolver compiladores
Cursos: Coursera - Compilers
10. Aprenda Criptografia
Cursos: Coursera - Cryptography, Udacity - Applied Cryptography
11. Aprenda Programação Paralela
Cursos: Coursera - Heterogeneous Parallel Programming
Recomendações não acadêmicas:
1. Trabalhe em projetos que vão além da sala de aula
Crie e mantenha um site, construa seu próprio servidor ou até mesmo um robô.
Onde pesquisar: Apache List of Projects, Google Summer of Code, Google Developer Group
2. Trabalhe em uma pequena parte de um grande sistema (codebase), leia e entenda o código, rastreie documentações e faça debugs.
O Github é uma boa forma de ler o código de outras pessoas ou de contribuir em projetos.
3. Trabalhe em um projeto com outros programadores
Isso faz com que você aprimore sua habilidade de trabalhar em equipe e ainda aprender com outras pessoas.
4. Pratique seu conhecimento em algoritmos e habilidades de programação
Pratique seu conhecimento em algoritmos por meio de competições como o CodeJam ou o Concurso Internacional de Programação da ACM.
Sugestão: no Brasil, várias instituições também costumam realizar hackathons para premiar os projetos mais inovadores de soluções. Nesse ano, por exemplo, a PUC-Rio e o Itaú Unibanco já organizaram as suas.
5. Torne-se em um monitor
Ajudar a ensinar outros estudantes faz com que você aprimore seu conhecimento no assunto.
6. Faça um estágio na área de Engenharia de Software
Participe de processos seletivos para estagiar na área e tome cuidado para não perder os prazos de inscrição para as oportunidades. Saiba quais vagas estão em aberto na companhia nesta página.