Imagine this scenario: You’re fed up at work so you start learning something new, in this case, learning to code and build websites.
But once you start applying for programming jobs, you constantly get turned down. No job offers.
Do you just give up?
Unfortunately many do. But not Faiz. He kept pushing towards his goal one step at a time. Recently, he shared this message in the ZTM Discord server.
After 3.5 years, his perseverance paid off and ultimately led him to getting hired at Google (even better... he's still learning!).
How did he do it? How did he change careers and go from learning code from scratch to ultimately landing a job at Google?
Well that's what we wanted to know too, so we reached out and got him to share his journey and story with you (thanks Faiz!).
So this is Faiz's story including some of his mistakes and learnings to help you out in your own journey.
Hey there, my name is Faiz Hameed and I’m currently a Software Engineer 3 at Google.
I’ve been at the company for around 4 months or so, and I love it here!
If we go back to 2016, I was initially a Mechanical Engineer in a Pipe Coating plant in Saudi Arabia.
Not the most exciting work as you can guess.
I stayed with that job for around 2.5 years, but while I was there, I spent my part time learning how to build websites. I found it extremely helpful to also freelance on the side to help me continue to learn new things while also earning some extra cash at the same time.
I was making pretty good money with my part-time website development, and so I wanted to look into pursuing this full time, but I wasn’t sure where to start. I knew I was looking for some guidance as well as to gain good enough skills.
I searched around and found the Zero To Mastery Complete Web Developer course, which helped me tremendously. I learned not just how to build projects, but also what it is like working in the tech industry, and started to get a deeper understanding of programming in general.
There were some slight difficulties in understanding how things worked under the hood, especially when I started learning React, but I kept asking questions in the Discord community and dug through the internet to find solutions (one of the key skills of a developer!).
I just want to say the ZTM community was so helpful, there wasn’t anything else like it at that time. Back then I only had one channel in Discord which was ZTM 😀
Honestly, ZTM had all the courses I needed to get hired. But I have still taken more courses from ZTM and other sources, just because it’s so important to keep learning and I enjoy it!
Besides ZTM, I have taken:
When you’re self taught and don’t have a degree in Computer Science, it can be challenging to land your first job (at least it was for me). I tried applying for internships at multiple companies but was rejected.
That's why I started freelancing instead because it meant I could start working and getting paid on my own terms and build experience.
I started out by offering websites for free for a Non Profit Organisation. Then I helped build sites for my friends who either had business, or were working at small companies that needed a website.
I only did the free work for a short time until I had some projects in my portfolio. On top of that, I also worked on my own blogs and projects. All of this worked sharpened my skills and really helped me understand how to put the theory from courses into action.
I did freelancing for almost a year part time before finally deciding to apply to some tech companies again.
At the start of my career, I had my profile up on job sites like Indeed and Naukri (Indian based) which helped in landing most of the interviews.
The thing is though, you really need to follow the advice that Andrei and Yihua share on getting hired and passing the coding interview. I struggled in this first round of interviews because I hadn’t taken their Master The Coding Interview courses and didn’t know what I needed to have.
Editor's Note: we've also created a free getting hired guide with all the steps you need to take before, during, and after your coding interviews.
So if I had to redo all the process again, I would make sure to build plenty of projects much sooner.
Doing courses is really good, but it doesn’t help you to get hired. Build projects to apply what you have learned. As you gain experience and build more interesting projects, you can then use them to showcase your abilities (and get more interviews) and be able to speak more confidently in your interviews.
This paid off a lot for me…
The best trick I learned from ZTM, is marketing your profile and portfolio as much as possible:
By following this approach it meant that for most of the time, I would get recruiters approaching me rather than me applying directly!
Applying directly on the Google careers page and getting an interview is hard unless you are from a prestigious university or have the keywords in your resume with the right experience that a team might be looking for.
Having them reach out to me instead was so much easier!
I was approached by Amazon at first but I failed the algorithm test 🙁.
That's when I started preparing for Algorithms and Data Structures seriously. There was a six month hiring cooldown so during that time I practiced more questions and patterns with the goal of reapplying down the line.
Then after completing these, I started solving as many problems in Leetcode as I could so that I could get more context and understand the patterns and multiple ways of solving the same problem.
I think I did 350+ questions so it was a lot of work.
But for me, practicing problems really helped me to engrain the patterns in mind, so that whenever a question is asked, I could kind of start to see some patterns that can point to the solution.
Other companies that approached me were:
Rejected an offer from Paypal?!
The Paypal offer was good but I wasn't interested in the project so I passed, while the others... well I'm not too sure where I failed to be honest. I passed the technical questions easily enough but ah well!
Then one fine day a recruiter from Google approached me who was incredibly friendly and wanted to put me through their hiring process. She asked me how much time I needed to prepare, so I asked for about one month and later extended it by two more weeks.
To put this into perspective, this was only around 4 months after the failed Amazon interview.
I decided to look at it like this:
But in the end, I was successful in passing the Google interviews and it was such a great experience!
Editor's Note: what impressed us the most about Faiz wasn't that he ultimately got hired at Google. It was that every time he got knocked down and "failed", he didn't quit and give up... he got back up and kept trying. And clearly it paid off.
The interview process at Google is way different from other tech companies that I interviewed with or even got hired at. The other companies mostly ask questions based on experience and technical knowledge of what they were hiring for, but with Google I think I did 6 interviews across a broad range of things.
We started off with an initial phone interview, which was fairly easy, and the questions asked involved coding in a Google doc. Basically this round was to eliminate candidates who weren't prepared.
After passing through the phone interview, I went through 4 more interviews, 3 coding rounds and 1 behavioral round.
In my case, I ended up doing an extra interview for a specific department as well.
Of the 3 coding rounds, you can opt for a system design interview for 1 round, but I wasn’t fully confident with system design just yet, so I decided to do only coding rounds.
Editor’s note: We now offer a System Design course and are strongly believe that you should be learning this asap, even if you’re just starting out learning to code.
I was lucky that all the questions asked in each of the coding interview rounds were medium easy to medium problems in Leetcode (although no exact questions from Leetcode were asked so I don't recommend just memorizing questions... learn to use a framework like what Yihua teaches).
The next step after I passed those 3 rounds of coding interviews was a team match. This is where I struggled because I had a hard time finding a team that needed my current skill set.
Since being hired, I’ve started to take courses to fill those missing skills.
To be honest, I didn’t really have many expectations as I went through the Google hiring process. My goal was to come out of the interview process with more knowledge and a better ability to solve algorithmic and data structure problems but didn't necessarily expect to actually land a role.
But I’m so glad I applied!
Things have totally changed! Although it’s still a tech company and the role is fairly similar to what I’ve done before, the culture and ambience at Google is really enriching. You get to meet a lot of smart people.
This is a good place to work and balance your life. You get a sense of belonging here. There are a lot of amazing projects which you can be part of.
Before I took the Google position, I worked as a Software Engineer at Callsign in Abu Dhabi. I had already interviewed at Google but couldn't join due to a hiring freeze, and so worked elsewhere until I heard more.
I worked at my previous position for around 6 months and that job paid very well, but the Google position paid around 70% more, so I would be crazy not to take it.
Editor’s note: Starting salaries at FAANG (and other large tech companies) can be far higher than other companies.
When I look back at some of my previous commpanies, this new salary + stocks etc is an almost 600% difference in earnings...
Well you can start today. It doesn’t matter if you’ve never coded before in your life, we have courses to take you from total beginner, to getting hired asap.
You can check out all of the courses here. We have a whole selection ranging from coding, design, cyber security, ethical hacking, blockchain, and much more, as well as courses specifically designed to help you get hired, even without a degree!
But if you're a complete beginner, rather than taking a bunch of random courses and tutorials, we recommend picking a career path and follow it step-by-step.
And if you’re not sure where to get started, take our career path quiz to help you find the best fit for you.
You answer some simple questions and then it helps you not only find the best role and industry for you and your goals, but it also helps you learn what you need to learn in what order, so you can get hired asap.
Go ahead and take the quiz right now. It takes 5 minutes and it could be the first step to completely changing the trajectory of your career and life!