Google recomenda cursos online para futuros engenheiros de Software

06/11/2014

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 courseCoursera - 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 FundamentalsMIT Intro to Programming in JavaGoogle's Python ClassCoursera - Introduction to PythonPython Open Source E-Book

Instruções para nível intermediário: Udacity's Design of Computer ProgramsCoursera - Learn to Program: Crafting Quality CodeCoursera - Programming LanguagesBrown University - Introduction to Programming Languages

3. Aprenda outras linguagens de programação

Adicione outras linguagens de programação em seu repertório, como Java Script, CSS, HTML, Ruby, PHP, C, Perl, Shell, Lisp. Scheme.

Onde pesquisar: w3school.com - HTML TutorialCodecademy.com

4. Teste seu código

Aprenda a identificar erros, crie testes e hackeie seu software.

Onde pesquisar: Udacity - Software Testing MethodsUdacity - 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 2List of AlgorithmsList 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 RoboticsNatural Language ProcessingMachine Learning

9. Aprenda a desenvolver compiladores

Cursos: Coursera - Compilers

10. Aprenda Criptografia

Cursos: Coursera - CryptographyUdacity - Applied Cryptography

Sugestão da INFO: curso de Criptografia e teoria da informação da Khan Academy

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 ProjectsGoogle Summer of CodeGoogle 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: GithubKiln

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: CodeJamACM ICPC

Sugestão da INFO: 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. https://www.google.com/about/careers/search

Site: Exame
Data: 05/11/14
Hora: 17h32
Seção: Carreira
Autor:
Link: http://info.abril.com.br/noticias/carreira/2014/11/google-recomenda-cursos-online-para-futuros-engenheiros-de-software.shtml