Four things I wish I knew when I started programming
Here are the four things I wish I knew when I
started programming. So, without any further adieu, let's jump right into it. Hey,
what's up? Now that you're here and I have your attention, this post is gonna
be awesome and you're gonna love it. So let's jump right into it my friend.
Here are the
four things I wish I knew when I started programming. Number 1, programming is
thinking. Programming is thinking. Now this is something I did not know and did
not understand for a long time. How I got into programming was my brother
called me up. He's like, "Yo, Hadoop, developers make $200,000 a
year." I'm like, "Cool, I'm in." I started learning Hadoop, then
I realized there's a prerequisite to Hadoop called programming. That's how I
got into programming, but once I discovered programming, I thought it was super
fascinating and it was amazing because what it actually is is your thought. Whatever
you conjure up here, you can actually turn into some kind of reality, virtual
reality. For example, the thing that I think is really cool is when you enter
Facebook, you're essentially entering the brain of Mark Zuckerberg, or whoever
was creating it, and the same thing that happens with Twitter or any other
platform you go to write, Instagram, whatever it may be, you're entering the
brain of the human person who created it, which is really fascinating.
So you can
take anything you have here, and turn it
into this tangible thing. So I wish I knew that, and I'll explain why I wish I
knew that, okay? And then, the second thing is that what programming is is
thinking, and then all you have to do is computer code or Python, right? What is that? Or JavaScript, what are these? How
I think about it is the computer is this ultimately powerful genie that can
grant you any wish you want as long as you can speak to it in its own language.
So, what is the computer's language? Well, the computer has a few different languages.
You have C, C++, C#, you have JavaScript, Java, Python, and that's what
languages are. It's this way to speak to the ultimate, most powerful genie that
we know, that actually exists on this planet, and then you tell that genie to
do whatever you want it to do, and then it does it but it all starts in
thought. Now let's get a little bit deeper into that, so for those of you who
are programming, you can actually get some benefit out of it. Now how this
would actually help you if you knew this is because when people are coding, they
spend too much time on syntax and not enough time on actual thinking, alright? They
don't spend a lot of time on thinking and problem solving. So in the start,
once you get past very few basic things, such as, you have to learn how if
statement works, you have to learn how for loop works, you have to learn how a
while loop statement is written, but once you learn a few of those things, realize
that the overall program that you're gonna build is gonna be built up here and
is gonna be a lot of thought.
So what does
that mean? That means that most of my time is actually not spent actually
coding. My time is spent actually thinking a lot, so for example it might look
like, "Okay I have to make a Django app so I'm gonna be using the Django
framework." Or, if I need a database, right? I'm like, "Oh I'm gonna
have a database and this database is gonna be hosted somewhere." But let's
say you're doing something simple, right? I'm imagining that most of you reading
this post are probably more beginners than more advanced so this database stuff
might not make sense. But even if you're writing like, a game or you're writing a simple program, you need
to be thinking about it more so. In one of my earlier videos here I talk about I'm
gonna pop it up right here, how to think and problem solve in coding. In this
post, I talk about how you take a big problem and you break it own into different
structures, right? You break it's layers apart, so for example, if you have a
Tic-Tac-Toe game, or a Rock, Paper, Scissors games, it's just different problems
all put together, so for Rock, Paper, Scissors, you have the problem of first
determining between rock and scissor, who wins? Then you have a problem determining
between scissor and scissor, who wins? And between, you know, paper and scissors, who wins? And all of those
combinations, alright? those combinations and rules, they you have a different subset
of problems. How do you make the game keep running? How do you make two players
play? It's all different types of different problems.
What you
should be doing when you're starting coding, and here's a really, really big
tip, is spending a lot of time problem solving. Once you understand the problem
is thinking, you need to learn that you're not gonna improve in coding by
learning new frameworks. You're not gonna improve in coding by learning new languages. You're not gonna
improve in coding by constantly taking new courses and copying things and
building them up. In the start, you're gonna improve in coding if you actually
spend time learning how to problem solve. If you can start solving problems, you're
now fixing the part of thinking, how to think logically. Then you can take that
and bring it to any project you're doing and crush that project. So for
example, you should use resources like HackerRank or Project Euler, and go
there and actually solve coding challenges and coding problems. So that's why I
emphasize programming is thinking.
It's not
syntax. It's not memorization. If you ever feel like you can't remember stuff, it's
because you didn't understand it well enough. challenge that I'm doing, so if you want to be
doing the coding challenge with me every day until the 30 days, then join me on
this journey where I'm gonna be documenting all of this journey send me a little message, and you and I can
hold each other accountable and hopefully it will help you build that habit of,
let's say coding 10 minutes, 20 minutes, 30 minutes a day. Alright, so with
that said, let's move on to point number two. Number two, pick one language and
stick with it. Let's talk about this. Pick one language and stick with it. Alright,
so if it is the case that programming is thought and it is the case that if you
improve your ability to think by problem solving, you are going to be becoming a
better programmer.
Well then,
what that means is that you need to focus a lot less on syntax and a lot more
on problem solving. What is an example of a syntax? The programming language, the
structure of the programming language itself. If you spend a lot of time on
syntax, meaning you spend a lot of time learning new languages, like javaScript,
Java, Python, and then, you know, like, something else, are you gonna improve
more that way or if you picked one language, let's say Python, and just spent a
lot of time in problem solving. Which way will you improve the most? This is my
question to you. Take three seconds to answer it. Three, two, one. Alright, so
you probably got it right and I hope that you did, and if you didn't, you need to
rewatch this video again. You will improve if you go the problem solving route and
you stick with one programming language. Guaranteed, you will improve beyond
measure compared with this person who's like, going crazy learning these different
languages. What's cool about this person is he'll come up to you and be like, "Hey,
I know so many different languages. How many different languages do you
know?" But then, you go, "Well I only know one language." But
what's cool about you is that you can actually do shit. This person will keep
going through tutorial purgatory, will be stuck, will not know why his or her
skill is not improving, and why you can build projects that are actually
useful, and he or she is like, "What the hell's going on here?" So
please understand this concept. Okay, so if syntax is weak and problem solving
is what's gonna help you, then in that case, what I'm gonna say is you should
pick one language, and stick with that programming language, okay? So if you're on this channel, I always talk
about Python and I love Python and I think it's an awesome programming
language, and the best programming language to start off with. With that said
if you want to pick some other language, you want to learn C++, or C# or
JavaScript, maybe you have your own reasons to learn this, right? You want to
do something with Unreal Engine or Unity, you want to do something with web
development, you can choose different languages, but once you pick one
language, if you want to truly, deeply improve, then you need to improve your
ability to think deeply, and you need to do that by sticking with one language,
so then you're not constantly changing your focus from syntax.
You're
actually just working on one language, and you're able to focus on the real thing
which is problem solving. Once you understand problem solving, then all it is
is any one big project, is a bunch of problems put together. Once you improve
at problem solving, here's what's taking place, okay? So problem solving,
here's how it works. It has you do one challenge at a time, so it will be like,
"Hey, convert the date and timestamp of this thing to this other
thing." "Hey, turn this thing into this other thing." Now you're
doing multiple problems, but now when you have a project, you can see the
project.
No comments:
Post a Comment