How to Get an Interview at a Major Tech Company

0% money-back guarantee – The Town of Muleshoe – How to get rejected – Captain Picard’s wisdom

If you’re reading this, you’re looking for a software engineering job at a major tech company. If you’re in sales, HR, or any non-tech function, you will probably hate my controversial thoughts about Microsoft Office.

Remember: I am a random engineer on the Internet, not an official Google recruiter. My experience is from going through the process, and I offer a 0% money-back guarantee.

What To Focus On

These main ideas will make a huge difference:

  • Programming personal projects
  • Optimizing your resume (to a certain point)
  • Learning about data structures and algorithms
  • Practicing whiteboard interviews
  • Avoiding unhelpful activities (What Not To Do)

Remember, 80% of the work happens before you hit “Send” on that email.

Personal Projects… Again

Personal projects show that you’re knowledgeable about specific technologies. Make sure you have some under your belt, and can brag about how cool you are. Practice talking to recruiters, too.

Getting Noticed

A lot of large companies say, “Apply online.” It’s true. Despite sending company representatives to career fairs, many reps don’t take resumes. In contrast, smaller companies have offered to schedule interviews at career fairs.

I have had seen success both in person and via online applications. In either case, a good resume can help you stand out from the average Joes.

Do you know the way to Muleshoe?

As a software engineer, you’re expected to know basic algorithms and data structures. On the job, will you actually implement Djikstra’s algorithm to calculate the perfect route to Muleshoe, TX? Probably not. But that doesn’t stop interviewers from asking questions like that.

So you can argue about whether it’s reasonable to ask interviewees to estimate big O, or learn about hash tables. You should be able to describe common algorithms like breadth-first search before you walk into the interview room.

Whiteboard Interviews

Okay, this is only for after you get an interview. But you should already be practicing interviews before you’re scheduled for a phone screen. For a detailed guide, read this article. Then practice relentlessly.

What Not To Do

Since you’re spending time on the most significant aspects of a job search, you can ignore tactics like these:

  • Tailoring a cover letter (I’ve rarely needed these)
  • Obsessing over daily GitHub contributions
  • Waiting in line to talk to big tech company recruiters at a career fair
  • Writing a huge blog (recruiters don’t have time to read every article)

Just Apply Already!

If you’ve made your resume succinct and ensured it contains relevant terms, you’ll have a much better chance of landing an interview at a major tech company. If you get rejected, keep trying with other companies. Like a wise man once said, “It is possible to commit no mistakes and still lose.”

Keep on programming and applying, and you’ll be ever closer to landing a job at a major tech company.

Posted in Uncategorized | Tagged , , , , , | Leave a comment

How to Make Loads of Money By Ignoring Your Followers

How to get Likes

Imagine you run a social media account on Instagram or Twitter. You use your account to promote your business and provide useful information to your followers. One day, you post a picture of sushi.


“You discover that posting pics of sushi gets 250% more Likes than a detailed post with data/insights. Do you…

  • Ignore the data
  • Survey your followers
  • Order 50 California rolls”

Ignore Vanity Metrics

“Likes” are more of a vanity metric. It’s nice that people show interest in your photo, but it’s unrelated to getting more users or customers. Maybe some random sashimi enthusiasts stumbled upon your picture?

Similarly, a metric like Daily Active Users (DAUs) or page views could be misleading.* In this case, you can make loads money by ignoring your followers.

*Every engineer knows that metrics can be gamed. But that’s a story for another time.

Posted in Software | Tagged , , , , , , | Leave a comment

How to Write a Tech Resume that Lands an Interview

A decent example – 10 seconds to impress – Olympic medals – SEO

Sometimes the best way to get an interview is to simply have a good resume. Here’s how to write a tech resume that lands an interview.

You can get mad about how the resume process is stupid. You could be the smartest person ever, and the recruiter will throw your resume into the recycling bin. So I think it’s better to edit your resume than get mad.

By the way, if you’re in sales, HR, or any non-tech function, you will probably hate my controversial thoughts about Microsoft Office.

Example Resume

This is a version of a resume I used in 2014 when looking for an internship. I also got an interview with Google using it.

Internship Resume 2014

It’s not perfect, but it was good enough. I cringe a little on the inside when reading certain parts. But it worked.


The person reading your resume will spend less than 10 seconds glancing over it.

10 seconds.

How much can you convey in 10 seconds? They’ve got a huge stack of resumes to go through, and anything that doesn’t convey how cool you are is hurting your chances.

Structure your resume like this:

  • Put your most important items at the top.
  • Use bullet points.
  • Make key items visible with bold text.
  • Keep the resume to one page.
  • Use an easy-to-read font. (If you have to ask, the answer is no.)

Also, you probably don’t need a cover letter. Focus on making your resume stand out.

Grab Their Attention and Pound it Into Submission

When I look at resumes, the things that impress me the most are software related: internships, programming jobs, and side projects.

I don’t care about your time volunteering at a football camp last summer.

I don’t care if you were a financial analyst at a major bank.

