FASTEST Way to Learn Coding and ACTUALLY Get a Job
FASTEST Way to Learn Coding and ACTUALLY Get a Job
Today, I’ll share how to learn programming fast and get your first full-time Software Engineer job - step by step. As a self taught programmer, if you want to learn coding to get a job at FAANG, this video is for you. This video covers following: 1. How to learn to code fast? 2. How to get a Software Engineer job? 3. How to prepare for Coding interviews?
► For more content like this, subscribe to our channel: / powercouple26
DISCLAIMER: All opinions shared on this channel are our own and don’t express views or opinions of our employers. We only use our experiences and public knowledge to make our content. NO CONFIDENTIAL INFORMATION of our employers is used or shared on this channel. This is not a Professional Coaching channel, it only highlights the public resources that have worked for our careers.
Content
0.16 -> From the day I wrote my first Hello World program,
it took me 2 years to land a job at Amazon and
4.8 -> another 2 years to get into Google. That’s because
I did all this with no Computer Science degree or
9.36 -> bootcamp. I made countless mistakes along the
way which made my path to become a Software
13.52 -> Engineer longer than it should have been.
I watched countless Youtube tutorials, paid
17.52 -> for numerous Udemy courses and spent hundreds of
hours learning things that didn’t add any value.
22.24 -> If I could go back in time and undo
all the things that don’t work,
25.76 -> I would be in the exact same situation as
today within 6 months of starting programming.
29.84 -> That’s exactly why I made this video. Today,
I'll remove all the useless fluff and give
34.56 -> you the fastest path to go from a beginner to
a full-time Software Engineer.
37.92 -> Before I begin, there are 3 major mistakes that
can slow down your progress to become a full-time
42.16 -> Software Engineer. I will also share these 3
mistakes along the way. So, stay tuned for that.
47.12 -> As a new programmer, the first decision you
need to make is “Which programming language to
51.36 -> learn?”. To answer that question, let’s talk about what
a beginner wants from a programming language.
56.24 -> Number 1, The language should be easy and
intuitive to write. It should not require
60.32 -> learning very complex syntax. It should be
as close as possible to writing in English.
64.8 -> Next, The programming language should be versatile
and have many applications. As a beginner,
69.28 -> you don’t want to learn a new language for every
new project you want to build. In other words,
73.76 -> the language should have great returns
for the time you invest on learning it.
77.04 -> Lastly, the programming language should be
fast to write. You shouldn’t have to waste time
81.12 -> spelling out the declaration of a new variable or
simple iteration through a list. In other words,
86.16 -> it should be concise and get the job done in
minimum lines of code. As some of you might have
90.48 -> already guessed it, Python is the language that
solves all these problems. It’s almost
94.96 -> as easy as writing in English. It has so many
different applications like Web development, Data
99.84 -> Science and Automation. Python is extremely fast to write when compared with other popular languages.
104.779 -> That's because it requires less lines of code for the same amount of code.
107.778 -> As an example, here is the same code
written in Java vs Python. For me personally, I started
113.28 -> out with learning Java. I used to do all my coding
interviews in Java. Recently, I switched to using
118.24 -> Python and it improved my interview performance
by at least 2 times because it’s so fast to write.
123.12 -> Having said that, Java and other popular
languages have their own advantages and you will
127.36 -> have to learn another language at some point
in your career. But
129.92 -> I do believe that Python would be
the best language to start with.
132.8 -> Now that we know we should learn Python, let’s
talk about how to do it. And this is where most
137.2 -> new programmers make the first major mistake that
slows them down. The mistake most beginners make
141.76 -> is that they learn by watching others code. Let
me explain this by telling you how most people
146.08 -> learn programming. Most newbies would go to a
course provider like Udemy and look up for Python
150.48 -> courses. Then they pick one of these 20+ hours
courses thinking that these courses are long and
155.04 -> detailed and hence good for them. And then they
never end up finishing the course. That’s because
159.84 -> 20 hours of content is not the same as 20 hours
of great content. Some people will go to Youtube
164.96 -> and watch someone else code without ever writing
any code themselves. And watching these tutorials
169.76 -> gives them a false sense of progress. That’s
because coding in your head is very different
173.84 -> from actually writing down the code and debugging
the errors. So, what is the right way to do it?
178.32 -> The answer is very simple, you should Learn by
Coding. For this, you can go to this free website
184 -> called learnpython.org. On this website, just
focus on the basic lessons for Python and don’t
189.6 -> worry about Data Science tutorials or any Advanced
tutorials. That's because even if you
194 -> learn advanced concepts right now, you would not
be able to remember them until you have actually
197.92 -> applied them on a real world problem. You can
always come back to learn the advanced concepts in
201.84 -> the future when you need them for your projects.
If you look at a lesson, each lesson first explains a basic concept
207.12 -> and then asks you to apply those concepts to a
problem. Feel free to play with the sample code.
211.6 -> Think about other problems you can solve with
concepts you just learnt and try to solve them
215.76 -> in the exercise portion. Once you’re done with the
basics, you’re good to move on to the next steps.
220.4 -> In the spirit of learning by coding, we would do
some projects in Python next. In the beginning,
225.2 -> it’s very hard to do something on your own.
So, we’ll take the help of experts. So,
229.12 -> go to Youtube and look up this video called “12
beginner Python projects” by freecodecamp.org,
234.16 -> which by the way is a great
channel to follow. In this video,
237.44 -> they build 12 beginner Python projects from
scratch. These projects include building Madlibs,
242.56 -> Tic Tac toe, Minesweeper etc. and all of them
are very interesting. They walk you through
247.04 -> the implementation of all these projects step
by step making it very easy to follow. But,
251.52 -> before you start watching this tutorial, there
are 2 things you should know. One, You should
256 -> not watch this tutorial casually. Follow along if
you really want to learn programming and become a
260.48 -> Software Engineer. To follow along, you would
need something called Integrated Development
264.56 -> Environment or IDE to build these projects. IDE
in simplest terms is an application where you can
270 -> write and run your code. There are several popular
IDEs for Python. This tutorial uses VS code. So,
275.6 -> you might want to download VS code and set it
up for Python before starting on this tutorial.
280 -> Once you have completed this tutorial, you
are ready to work on your own projects.
283.92 -> Working on building your own projects will
help you in multiple ways. Number one,
287.76 -> it will introduce you to how Software Engineers
work in the real world. You will write code that
292.08 -> will fail and you’ll debug it and repeat it
over and over again. This is exactly what
296.08 -> a day in the life of a Software Engineer looks
like. Number two, you will build a portfolio
300.32 -> of projects by doing this. You can host your
code on Github and put the link in your resume.
305.44 -> This will help you attract recruiters and get
your resume shortlisted. Lastly, building your
310.64 -> own projects will give you confidence that you
are ready to tackle new challenges as a Software
314.32 -> Engineer. But, what kind of projects should you work on?
316.959 -> You can think of any projects that you
find interesting but here are some examples I found.
320.96 -> You can build a Web crawler, or an Alarm clock, or maybe an app that gives you Wikipedia article of the day.
327.208 -> Some example projects that
328.24 -> I built were a Spam filter, an Algorithmic
Trading engine and an e-commerce website.
333.44 -> Now you have a great resume and you are
confident about your programming skills.
337.28 -> Let’s start applying for Software Engineer
positions. Wait a second. This is actually the second
342.08 -> major mistake new programmers make.
343.873 -> You see, in an ideal world, having good programming skills and a great resume is all you should need to
348.88 -> become a Software Engineer. But unfortunately for us, tech companies like to play games with
353.84 -> us in the interviews. They ask you specific kinds
of programming questions in the interviews. If you
358.72 -> don’t prepare for these questions, you might not
get the expected results. So,
362.48 -> let’s see how to prepare for interviews. All the
interviews are based on this one course that is
366.8 -> taught to all Computer Science graduates. This
course is called Data Structures and Algorithms.
371.36 -> Fortunately for us, Google has created this course
and made it available for free on Udacity. And the
376.96 -> best part is that this course is taught in
Python. In this four week course, you’ll learn
381.04 -> about different algorithms related to searching
and sorting. You’ll learn about data structures
385.44 -> like maps, trees and graphs. Don’t worry if you
don’t know any of these terms right now. I am
390.08 -> sure that by the end of this course, you’ll be
a pro. For that just keep 2 things in mind . One,
395.84 -> be regular and finish this course. As I mentioned
earlier, most people start courses and never
400.72 -> finish them. So, make sure you take small steps
everyday and make regular progress. Two,
406.08 -> make sure you complete all the exercises they give
in this course. As I have already said many times,
411.36 -> the only way to learn coding is by doing. So,
implement the algorithms by yourself if you can
416.08 -> and finish all the assignments. Trust me when
I say this. When it comes to interviewing for
420.4 -> entry level jobs, this course is the only
difference between you and someone who dropped
424.48 -> more than a hundred thousand dollars on a computer
science degree. So, if you finish this course,
428.24 -> you’ll be pretty much on par with someone
who has a CS degree when you interview.
431.68 -> After completing this course on Data Structures
and Algorithms, you have all the foundational
435.68 -> knowledge you need to tackle the interviews. In
order to sharpen your interview skills further,
439.68 -> you need to practice some questions that have been
asked by tech companies in the past. For that,
443.84 -> you should use a website called Leetcode. On
leetcode, you will get interview style questions.
448.72 -> You can write your code and test your solution
right there on the website. Leetcode is great for
453.04 -> beginners because all the questions are tagged
easy, medium or hard based on difficulty level.
457.76 -> If you buy a premium subscription of the website,
you can also filter the questions by the tech
461.92 -> company that asked them in the past interviews.
You should start with easy questions and keep
466.16 -> working on them until you can solve them in
45 minutes. Once that happens, you can move
470.8 -> on to medium questions.When you start solving
mediums in 45 minutes, you can start applying
475.28 -> for Software Engineering jobs. If you are lucky,
you will get the job right away. For most people,
480.32 -> it will be a process full of disappointment
and rejections. And this is where they
483.84 -> make the third and the biggest mistake of all,
They quit. The main reason people give up early
489.04 -> is because they overthink and complicate the
interview process. After every rejection,
492.8 -> they replay the interview over and over in their
head to figure out why they failed and take every
497.36 -> rejection personally. To avoid this, stay inside
your circle of control and try to influence the
502.88 -> outcome of your interviews but never get tangled
in the things you can’t control. In other words,
507.44 -> do your best to crack the interviews but try to
be detached from the outcome of the interviews. If
511.84 -> you want to learn about how I became a Software
Engineer without a Computer Science degree,
515.84 -> watch this video at the top. If you
want to see my 5 year coding journey in 5 minutes,
519.933 -> you can watch this other video.
I will see you in the next one.