Google is the most desirable employer on Earth .
Engineers are the rock stars there – and they’re paid accordingly .
Interns start at $70,000 to $90,000 salaries, while software engineers pull in $118,000 and senior software engineers make an average of $152,985.
But one does not simply walk into the Googleplex.
The company receives upwards of 2.5 million job applications a year , but only hires about 4,000 people .
Thankfully for would-be Googlers, the Google in Education team has released a list of skills that they want to see in potential engineers .
“Having a solid foundation in Computer Science is important in being a successful Software Engineer,”the company says . “This guide is a suggested path for University students to develop their technical skills academically and non-academically through self-paced, hands-on learning.”
Here are the skills Google wants its tech talent to master , complete with online resources to get you started:
1. Mastering the foundation. You have to be able to get through an introduction to CS course, like the ones from Udacity or Coursera .
2. Learn to code in at least one object-oriented programming language. Like C++, Java, or Python. Consult MIT or Udacity .
3. Learn other programming languages. Add Java Script, CSS, Ruby, and HTML to your skillset. W3school and CodeAcademy are there to help.
4. Test your code. Because Google wants you to be able to “catch bugs, create tests, and break your software.” Udacity , once again.
5. Have some background in abstract math. Like logical reasoning and discrete math, which lots of computer science draws on. MIT can help you with mathematics for computer science .
6. Understand algorithms and data structures. Google wants you to learn about fundamental data types like stacks, queues, and bags, as well as grasp sorting algorithms like quicksort, mergesort, and heapsort. MIT provides the recommended online resources , and the book “The Algorithm Design Manual” is super helpful, too.
7. Get to know operating systems. Because they’ll be where you do much of your work. The University of California, Berkeley, provides a primer .
8. Become familiar with artificial intelligence. Google loves robots. Stanford has the knowledge .
9. Learn how to build compilers. Stanford says that when you do that, “you will learn how a program written in a high-level language designed for humans is systematically translated into a program written in low-level assembly more suited to machines.” Head to Coursera for the learning.
10. Learn cryptography. Because cybersecurity is crucial. Coursera and Udacity provide courses.
11. Learn parallel programming. Because being able to carry out tons of computations at the same time is super powerful. The University of Illinois can help you out .
But Google doesn’t just look at skills in its select candidates – the search giant seeks specific personality qualities, too .