Getting Hired by Amazon as a Software Developer with a 2.9 GPA

Zero To Mastery
Zero To Mastery
hero image

We get so many amazing stories from Zero To Mastery students which are shared within our private community. These students share so many tips and learnings so we wanted to share sharing some of those on the blog.

We decided that the best way to do that was to start interviewing some of these students and asking them to share some of their experiences and learnings.

We hope that these can serve as an inspiration to other students and anyone that wants to learn new skills (coding, machine learning, design) and get hired.

Given the topic of our recent Zero To Mastery Academy Workshop, FAANG Interview Prep 101, we decided it would be fitting to interview Justin Lin.

Justin is a computer science student in his senior year at NYU. However, he first joined the Zero To Mastery community 2 years ago, after his freshmen year and being frustrated by where he was at and the lack of actual coding he was able to do based on what he was learning in college.

Spoiler alert here 🚨... Justin has since gone on to:

  1. Intern at JP Morgan Chase during his sophomore year summer as an iOS Developer
  2. Intern at Amazon as during his junior year summer as a Software Development Engineer
  3. Full-time return offer at Amazon
  4. Received offers at Blizzard, IBM, and a couple other smaller companies
  5. And now works as a Software Engineer at Meta!

Justin's "resume" and success makes it seem like everything has just gone perfectly for him but you'll learn from the interview below that it's entirely possible for you to do the same.

Thanks to Justin for taking the time and if you'd like to ask him additional questions about his experience and journey, his Discord username within the online community is: justinwlin or you can reach out to him on Linkedin.

You can also watch the video Justin put together where he gives you tips for getting into a FAANG company!

1. When did you first realize you needed something like ZTM Academy even though you are already a CS student?

I first realized that I needed something like ZTM the summer following my freshmen year at NYU. A lot of my friends, though rare for freshmen, already had internships and research positions and I felt that I was behind. And so, I was determined to become a “real software engineer”.

My goal at the time was, can I even make a simple alarm clock website instead of just making things in the terminal of my IDE for dumb class problems?

This ultimately led me down a rabbit hole of web development and finding Zero To Mastery because I wasn't even able to build this simple website based on what I was learning in school.

2. What was your previous level of coding/programming experience before joining ZTM?

My knowledge was mostly theoretical and what I learnt in class, which was data structures in Python and object-oriented programming in C++. This essentially meant I could make a “Warrior” class and have them print out: “Warrior A hit Warrior B” in the terminal and nothing beyond that level of sophistication.

This really frustrated me as I couldn’t do anything outside my terminal.

3. What were the biggest hesitations and doubts you had before deciding to join ZTM?

That I wouldn’t be able to keep with this course because I was very lazy and liked to procrastinate at the time.

However, I started to watch the lessons from Andrei's Complete Web Developer: Zero to Mastery course hour by hour every day and was able to stick with it with the help of the ZTM community.

I wanted to prove that hard work could put me at the same level of my friends.

Andrei was super engaging and I was hooked and just started grinding away at it for 3 to 4 months.

Now, after taking a number of the ZTM courses and practicing, it’s become like a skill for me to devour resources, process them, and adapt them to my own needs.

4. What other resources, courses, sites did you consider?

Besides Youtube videos which weren’t really ever that high quality, I didn't really consider anything else because I didn’t know anything else that existed at the time.

When I found Complete Web Developer: Zero to Mastery, it was the one course/bootcamp that was trending, had so many high ratings and praise, and so I decided okay, let's try it and if it's good, this will be my one and only instructor until I finish the course.

Eventually, I did branch off and take some courses from other instructors like Maximillian and Stephen Grider on Udemy but Zero To Mastery courses I find are still the most relevant, up-to-date, have the strongest community, and easiest roadmap to follow.

This is why I still highly recommend Andrei and Zero To Mastery to any of my friends as the “core/foundation” to most people’s journey if they are just starting out and want to get hired as a developer/programmer.

5. What ZTM courses have you taken? How did each course specifically help you in your process to ultimately getting your two internships (at JP Morgan and then Amazon) and now a full-time offer with Amazon?

