Change language

FASTEST Way to Learn Coding and ACTUALLY Get a Job

FASTEST Way to Learn Coding and ACTUALLY Get a Job

From the day I wrote my first Hello World program,  it took me 2 years to land a job at Amazon and another 2 years to get into Google. That’s because  I did all this with no Computer Science degree or bootcamp. I made countless mistakes along the  way which made my path to become a Software Engineer longer than it should have been.  I watched countless Youtube tutorials, paid for numerous Udemy courses and spent hundreds of  hours learning things that didn’t add any value. If I could go back in time and undo  all the things that don’t work, I would be in the exact same situation as  today within 6 months of starting programming. That’s exactly why I made this video. Today,  Ill remove all the useless fluff and give you the fastest path to go from a beginner to  a full-time Software Engineer. Before I begin, there are 3 major mistakes that  can slow down your progress to become a full-time Software Engineer. I will also share these 3  mistakes along the way. So, stay tuned for that.

As a new programmer, the first decision you  need to make is “Which programming language to learn?”. To answer that question, let’s talk about what  a beginner wants from a programming language. Number 1, The language should be easy and  intuitive to write. It should not require learning very complex syntax. It should be  as close as possible to writing in English. Next, The programming language should be versatile  and have many applications. As a beginner, you don’t want to learn a new language for every  new project you want to build. In other words, the language should have great returns  for the time you invest on learning it. Lastly, the programming language should be  fast to write. You shouldn’t have to waste time spelling out the declaration of a new variable or  simple iteration through a list. In other words, it should be concise and get the job done in  minimum lines of code. As some of you might have already guessed it, Python is the language that  solves all these problems. It’s almost as easy as writing in English. It has so many  different applications like Web development, Data Science and Automation. Python is extremely fast to write when compared with other popular languages. Thats because it requires less lines of code for the  same amount of code.

As an example, here is the same code  written in Java vs Python. For me personally, I started out with learning Java. I used to do all my coding  interviews in Java. Recently, I switched to using Python and it improved my interview performance  by at least 2 times because it’s so fast to write. Having said that, Java and other popular  languages have their own advantages and you will have to learn another language at some point  in your career. But I do believe that Python would be  the best language to start with.

Now that we know we should learn Python, let’s  talk about how to do it. And this is where most new programmers make the first major mistake that  slows them down. The mistake most beginners make is that they learn by watching others code. Let  me explain this by telling you how most people learn programming. Most newbies would go to a  course provider like Udemy and look up for Python courses. Then they pick one of these 20+ hours  courses thinking that these courses are long and detailed and hence good for them. And then they  never end up finishing the course. That’s because 20 hours of content is not the same as 20 hours  of great content. Some people will go to Youtube and watch someone else code without ever writing  any code themselves. And watching these tutorials gives them a false sense of progress. That’s  because coding in your head is very different from actually writing down the code and debugging  the errors. So, what is the right way to do it? The answer is very simple, you should Learn by  Coding. For this, you can go to this free website called learnpython.org. On this website, just  focus on the basic lessons for Python and don’t worry about Data Science tutorials or any Advanced  tutorials. Thats because even if you learn advanced concepts right now, you would not  be able to remember them until you have actually applied them on a real world problem. You can  always come back to learn the advanced concepts in the future when you need them for your projects.  If you look at a lesson, each lesson first explains a basic concept and then asks you to apply those concepts to a  problem. Feel free to play with the sample code. Think about other problems you can solve with  concepts you just learnt and try to solve them in the exercise portion. Once you’re done with the  basics, you’re good to move on to the next steps.

In the spirit of learning by coding, we would do  some projects in Python next. In the beginning, it’s very hard to do something on your own.  So, we’ll take the help of experts. So, go to Youtube and look up this video called “12  beginner Python projects” by freecodecamp.org, which by the way is a great  channel to follow. In this video, they build 12 beginner Python projects from  scratch. These projects include building Madlibs, Tic Tac toe, Minesweeper etc. and all of them  are very interesting. They walk you through the implementation of all these projects step  by step making it very easy to follow. But, before you start watching this tutorial, there  are 2 things you should know. One, You should not watch this tutorial casually. Follow along if  you really want to learn programming and become a Software Engineer. To follow along, you would  need something called Integrated Development Environment or IDE to build these projects. IDE  in simplest terms is an application where you can write and run your code. There are several popular  IDEs for Python. This tutorial uses VS code. So, you might want to download VS code and set it  up for Python before starting on this tutorial.

