18 dicas do Google para ser um bom engenheiro de software - Somos iCEV

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