I’ve taken most of them at this point! Specifically:

JP Morgan Chase: At the time, I had finished Complete Web Developer and Junior to Senior Roadmap, I believe. The way they helped me get into JPMC is that it helped me establish my portfolio.

Coming off of freshmen year (even though I was a CS student), you still essentially have nothing to put on your resume.

Being able to say I built a face detection website and I built a pseudo-networking app (which was just Robofriend modified to use real photos at the time), was impressive to them. Both of these are projects from the courses.

Though, I did definitely struggle with answering A LOT of questions like: “how did you connect your frontend to your backend”, which I answered, “a setting” (which I now know is through an API request), they still took the chance on me.

JP Morgan, I later learnt for interns, were looking for students that had any sort of development experience and could showcase some sort of exploration into web technologies to a relatively good degree.

I think what also helped was my behavioral interviewer liked me a lot. I tend to be a good speaker, but I also took the tip from Andrei at the time in his QA video on "how to sell yourself", where you just continually re-iterate that you are a hard worker and that you have proof.

The proof is the fact that I took the time to learn on my own and converted that work into actual results as seen through all the projects in my portfolio (thanks to ZTM!).

For Amazon, wow this is a big one: For the technical interview prep and process, I used a lot different of resources. At the time, ZTM didn't have a FAANG Interview Prep course like they do now.

(ZTM Note: Justin actually wrote a guide detailing his interview steps/resources which we link to at the bottom of the post!)

However, for the actual internship, Andrei’s courses saved me so much. I interned with another intern, who sadly didn’t get a return offer.

I've thought about why I got a full-time offer and they didn't.

I believe the reason is essentially because I had a much faster onboarding period and I knew what I was doing, why I was doing it, some best practices, and I could actually deliver useful contributions from early on because of what I learned through Andrei’s courses.

Even though the tech-stack was a bit different: Vue, Electron, Typescript, the way Andrei’s courses helped me (be prepared for a long list):

  1. I actually knew how to do npm install, build, run, test. I knew how to read the package.json file, and I knew the general commands. Even though the specific commands were npm run electron:serve, it was because I did React so much with Andrei and Yihua that I knew simple things like looking at the package.json for commands, which confused the other intern so much during the first few days.

  2. I also knew all about Javascript and HTML/CSS at such a strong and advanced level from taking Complete Web Developer, Complete React Developer, and Advanced Javascript. This made it so that the problem wasn’t a lack of fundamental knowledge compared to the other intern, but just more the “implementation details”.

  3. The process of learning React (from Complete Web Develper and Complete React Developer) set me up to be able to pick up other web technology quickly. I was able to pick up Vue so fast because I had such a strong fundamental in React and I knew patterns and architecture. Some examples:

    • I understood how in Vue two-way binding was being incorporated
    • I quickly understood the importance of scoped css and how Vue was handling scoped css
    • I understood the importance of creating higher order components (ex: for a wait timer) as we were making a network request or doing background loading
    • I drew parallels to how Vuex should work compared to Redux, and how state management was being handled
    • I knew how webpack worked and how it was being compiled, and what kind of output file it all translated into
  4. The Junior to Senior was also another huge help to me and honestly, this is my favourite course and I think the best course in the world:

    • I was able to set up my SSH key on my first day, without being told how
    • I knew to ask about their CI/CD pipeline which they were using Travis CLI
    • I knew how to do optimizations on network performances
    • I knew more about webpack configuration as I had to explore how Webpack was bundling the electron app
    • I figured out how to use Jest testing, with a bit of mentorship from my mentor at Amazon, but also knew approximately what to expect because of the Jest module
    • I knew an introduction to typescript, which helped me tremendously because I could quickly understand how to read and write Typescript
    • I knew how to write quality code and why I was writing things, compared to the other intern who was sort-of just “making things work” which ultimately doesn’t fly once their PR's got reviewed. Within just 2 to 3 PR reviews, my PR quality was exponentially better as I learnt to chunk things better and follow best practices and patterns which I saw Andrei and Yihua do
  5. In general, the Learning How to Learn course was also another life changing course. I started a to-do list because of that course and started structuring things to be more geared towards making it easier to learn and reduce friction in learning. Honestly, I even tell all my non-coding friends to watch this course because I feel like having the knowledge be there consciously is such an important thing so you don't have an excuse in the future.