Once you have completed this tutorial, you  are ready to work on your own projects. Working on building your own projects will  help you in multiple ways. Number one, it will introduce you to how Software Engineers  work in the real world. You will write code that will fail and you’ll debug it and repeat it  over and over again. This is exactly what a day in the life of a Software Engineer looks  like. Number two, you will build a portfolio of projects by doing this. You can host your  code on Github and put the link in your resume. This will help you attract recruiters and get  your resume shortlisted. Lastly, building your own projects will give you confidence that you  are ready to tackle new challenges as a Software Engineer. But, what kind of projects should you work on? You can think of any projects that you  find interesting but here are some examples I found.

You can build a Web crawler, or an Alarm clock, or maybe an app that gives you Wikipedia article of the day. Some example projects that I built were a Spam filter, an Algorithmic  Trading engine and an e-commerce website.

Now you have a great resume and you are  confident about your programming skills. Let’s start applying for Software Engineer  positions. Wait a second. This is actually the second major mistake new programmers make. You see, in an ideal world, having good programming skills and a great resume is all you should need to become a Software Engineer. But unfortunately for us, tech companies like to play games with us in the interviews. They ask you specific kinds  of programming questions in the interviews. If you don’t prepare for these questions, you might not  get the expected results. So, let’s see how to prepare for interviews. All the  interviews are based on this one course that is taught to all Computer Science graduates. This  course is called Data Structures and Algorithms. Fortunately for us, Google has created this course  and made it available for free on Udacity. And the best part is that this course is taught in  Python. In this four week course, you’ll learn about different algorithms related to searching  and sorting. You’ll learn about data structures like maps, trees and graphs. Don’t worry if you  don’t know any of these terms right now. I am sure that by the end of this course, you’ll be  a pro. For that just keep 2 things in mind . One, be regular and finish this course. As I mentioned  earlier, most people start courses and never finish them. So, make sure you take small steps  everyday and make regular progress. Two, make sure you complete all the exercises they give  in this course. As I have already said many times, the only way to learn coding is by doing. So,  implement the algorithms by yourself if you can and finish all the assignments. Trust me when  I say this. When it comes to interviewing for entry level jobs, this course is the only  difference between you and someone who dropped more than a hundred thousand dollars on a computer  science degree. So, if you finish this course, you’ll be pretty much on par with someone  who has a CS degree when you interview.

After completing this course on Data Structures  and Algorithms, you have all the foundational knowledge you need to tackle the interviews. In  order to sharpen your interview skills further, you need to practice some questions that have been  asked by tech companies in the past. For that, you should use a website called Leetcode. On  leetcode, you will get interview style questions. You can write your code and test your solution  right there on the website. Leetcode is great for beginners because all the questions are tagged  easy, medium or hard based on difficulty level. If you buy a premium subscription of the website,  you can also filter the questions by the tech company that asked them in the past interviews. You should start with easy questions and keep working on them until you can solve them in  45 minutes. Once that happens, you can move on to medium questions.When you start solving  mediums in 45 minutes, you can start applying for Software Engineering jobs. If you are lucky,  you will get the job right away. For most people, it will be a process full of disappointment  and rejections. And this is where they make the third and the biggest mistake of all,  They quit. The main reason people give up early is because they overthink and complicate the  interview process. After every rejection, they replay the interview over and over in their  head to figure out why they failed and take every rejection personally. To avoid this, stay inside  your circle of control and try to influence the outcome of your interviews but never get tangled  in the things you can’t control. In other words, do your best to crack the interviews but try to  be detached from the outcome of the interviews. If you want to learn about how I became a Software  Engineer without a Computer Science degree, watch this video at the top. If you  want to see my 5 year coding journey in 5 minutes, you can watch this other video.  I will see you in the next one.

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

Common xlabel/ylabel for matplotlib subplots

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

12 answers

NUMPYNUMPY

Flake8: Ignore specific warning for entire file

12 answers

NUMPYNUMPY

glob exclude pattern

12 answers

NUMPYNUMPY

How to avoid HTTP error 429 (Too Many Requests) python

12 answers

NUMPYNUMPY

Python CSV error: line contains NULL byte

12 answers

NUMPYNUMPY

csv.Error: iterator should return strings, not bytes

12 answers

News


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

sin

How to specify multiple return types using type-hints

exp

Printing words vertically in Python

exp

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

cos

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically