A complete daily plan for studying to become a Google software engineer.
View the Project on GitHub jwasham/google-interview-university
This is my multi-month study plan for going from web developer (self-taught, no CS degree) to Google software engineer. Please don't let that offend you if you are a web developer. I'm just speaking from my knowledge and experience.
It's a long list, extracted and expanded from Google's coaching notes, so these are the things you need to know. There are extra items I added at the end that may come up in the interview or be helpful in solving a problem.
Many items are from Steve Yegge's "Get that job at Google" and are reflected sometimes word-for-word in Google's coaching notes.
I'm following this plan to prepare for my Google interview. I've been building the web, building services, and launching startups since 1997. I have an economics degree, not a CS degree. I've been very successful in my career, but I want to work at Google. I want to progress into larger systems and get a real understanding of computer systems, algorithmic efficiency, data structure performance, low-level languages, and how it all works. And if you don't know any of it, Google won't hire you.
When I started this project, I didn't know a stack from a heap, didn't know Big-O anything, anything about trees, or how to traverse a graph. If I had to code a sorting algorithm, I can tell ya it wouldn't have been very good. Every data structure I've ever used was built into the language, and I didn't know how they worked under the hood at all. I've never had to manage memory, unless a process I was running would give an "out of memory" error, and then I'd have to find a workaround. I've used a few multi-dimensional arrays in my life and thousands of associative arrays, but I've never created data structures from scratch.
But after going through this study plan I have high confidence I'll be hired. It's a long plan. It's going to take me months. If you are familiar with a lot of this already it will take you a lot less time.
Print out a "future Googler" sign (or two) and keep your eyes on the prize.
I'm on the journey. Follow along at GoogleyAsHeck.com