6. How long did each ZTM course take you to complete?

  • Complete Web Developer: 3 to 4 months, but I constantly kept referring back to it over the course of a year.
  • Junior to Senior Web Developer Roadmap: 2 months but I have referred back to it many times especially during my internship at Amazon.
  • Complete React Developer: 3 to 4 months, but same thing, referred to it over the course of a year.
  • Advanced Javascript: about 2 weeks.
  • Master the Coding Interview: I got through about 50% of it (in 2 weeks) because I was using it more to just establish my fundamentals before I got into other resources I had.
  • Python Developer: about 1 month but I had a lot of the Python fundamentals down already before I took it.
  • Machine Learning and Data Science: about 2 months and I've finished about 60% of the course up to the deep learning section.
  • Learning How To Learn: 5 days.

7. What advice would you have for other students in your position considering the ZTM Academy?

First...

That if you feel like you are lost at any point of the way, that it is okay. It is super normal and the way you get over that is by interacting with others (which I did in the ZTM community).

Realize that it will probably take around a year before things really start to sink in, but that as you are growing and hitting roadblocks, the community will be there for you.

There is no other place that I have found to develop the practical skills of being a developer to the level that ZTM does. From courses on web development, to data science, to UI/UX, to databases, to a course about learning (the meta!), it really is so comprehensive and a one-stop shop where you can keep learning.

The pedigree of the instructors and what they are teaching you is the top quality that you will get from anywhere else without having to pay thousands of dollars for these other resources that I’ve bought and used but are nowhere near the quality.

Second...

I also want to give some context of my personal story to people because it can seem like everything is easy/perfect for me but this has been a hard, two-year journey for me.

It’s been my freshmen year of summer to now where I'm in the fall semester of my senior year in college. You don't have to be perfect but you do have to put in a lot of work, there's no way around that.

I got hired as an intern (and now a full-time offer) by Amazon with a 2.9 GPA (lots of reasons, including being hospitalized before my finals my junior year), meaning you don’t need to be the smartest person in the world or that I am anything special.

Not to be cliche but seriously, if I can do it, you can too.

What was my secret that changed everything for me?

I started to work hard, did a lot of self-studying, worked together with friends and community members, burnt through dozens of resources, and through a lot of trial and error and a little bit of luck, I figured out something that I think is somewhat replicable for others.

So I've also taken my experiences, learnings and favourite resources and put them in my own FAANG study guide that you're more than welcome to use.

I’ve been with the ZTM community for 2 years and it has pushed me and helped me grow and I still feel like I am continuing to learn and grow.

It's not easy and won't happen over night but I think I'm proof that hard work (and being part of Zero To Mastery 😀) can definitely pay off.

By the way, you can also accelerate your learning and have fun along the way, just like Justin by joining the Zero To Mastery Academy.

More from Zero To Mastery

How to Get More Interviews, More Job Offers, and Even a Raise preview
How to Get More Interviews, More Job Offers, and Even a Raise

This is Part 3 of a 3 part series on how I taught myself programming, and ended up with multiple job offers in less than 6 months!

Junior to Intermediate Developer in 7 Months preview
Junior to Intermediate Developer in 7 Months

There are so many articles about how to get your first job as a software developer, but once you’re there, what do you do next? These are the 7 most important parts of this process to go from a junior to intermediate developer.

Programmer’s Guide to the Big Tech Companies 💻 preview
Programmer’s Guide to the Big Tech Companies 💻

React.js, Kubernetes, AWS, Typescript, Web Components, and Swift are all examples of projects, ideas, and services that have been released by large, for-profit companies. Why do these big companies offer their work for free to the Developer community?