Exame Logo

Google recomenda cursos online para engenheiros de software

Cursos podem ajudar estudantes ou profissionais já formados que sonham em se tornar bons engenheiros de software e, quem sabe, fazer parte da equipe do Google

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)
DR

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 Method s, 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.

Onde pesquisar: Github, Kiln

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.

Concursos: CodeJam, ACM ICPC

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.

Veja também

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 Method s, 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.

Onde pesquisar: Github, Kiln

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.

Concursos: CodeJam, ACM ICPC

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.

Acompanhe tudo sobre:cursos-onlineEmpresasEmpresas americanasEmpresas de internetempresas-de-tecnologiaGoogleInternetTecnologia da informação

Mais lidas

exame no whatsapp

Receba as noticias da Exame no seu WhatsApp

Inscreva-se

Mais de Tecnologia

Mais na Exame