Tech & Science

Is It Possible To Get A Job At Google Without CS Degree

You may be doing tons of courses on coursera, udemy and Unlimited other tutorials on youtube to get a job in a...

Written by Maan Jaan
· 6 min read >
Self taught programmer got into google

You may be doing tons of courses on coursera, udemy and Unlimited other tutorials on youtube to get a job in a great companies.

How one finally got into google as a software engineer not only that received job offers from facebook amazon and uber that did all this without a computer science degree.

So, today i want to share you journey of one man who did all that.. Mr. Sahil is one of those who got hired into Google as a software engineer without having a CS degree.. He is a self taught programmer and even after 100+ rejections he still love coding and finally got into Google.. It is both helpful for those

  1. If you’re just starting out and you’re completely confused about what exactly to learn like he was, this will answer some of those questions
  2. f you are feeling demotivated because people keep telling you that you cannot become a software engineer without a CS degree i want to let you know that there are ordinary people like he who have done it you can do it too. 

Let’s learn from Mr. Sahil journey.

“Before we begin there are three things that are essential for breaking into software engineering as a self-taught programmer i’ll share these three things as i walk through the steps i took to become a software engineer when i first started out i did not know that learning programming is going to be an intricate maze of choices the very first choice i had to make was which programming language to learn i had the option to do it the old-school way by learning java or c-plus plus another popular option was to use python which is much easier to learn i ended up choosing java for two reasons one online courses that i found to learn java were much more in depth than python courses two java is statically typed language whereas python is dynamically typed but this meant in practice was that for a beginner python is harder to debug than java as a new programmer we are all thrown off by that error message that pops up when we run program so i gravitated towards java another reason why i chose java was because i wanted to get into android development at the time i thought it would give me an easy side project to put on my resume as it turned out it was a great miscalculation on my part as i didn’t understand how complex programming can be at that time to learn java we found a free course on udemy the course is called java for complete beginners by john purcell this course taught the basics of programming like how to define variables how to write if else statements and loops etc i also learned about object oriented programming through this course this course provided an introduction to data structures like hash maps linked lists queues etc once i learned java i started working on my android app i decided to make an alarm clock that can wake you up to your favorite music on spotify to do this i learned android development using this course from udacity after completing the course i was very confident about my ability to build this app i guess i didn’t know about the dunning-kruger effect at the time within a couple of weeks i hit the bottom of the dunning kruger curve and ran to my programmer friends for reassurance this is where i learned the first essential thing you’ll need to break into software engineering whenever you get out of your comfort zone and venture into a new field by yourself you’ll always face road blocks in the times you feel you are at the bottom you’ll need friends or some form of support system that will cheer for you no matter what my friends reassured me i was doing great and also helped me debunk the issues with my app some of them commended my coding abilities which now when i look back at my code was very generous of them in the end i was able to finish a working app it was not perfect but it worked and that gave me a lot of confidence knowing programming and having side projects is not enough to become a software engineer you need to have a solid understanding of data structures and algorithms to get into big tech companies to learn about data structures and algorithms i did a free course from coursera the course was taught by professor sedwick from princeton university this course taught me simple algorithms for sorting to complex algorithms like union find and dynamic programming this course also introduced me to bigo notation which is a closing question for most scoring interviews however the best thing about this course was that it explained me the internals of many data structures for example many of us know what an arraylist or list is but do you know what happens to the memory allocation when you add a new element to the list to this day i come across engineers who don’t know the fundamentals that are taught in this course so i highly recommend this course knowing data structures and algorithms is one thing but tracking the coding interviews is a whole new ball game i had implemented many popular algorithms by myself but applying all these algorithms to a new question under the time pressure of an interview was going to be very difficult to sharpen my interview skills i chose to practice interview questions using very popular book called cracking the coding interviews this book covered all the theory needed for interview preparation and it also introduced me to some popular interview questions and their solutions however this approach had two major problems one this book was originally published in 2008 and the landscape of tech interviewing has changed a lot since more and more people want to get into software engineering now and thus the field is much more competitive the questions in the book are a little outdated and don’t represent those that are currently being asked in tech interviews second major problem with using the book was that there was no easy way to practice the interview questions from the book even if you write solution to a question locally on an ide there is no way to know if your solution is robust enough to pass all the tricky test cases and this is where i learned second essential thing you will need to become a programmer you have to work smart not hard if you encounter friction using any tool to learn programming more often than not someone has already developed a better tool knowing what tool to use and how to use it effectively is much more fruitful than working hard using an outdated tool in the case of interview preparation i found out about this very popular free website called lead code where you can practice questions for tech interviews questions are marked easy medium and hard based on difficulty level pay for their premium version you can also find out questions asked by a particular company in the past this can help you streamline your preparation if you’re targeting any particular companies as i honed my interviewing skills i was also looking for more projects to build my resume i was hearing a lot of terms like front end and back end believe it or not i did not understand those terms at the time in order to learn about what front end and back end exactly means i started learning web development i took a course on how to build an e-commerce website from scratch using php and mysql in this course i learned how to hook up a mysql database with php in the backend and dynamically show this data in the front end though this course provided me with a good introduction to full stack development it also served as one of the many mistakes i made on my journey to become a software engineer as i already mentioned software engineering is an intricate maze of choices knowing what to work on is much more important than working hard as it turns out vanilla php is not used much these days for that matter there are frameworks like node and django that are not even based on php and are more popular when i realized this i quickly pivoted to learning merge stack which includes mongodb for database express and node for back end and react for front end to learn mern stack i did this course called node with react on udemy by following this course i built a website that can be used to send out survey requests in bulk through email pretty much like surveymonkey does this course served as my introduction to nosql databases i also learned how to build single page web apps using react and how to manage the state of your web app using redux along with learning web development i was also doing two lead code questions a day by the time i finished my course on web dev i had completed more than 100 questions i was consistently able to solve lead code medium questions in 45 minutes i had gone past the bottom of the dunning kruger curve i got my confidence back and i was ready to start my first job as a software engineer i applied for jobs took interviews answered behavioral questions and did hiring manager interviews in the end i received hundreds of rejection emails and this is where i learned third and the final lesson for getting into software engineering people will not take a chance on you if you perform as well as someone with a cs degree in an interview hiring managers would most likely play it safe and choose the other candidate for you to get an offer you’ll have to outperform others with a cs degree that too by a good margin rejections are always hard and you might start questioning your abilities in those times you have to know that the only person who needs to believe in you is you so i just kept applying and didn’t give up in the end amazon bet on me and i managed to land a full-time software engineer job there and for that i’ll be forever grateful to my team at amazon after two years of working there i got a job at Google.

One Reply to “Is It Possible To Get A Job At Google Without CS Degree”

Leave a Reply