I don’t care if you won an olympic medal in Microsoft Office.

Software work experience and personal projects take center stage. If you’re a student or new grad, you can put your education first.


“I don’t know what Python is, but I’m super good with money. And spreadsheets.”

What if you don’t have software work experience? Create some personal projects. School projects count too, if they’re interesting enough to talk about. Plenty of in-class programming projects show that you know how to code.

What if you don’t have any personal projects? Create some!

If you whine, “But I don’t have time to develop a project!” then sorry, I can’t help you. Everyone has to start somewhere.

Controversial Thoughts About Microsoft Office

Unfortunately, HR personnel sometimes attach this line to software engineering jobs:

“Experience using Microsoft Office”

Have you ever met a programmer who could use Vim but not MS Word? Personally, I’m only interested in working at real tech companies, so this can be a useful heuristic on how cool a company actually is.


Many companies (especially large ones) use programs to screen resumes based on keywords. You need to do “SEO” for your resume and include important terms in it. The keywords will vary based on what kind of position you’re looking for. For instance, if you’re applying to be an Android developer, you could include “Java”, “mobile”, “app”, and names of major Android frameworks.

And this should go without saying: don’t lie. It would be a violation of integrity to write about how you’ve worked on Android apps if you haven’t.

More Information

There are plenty more sources on the Internet for how to write software resumes. If you’re looking for an internship, check out The CS Internship Guide. That author is super smart, too!

If you’ve structured your resume well, caught the reader’s attention, and optimized your resume with key terms, you’ll be much closer to landing an interview. Good luck!

Posted in Software | Tagged , , , | Leave a comment

This Mindset Will Make or Break Your Next Project

Ollie and Patrick

Ollie and Patrick were twin brothers. They lived normal lives in the same town they grew up in. On their birthday, Ollie noticed that he and his twin brother were gaining weight.

“You two look just fine!” remarked their friend, Samantha. “I’ve never seen you more healthy.” But both Ollie and Patrick knew they struggled to run a mile. They both had tried to get back into shape last year, but their enthusiasm fizzled out after a few months.

Ollie resolved to hit the gym again.

“I can lose weight this time,” Ollie thought. “It will be tough, and I might not make much progress, but I have to try.” Ollie knew that it was impractical for him to run ten miles every day, but he could commit to attending a twice-a-week fitness class with Samantha.


A different mindset surrounded Patrick.

“I really want to lose weight, but there’s nothing I can do,” sighed Patrick. He opened another soda. “The only way I could get in shape is if I spent three hours at the gym every day and ate nothing but celery. I’m just too lazy.”

A few months later, the twin brothers met up again. Ollie lost ten pounds. Patrick created a larger impression on his couch.

Though the two brothers shared their genetics and environment, Ollie believed he could improve himself, and Patrick thought things could never change. Ollie kept his realistic, optimist mindset and achieved a successful career and a nice family. As long as Patrick kept his pessimist mindset, trouble surrounded every one of his goals.

Realistic Optimists

Shawn Achor describes optimists as people who believe their behavior matters. Pessimists, in contrast, are those who think they can’t improve, even if they try.

Optimism is not about sugarcoating reality. If you don’t have a clear view of the real world, others can tell you’re delusional.

An optimist is the kind of person who would attempt a new project despite the difficulty. They would realistically investigate solutions, work with others, and see how far they could move. A pessimist would believe “it’s impossible” before the project even starts.

If you and your teammates can see both the good and the bad in your environment, and believe you can find solutions, your project is more likely to succeed. If you’re surrounded by pessimists, your project is doomed to fail.

Know your behavior can make a difference.

Posted in Psychology | Tagged , , , | 1 Comment

Commandos, Infantry, and Police

I recently stumbled upon a metaphor for three types of engineers: commandos, infantry, and police.

Commandos lead the development of new products in risky ventures. They’re the most creative and visionary of the three types.

Imagine a dedicated hacker who gets v1.0 up and running in his garage. That’s a commando. He and his startup might be called disorganized, but that’s because they dislike bureaucracy and need to move fast. Once they finish, the prototype is great for early adopters and is ready to be taken to the next level.

Infantry are the tsunami of people that follow the commandos. Once the commandos have built a prototype, the infantry take it to scale. They flesh things out, productionize the code, and make it workable for mainstream users.

Naturally, this requires a larger amount of rules and processes, but infantry are generally okay with some bureaucracy. And the potential rewards are smaller for infantry than for commandos, but it’s also far less risky.

Finally, the Police arrive. The police aren’t soldiers like the commandos and infantry. In fact, they want to maintain order, not disrupt it.

The Police are the engineers that work best on established products at established companies. They make incremental improvements, polish the infrastructure, and ensure the product continues to serve users. There’s plenty of bureaucracy, and the police don’t respond to changes in the market as fast, but that’s okay for them–the product is relatively stable.

Every project needs commandos, infantry, and police during its lifetime. My question is: which type describes you and your project?

Posted in Software | Tagged , , , , | Leave a comment