Undoubtedly, Google employs some of the most qualified engineers and programmers in the world. Recently a separate page appeared on the site of the search engine, where courses and tools for online education are presented, which all engineers and programmers need to know.
Passage of educational programs does not guarantee work in Google, which the company says in a separate footnote. But it’s incredibly cool – to learn about what courses in the opinion of one of the best companies in the world must pass every self-respecting programmer and engineer.
With a list of courses in the original you can find here, and we suggest their translation.
Recommendations on education
- Take an introductory computer science course: Udacity, Coursera.
- Learn to program at least one OOP language: C ++, Java, Python:
For beginners: Coursera – programming training, MIT Java course, Google Python course, Coursera Python course.
For the average level: Udacity – the design of computer programs, Coursera – the creation of quality code, Coursera – programming languages, the course of Brown University – an introduction to programming. - Learn other programming languages: JavaScript, CSS, HTML, Ruby, PHP, C, Perl, Shell. Lisp, Scheme: HTML tutorial, codeacademy.com.
- Learn how to test the code: Udacity – testing methods, Udacity – debugging programs.
- Knowledge of Discrete Mathematics: A Course in Mathematics for MIT Programmers.
- Understanding of algorithms and data structure: introductory course MIT about algorithms, Coursera – introductory course about algorithms (part 1 and part 2), list of algorithms, types of data structures, book about algorithms.
- Understanding the operation of operating systems: the Berkeley course.
- To study artificial intelligence: entry into robotics, Stanford’s course, machine learning.
- Creating compilers: course Coursera.
- Knowledge of cryptography: the Coursera course on cryptography, the Udacity course on cryptography.
- Knowledge of parallel programming: the Coursera course.
Recommendations for work
- Create a website, build your own server or create a robot: a list of projects Apache, Google Summer of Code, the Google development team.
- Develop a small part of a large system, read and understand the code, learn the program documentation, debug the program. Auxiliary resources: GitHub, Kiln.
- Work on the project in a team. You will learn from others and learn teamwork.
- Improve programming skills and knowledge of algorithms: CodeJam, ACM ICPC.
- Teach others.
- Become an intern: google.com/jobs
Such recommendations the company gives to all programmers and engineers. Well, have you started creating your own robot?