Trabalhar na Google é um sonho de vários engenheiros/futuros engenheiros, com destaque para os engenheiros de software. A Google possui a fama de ter ótimos escritórios (há dois no Brasil, um em Belo Horizonte e outro em São Paulo) e os salários são absurdamente motivadores, fatores que justificam a concorrência altíssima . Se você é um engenheiro/futuro engenheiro de software, então precisa conferir essas dicas que a empresa divulgou sobre como se tornar um bom engenheiro de software.
1. Faça cursos de introdução à Ciência da Computação
Eles fornecem instruções básicas sobre programação.
Recomendações: Udacity – intro to CS course, Coursera – Computer Science 101
2. Saiba programar em pelo menos uma linguagem orientada a objetos, como C++, Java ou Python
Recomendações (nível iniciante): 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
Recomendações (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 em seu repertório, como Java Script, CSS, HTML, Ruby, PHP, C, Perl, Shell.
Recomendações: – HTML Tutorial, Udacity – Mobile Web Development, Udacity – HTML5 Game Development
4. Teste seu código
Aprenda a identificar erros, crie testes e hackeie seu próprio software.
Online Resources: Udacity – Software Testing Methods, Udacity – Software Debugging
5. Desenvolva raciocínio lógico e conhecimentos em matemática discreta
Recomendações: MIT Mathematics for Computer Science, Coursera – Introduction to Logic, Coursera – Linear and Discrete Optimization, Coursera – Probabilistic Graphical Models, Coursera – Game Theory
6. Compreenda bem algoritmos e estruturas de dados
Recomendações: 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. Compreenda bem sistemas operacionais
Recomendações: UC Berkeley Computer Science 162
8. Aprenda UX Design
Recomendações: Udacity – UX Design for Mobile Developers
9. Aprenda sobre Inteligência Artificial
Recomendações: Stanford University – Introduction to Robotics, Natural Language Processing, Machine Learning
10. Aprenda a criar compiladores
Recomendações: Coursera – Compilers
11. Aprenda a criptografar
Recomendações: Coursera – Cryptography, Udacity – Applied Cryptography
12. Aprenda programação paralela
Recomendações: Coursera – Heterogeneous Parallel Programming
13.Trabalhe em projetos fora de sala de aula
Crie e mantenha um site, faça seu próprio servidor ou construa um robô.
Recomendações: Apache List of Projects, Google Summer of Code, Google Developer Group
14. Trabalhe em uma parte pequena de um grande sistema, leia e entenda o código e encontre erros
Recomendações: Github, Kiln
15. Trabalhe em projetos com outros programadores
Irá ajudá-lo a melhorar sua capacidade de trabalhar em equipe e permite aprender com os outros.
16. Pratique seu conhecimento em algoritmos e capacidade de programação
Pratique por meio de competições ou concursos.
Recomendações: CodeJam, ACM ICPC
17. Seja um monitor
Ensinar os outros estudantes te ajuda a melhorar seu conhecimento no assunto.
18. Faça estágio na área de engenharia de software
Mas, o guia alerta: seguir todos os itens não garante um emprego na Google. As recomendações servem para introduzir ou complementar seu conhecimento. Então, você precisa se esforçar em outras tarefas para conseguir um emprego nesta gigante empresa.
Referências: Google: Guide for Technical Development
Leave a comment