avatarYK Sugi

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

4138

Abstract

d using LinkedIn and in-person networking to get your first programming job.</p><p id="d525">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.</p><p id="8e0e">For in-person networking, I’d recommend websites like Meetup to meet engineers and recruiters at local companies.</p><h2 id="4166">Wait, that’s not all</h2><p id="7299">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.</p><p id="3c18">For these big companies, I recommend combining the following three strategies:</p><ul><li>Career fairs and recruiting events at universities near you</li><li>Get referred by friends who work at one of these companies</li><li>Simply apply online</li></ul><p id="d536">Combining all of these strategies will help you increase the chance of getting an interview with one of the top tech companies.</p><p id="1a4d">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!</p><h1 id="6abf">Step 4: Learn Data Structures and Algorithms</h1><p id="ac42">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.</p><p id="f51f">To learn the basics, I’d recommend <a href="https://goo.gl/wy3CWF">my video series</a> 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.</p><p id="0789">Since there are only seven videos in this series, you’ll need more material to learn more advanced topics.</p><p id="fbd7">There are several popular options for this, including:</p><ul><li><a href="https://www.coursera.org/specializations/algorithms">These Stanford courses on Coursera</a></li><li><a href="https://www.youtube.com/watch?v=HtSuA80QTyo&amp;list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb">This MIT course on YouTube</a></li><li><a href="https://www.udacity.com/course/data-structures-and-algorithms-in-python--ud513">This Udacity course by Google (Python-based)</a></li><li><a href="https://amzn.to/2KIEYGB">The Algorithm Design Manual by Skiena</a> (a book)</li><li><a href="https://amzn.to/2KG5b8n">Algorithms</a> (another book)</li></ul><p id="8f3e">You should try a few of these and continue with the one you like the most.</p><h1 id="9bd0">Step 5: Prepare for Coding Interviews</h1><p id="c8d6">Coding interviews at companies like Google and Microsoft are hard, but it’s quite straightforward to prepare for them.</p><p id="55d2">Once you have a solid understanding of data structures and algorithms, I’d recommend these three resources for practice:</p><ul><li><a href="https://leetcode.com/">Leetcode</a> — an interactive platform for practicing coding interview problems.</li><li><a href="https://amzn.to/2Nzf85C">Cracking the Coding Interview</a> — a popular book on coding interviews.</li><li><a href="https://www.dailycodingproblem.com/?ref=csdojo">Daily Coding Problem</a> — a mailing list that gives you one problem a day.</li></ul><p id="09d6">After practicing on your own for a few weeks, start doing mock interviews.</p><h2 id="5b06">How to do mock interviews</h2><p id="fdb7">Basically, pair up with your friends, and give each other problems from the resources I mentioned above.</p><p id="25d8">Then, solve each problem on paper or on a Google doc. Explain your solution to your friend.</p><p id="2c3d">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.</p><p id="2da9">Once you do 20 or so mock interviews, you should be ready to start interviewing with the companies you want to work for.</p><h1 id="8e88">Step 6: Apply, Apply and Apply Again</h1><p id="8bf7"

Options

Use the three strategies I mentioned above to apply to top tech companies:</p><ul><li>recruiting events/career fairs</li><li>getting your friends to refer you</li><li>applying online</li></ul><p id="68c9">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.</p><p id="59e5">For me, <a href="https://youtu.be/uPOJ1PR50ag">I applied to Google five times before I landed my software engineer job there</a>.</p><h1 id="4475">A Quick Recap</h1><ul><li>Step 1: Learn to code</li><li>Step 2: Work on a few personal projects</li><li>Step 3: Get your first programming job or internship</li><li>Step 4: Learn data structures and algorithms</li><li>Step 5: Prepare for coding interviews</li><li>Step 6: Apply, apply, and apply again!</li></ul><h2 id="0de9">Is it really that simple?</h2><p id="935c">Yes, it is. But it takes a lot of time and dedication to go through all six steps.</p><h1 id="575e">A Few More Notes</h1><h2 id="e62a">Do I need to get a computer science degree?</h2><p id="685c">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).</p><p id="9f77">Without taking a CS degree, you’ll just need to learn more on your own.</p><p id="dcbd">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.</p><h2 id="fada">Do I need to go to a top university like MIT, Stanford, Carnegie Mellon, etc.?</h2><p id="e392">Again, the short answer is no. It probably helps, but it’s far from necessary.</p><p id="26cf">Laszlo Bock, a former Senior Vice President of People Operations at Google, agrees.</p><p id="239c">According to the book he wrote, <a href="https://amzn.to/2NA5Juj">Work Rules!</a>, Google prefers top-performing students at less-known schools over mediocre-performing students at top schools like MIT.</p><p id="9132">I think this makes sense — if you’re smart and dedicated, it shouldn’t matter too much which school you went to.</p><h2 id="b6db">Do I need to have a high GPA?</h2><p id="7bfc">The short answer is, again, no.</p><p id="41cc">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é.</p><p id="45fe">In fact, according to <a href="https://amzn.to/2NA5Juj">Work Rules!</a>, 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.</p><h2 id="65b9">What do I need then?</h2><p id="ee3d">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é.</p><p id="318a">You’ll be able to build all these if you follow the six steps I explained above.</p><h2 id="6574">How can I write a good resumé?</h2><p id="c1d6">If you like, you can use the resume I used to apply to Google as a template.</p><ul><li><a href="https://yosuke-sugishita-99ky.squarespace.com/s/yk_sugi_resume.pdf">Here’s the PDF version</a>.</li><li><a href="https://yosuke-sugishita-99ky.squarespace.com/s/yk_sugi_resume.docx">Here’s the one for Word</a>.</li><li><a href="https://yosuke-sugishita-99ky.squarespace.com/s/yk_sugi_resume.pages">Here’s the one for Pages</a>.</li></ul><p id="94e3">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.</p><p id="7c1f">There’s also a nice overview of this topic on CareerCup <a href="https://www.careercup.com/resume">here</a>.</p><p id="fca2">Good luck, and thank you for reading this article!</p></article></body>

How To Get a Software Engineer Job at Google and Other Top Tech Companies

You can do it, even even if you’re a self-taught developer

Source: Robert Scoble on Flickr

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!

Step 1: Learn to Code

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?

My short answer would be to pick either JavaScript or Python, but it really depends on your interests. I have a longer answer to this question in this video.

Step 2: Work on a Few Personal Projects

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.

Step 3: Get Your First Programming Job or Internship

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!

Step 4: Learn Data Structures and Algorithms

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:

You should try a few of these and continue with the one you like the most.

Step 5: Prepare for Coding Interviews

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:

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.

Step 6: Apply, Apply and Apply Again

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.

A Quick Recap

  • 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.

A Few More Notes

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!

Career Advice
Programming
Software Development
Google
Tech
Recommended from ReadMedium