You can do it, even even if you’re a self-taught developer
A lot of people ask me how to get a job at Google as a software engineer. Here’s a piece explaining the strategy I would use.
You can use the same strategy to get a software engineering job not just at Google, but also at other top tech companies like Amazon, Microsoft, and Facebook.
In this article, I’m going to show you a six step process for landing a job at one of these companies. Along the way, I’m also going to discuss:
- How to learn to code
- What to learn after learning to code
- How to get your first coding job or internship
- The best ways to apply for software engineer jobs
- How to prepare for programming interviews
- Is it important to get a computer science degree?
- Is it important to go to a top university?
OK, let’s get started!
This is the absolute minimum qualification you need to become a software engineer.
For this, I’d recommend you get started with an interactive website such as Codecademy or freeCodeCamp. You can learn most of the programming fundamentals from these sites. I’ve heard that SoloLearn is also good.
After that, I’d use video tutorials to learn more advanced topics. I recommend websites like YouTube, Pluralsight, Lynda.com, and Udemy for this. On these websites, you should be able to find tutorials on topics such as web development, mobile development, and game development, depending on your interest.
What programming language should I learn first?
After you’ve followed a few programming tutorials, you should build a few personal projects to practice what you’ve learned.
Find something you’re interested in building.
For example, if you like photography, maybe you can build a portfolio site for all your photos. If you like trading stocks, maybe you can build a system that analyzes stock charts for you. Or, if you enjoy problem-solving, you can compete in a coding competition.
When you work on a project, first build as much as possible by yourself. If you get stuck, get help from others by using either online or offline resources. For example, you can use Stack Overflow to ask specific, technical questions if you get stuck on something programming-related.
Once you’ve built a few personal projects, you should be able to get your first programming job or internship. This means you’ll have some experience before you start interviewing with top tech companies.
It’s possible to get your first job at one of the top tech companies, but it’s far easier and more common to get it at a less well-known company first.
The best ways to apply for software engineer jobs
Simply applying for jobs online is not necessarily the best strategy, because that’s what pretty much everyone else does.
Instead, I’d recommend using LinkedIn and in-person networking to get your first programming job.
On LinkedIn, find recruiters of the company you’re interested in working at. Then, ask them if you’d be qualified for the position you’re interested in. You should also ask them how you can better prepare yourself if you’re not qualified yet.
For in-person networking, I’d recommend websites like Meetup to meet engineers and recruiters at local companies.
Wait, that’s not all
Using LinkedIn and in-person networking work well if you’re applying to small-to-medium-sized companies. However, I’ve found that these strategies are less effective for more popular companies such as Google and Facebook.
For these big companies, I recommend combining the following three strategies:
- Career fairs and recruiting events at universities near you
- Get referred by friends who work at one of these companies
- Simply apply online
Combining all of these strategies will help you increase the chance of getting an interview with one of the top tech companies.
By the way, I’m not exactly sure why LinkedIn is less effective with these big companies, but I think it might be because they get too many messages. Basically, they’re too popular there!
Top tech companies like Google and Microsoft often ask questions about data structures and algorithms in their interviews. So, if you haven’t learned about them yet, you should.
To learn the basics, I’d recommend my video series on data structures and algorithms. It’s all on YouTube. I’ve made these videos to make it as easy as possible to get to know this topic.
Since there are only seven videos in this series, you’ll need more material to learn more advanced topics.
There are several popular options for this, including:
- These Stanford courses on Coursera
- This MIT course on YouTube
- This Udacity course by Google (Python-based)
- The Algorithm Design Manual by Skiena (a book)
- Algorithms (another book)
You should try a few of these and continue with the one you like the most.
Coding interviews at companies like Google and Microsoft are hard, but it’s quite straightforward to prepare for them.
Once you have a solid understanding of data structures and algorithms, I’d recommend these three resources for practice:
- Leetcode — an interactive platform for practicing coding interview problems.
- Cracking the Coding Interview — a popular book on coding interviews.
- Daily Coding Problem — a mailing list that gives you one problem a day.
After practicing on your own for a few weeks, start doing mock interviews.
How to do mock interviews
Basically, pair up with your friends, and give each other problems from the resources I mentioned above.
Then, solve each problem on paper or on a Google doc. Explain your solution to your friend.
Make sure to practice both as the interviewee and interviewer so that you can see what it’s like to be in the interviewer’s shoes.
Once you do 20 or so mock interviews, you should be ready to start interviewing with the companies you want to work for.
Use the three strategies I mentioned above to apply to top tech companies:
- recruiting events/career fairs
- getting your friends to refer you
- applying online
If you don’t get in the first time, don’t worry. In fact, you should expect some failures — getting into any of these companies is highly competitive.
For me, I applied to Google five times before I landed my software engineer job there.
- Step 1: Learn to code
- Step 2: Work on a few personal projects
- Step 3: Get your first programming job or internship
- Step 4: Learn data structures and algorithms
- Step 5: Prepare for coding interviews
- Step 6: Apply, apply, and apply again!
Is it really that simple?
Yes, it is. But it takes a lot of time and dedication to go through all six steps.
Do I need to get a computer science degree?
The short answer is no. However, a computer science degree helps a lot. If you take a solid CS program, it takes care of most of steps one to four (learning to code, personal projects, getting your first programming job or internship, and learning data structures and algorithms).
Without taking a CS degree, you’ll just need to learn more on your own.
Also, please note that even with a CS degree, it takes a lot of work to get a software engineer job at one of these companies.
Do I need to go to a top university like MIT, Stanford, Carnegie Mellon, etc.?
Again, the short answer is no. It probably helps, but it’s far from necessary.
Laszlo Bock, a former Senior Vice President of People Operations at Google, agrees.
According to the book he wrote, Work Rules!, Google prefers top-performing students at less-known schools over mediocre-performing students at top schools like MIT.
I think this makes sense — if you’re smart and dedicated, it shouldn’t matter too much which school you went to.
Do I need to have a high GPA?
The short answer is, again, no.
Having a high GPA probably helps a bit for getting an interview, but it’s much more important to have solid practical experience and interesting projects to show on your resumé.
In fact, according to Work Rules!, Google used to care a lot about candidates’ GPAs in the past. However, they’ve found that having a high GPA is not strongly correlated with having a strong workplace performance in the long term. After that finding, they stopped placing such a strong emphasis on GPAs.
What do I need then?
Basically, all you need is strong coding and problem-solving skills, a good understanding of CS fundamentals, and interesting projects and experience to show on your resumé.
You’ll be able to build all these if you follow the six steps I explained above.
How can I write a good resumé?
If you like, you can use the resume I used to apply to Google as a template.
That’s the actual resumé I used to get a job at Google as a software engineer. It should really have been one page, so I would say my resumé was too long. Still, feel free to use it as a starting point.
There’s also a nice overview of this topic on CareerCup here.
Good luck, and thank you for reading this article!
Is it easy to get a Software Engineer job at Google? ›
Getting into Google isn't all that easy, though. Known to hire only the world's top talent, Google accepts less than 1% of applicants for software engineering positions. Getting hired by Google takes a great deal of effort, typically involving several hours of practice and preparation, powered by the right strategy.Is it hard to get a tech job at Google? ›
If you're wondering how hard is it to get a job at Google, I'm going to share what I know based on my experience as a tech recruiter. Landing any job at Google is tough because they hire the best of the best, and they receive a TON of applicants. (This is the main reason it's so hard to get a job at Google).What are the requirements to be a Software Engineer at Google? ›
- 4 years of relevant work experience.
- Bachelor's degree in Computer Science or equivalent practical experience.
- Experience with software development with general programming languages.
For example, securing a full-time position is often described as impossible because Apple has so many strict and rigorous requirements you must meet to become a full-time associate. That being said, getting a job at Apple is not impossible.Are Google interviews hard? ›
Practice with Google ex-interviewers. Google coding interviews are really challenging. The questions are difficult, specific to Google, and cover a wide range of topics. The good news is that the right preparation can make a big difference.Is working at Google stressful? ›
Just because you got a job at Google doesn't mean you'll keep it. Working with the brightest minds in the world who are driven daily to reach new levels of success is intense and stressful. You better be ready to bring your top professional game every day. You'll need to keep up, or you could find yourself moving on.What should I study to get job in Google? ›
1. Engineering: Technical roles at Google include software engineering, STA engineering, application development, product management, etc. 2. Business: Non-technical jobs at Google include quantitative business analysis, business operations management, sales strategy, etc.What is the hardest company to get into? ›
- McKinsey & Company.
- The Boston Consulting Group.
- Bain & Company.
- Rolls Royce.
- ZS Associates.
Senior Staff Software Engineer (Level 7)
Senior staff software engineers usually carry the responsibilities of a Level 6 software engineer and are considered equivalent to senior managers.
- Ruby. The programming language Ruby is from Japan. ...
- Python. ...
- C/C++ ...
- Swift. ...
- PHP. ...
What language do I need to work at Google? ›
You've got business skills
It turns out that coding makes up just a part of all jobs at Google. Because as brilliant as Google's engineers are, they still need someone to manage their code, sell their code and protect their code. And that's where you, the experienced business professional, comes in.
- Software Engineer. Your work is at the core of everything we build. ...
- Product Manager. ...
- Sales Engineer. ...
- Technical Program Manager. ...
- Technical Solutions. ...
- Electrical Engineer. ...
- Test Engineer. ...
- Network Engineer.
$210,782. The estimated total pay for a Software Engineer at Google is $210,782 per year. This number represents the median, which is the midpoint of the ranges from our proprietary Total Pay Estimate model and based on salaries collected from our users. The estimated base pay is $142,741 per year.How do you get hired by Tesla? ›
Alternative ways of applying for a job at Tesla
- Networking. ...
- If you're bold enough, reach out to a hiring manager directly via email and skip the application process.
Google hires roughly 20,000 people annually, but with over 3 million applications submitted to the company each year, they have a 0.67% acceptance rate!Does Apple pay well? ›
Apple pays an average salary of $127,197 per year or $61.15 per hour. There is a significant gap between what Apple pays the bottom 10 percent of earners and the top 10 percent of earners. The lowest-paid workers at Apple make less than $83,000 a year, while the highest-paid workers earn over $194,000.How many people fail Google interview? ›
These interviews last 45 minutes on average, with pass rates ranging from 15% to 20%.Is Google coding interview hard? ›
Google's technical interview is one of the most challenging interviews among big tech companies. It isn't incorrect to assume that the Google interview process is perhaps the ultimate test of your coding and design capabilities. There's more to the interview, though.Is it hard to get a job as a software engineer? ›
Getting a job as a software engineer is never easy, but, for a few key reasons, it's especially difficult the first time around. First, you're not likely to have a professional network or existing software engineer connections who can make introductions on your behalf.
Why people quit their jobs at Google? ›
We spoke to former Google employees to find out why they decided to leave the company. Their answers ranged from frustration with company politics to a desire to take the next step in their career, whether that's learning new skills, building a new company, or becoming a social-media influencer.How many hours do software engineers work at Google? ›
Work time varies, but 44% of Googlers work 10+ hours on average. The good news is that 70% of Googlers report being satisfied with work-life balance, even though their hours may be longer than a typical 40-hour work week.What skills does Google look for? ›
- Software Development. 451.
- Software Engineering. 432.
- Python. 382.
- Product Management. 329.
- Product Development. 276.
- Program Management. 268.
- Project Management. 256.
- SQL. 253.
What is the minimum salary in Google? Minimum salary at Google depends on the role you are applying for. For Analyst the minimum salary is ₹7.4 Lakhs per year, for Data Analyst the minimum salary is ₹19.7 Lakhs per year and so on.What is the highest paying occupation? ›
|OCCUPATION||2021 MEDIAN PAY|
|Anesthesiologists||This wage is equal to or greater than $208,000 per year|
|Orthodontists||This wage is equal to or greater than $208,000 per year|
|Oral and maxillofacial surgeons||This wage is equal to or greater than $208,000 per year|
According to Glassdoor, jobs at hospitals top the list for difficult interviews, with interviews ranking 9.7 percent more harder than average, compared to other industries.Which tech company has toughest interviews? ›
Amazon has the toughest interview process of FAANG. It's very impersonal and they drill you on behavioral questions so much that Google and FB interviews especially feel nice in comparison.Which exam interview is toughest? ›
The UPSC Exam is said to be the most toughest exam in India. It is the most competitive and difficult exam that is conducted in India. The UPSC Exam is conducted in three stages- UPSC Prelims, UPSC Mains, and Interview.How hard is it to get a job at Google 2022? ›
In fact, Google's acceptance rate is 0.2% compared with 5.2% for Harvard. Working for Google might sound like an unbelievable dream, but just because the odds are high doesn't imply they can't be ever in your favor! While hard, several thousands do get hired every year, so it is not impossible.What are the chances of getting a job at Google? ›
The company gets over 3 million high quality applicants each year. Only 7000 are hired, which gives candidates a 0.2% chance of receiving an offer...
Is it hard to get a job as a software engineer? ›
Getting a job as a software engineer is never easy, but, for a few key reasons, it's especially difficult the first time around. First, you're not likely to have a professional network or existing software engineer connections who can make introductions on your behalf.What is the acceptance rate for Google? ›
Google hires roughly 20,000 people annually, but with over 3 million applications submitted to the company each year, they have a 0.67% acceptance rate!Is food free for Google employees? ›
Google told employees they cannot expense free food or repurpose unused budgets from things such as cancelled events on perks such as fitness. The company added that workers can't use extra funds to donate to charities or fundraisers of their choice.Is working at Google stressful? ›
Just because you got a job at Google doesn't mean you'll keep it. Working with the brightest minds in the world who are driven daily to reach new levels of success is intense and stressful. You better be ready to bring your top professional game every day. You'll need to keep up, or you could find yourself moving on.What is the hardest company to get into? ›
- McKinsey & Company.
- The Boston Consulting Group.
- Bain & Company.
- Rolls Royce.
- ZS Associates.
Google employees frequently connect with senior management, reduce tensions and induce positivity through Q&A sessions, TGIF sessions, and Google + conversations at the workplace. Results of an annual employee survey conducted by HR reflect that ~97% of its employees feel positive emotions.Is it harder to get into Harvard or Google? ›
It's almost ten times harder to get a job at Google than it is to get into Harvard. With more than two million applicants a year, it seems like everyone wants to work at the search giant.What does Google look for in candidates? ›
Your skills, interests, and goals are the result of your life, your experiences, your triumphs, and your failures. If we hire you based on your skills, we'll get a skilled employee. If we hire you based on your skills, and your enduring passions, and your distinct experiences and perspectives, we'll get a Googler.Which degree is best for software engineer? ›
Some of the skills that you will learn in a computer science program include:
- Technical computer operations,
- Computer mathematics,
- Computational logic, and.
- A strong understanding of modern code.
As a software engineer, how many hours do you usually work a week? About 40. Sometimes more.
Is coding still relevant in 2025? ›
Absolutely. Not only will coding be relevant in 10 years, it will be more relevant than it is today. However, the syntax of coding languages will continue becoming easier.Is it harder to get a job at Google or Facebook? ›
The hiring process is less difficult at Facebook, which could be better for employees long-term. On Glassdoor, job candidates consistently rate Google's interview process as more difficult than Facebook's.How many interviews does Google have? ›
Google's new hiring process
After examining the interviewing data and finding out that a panel of four interviewers most likely makes the same decision as a panel of more interviewers, Google decided to change its hiring process. Today, applicants only have to take four interviews.
- Brush up on data structures and algorithms concepts. ...
- Solve at least 3 problems every day to get a hold of the concepts.
- You can spend a day or two searching for a good online resource to help you with your prep.
- Attend a technical interview webinar to understand the best ways to prepare for Google's interview.