Placeholder Image

Subtitles section Play video

  • Hey, tech late here and welcome back to another episode of the tack Lied.

  • And I know what you may be thinking.

  • This must be lemonade.

  • It's not actually, that's too expensive.

  • I decided to recycle for the meanwhile.

  • Oh, that's warm.

  • So today I wanted to talk about why programming is so hard, and the fact is, it's actually not that hard.

  • But there are a certain number of roadblocks, and if you don't clear these other the way, or if you're not mentally prepared for these, then that's going to really mess you up, and you may find yourself stuck on some of these.

  • You may even be banging your head against the wrong wall when you realize you're not even going in the right direction here.

  • But I know that there have been some people who say maybe you have to be born to coat, kind of like how you may need to be born to be a really gifted musical composer, and I can tell you that, at least for myself, I learned to code, but it was a real struggle, even for me.

  • I started at a very young age and say sixth grade, but even as I was getting through learning pointers.

  • I remember crying during those first few lessons because it was just so difficult.

  • I know this, though, that those who persisted were able to get through.

  • And there are a number of things to watch out for on your journey into South for engineering, if that's what you're going for here now, before we get started here, I do want to mention that this video is sponsored by myself.

  • I've actually written up a little speech for you guys here for my 15 minutes of fame.

  • So I get 15 minutes.

  • I have been running this program, this tech interview training program in which I will actually help fast track your career with Joma.

  • Check out their training program.

  • Tech Interview pro dot com You get the first episode free.

  • When I first began learning to code, it was so difficult.

  • Look, I'm not going to read this whole thing for you guys.

  • Just don't be stupid.

  • Check out the program Tech interview pro dot com.

  • So one reason that I think coding maybe difficult is because it is a combination of three different skills, actually, not just one.

  • So you do need the coding ability, but to really be ineffective software engineer and to actually get hired as one which validates your skill sets.

  • You also need problem solving ability, algorithmic ability, right that ability to analyze the problem and come up with the solution, not just coding it, which is safe, the implementation.

  • And then you also need communication ability because coding is very much about teamwork.

  • If you go into interview and you are not able to communicate properly, you're not able to express your ideas and 1000 to have that teamwork capability, then you're not going to get hired, and then you're going to go around thinking that you're not a really good programmer.

  • You may actually be fine in terms of technical skills, but maybe you were missing that communication portion.

  • And the problem is that many people will have say to other three of these skills, right.

  • You may be good at coding and algorithms, but you're not very good at communicating.

  • Or maybe you can do some communication and coding, but you don't have that algorithmic analytical portion, and you really need to have all three portions to be effective Now.

  • The second reason That coding is difficult, I believe, is because they requires an inordinate amount of time sitting in from the computer and just staring at that screen.

  • And this is going to be probably far more time than you may be used to write for most other disciplines.

  • You don't need to be sitting down for a large amount of time focused on something like, say, 2 to 3 hours.

  • You can learn on the go right.

  • You could go to a restaurant while you're eating.

  • Maybe you could read up on the little bit of biology, right?

  • Learned a loop of chemistry while you're in the car.

  • Spent 20 minutes at the beach reading a chapter of your history book.

  • That's okay.

  • That's fine, Then that type of learning can be done in segments, but for computer programming, you really need to be sitting in a single place at your desk at the computer for a long period of time.

  • Many people are just not used to be able to do that, and they think that that is just way too much, and they're not able to handle that.

  • And as soon as they've sat down for, say, even 30 minutes.

  • They've just say this is way too much, you know, This must not be normal.

  • They must not be good at it.

  • No, that's fine.

  • That's actually the proper path and the way to do it.

  • The thing about programming is that there's a certain flow of things and you have to get into that rhythm.

  • The study patterns are quite different than other things that you may be normally used to now.

  • Another reason I think that coding is difficult for people is that it requires abstract thought, which is a skill that most of us have not really been tough, and many people can go through life without really using much abstract thought.

  • You go through most of your say high school without having to actually touch abstract thinking at all, and even many people will go through college and their whole lives without doing this.

  • But it is about elevating your thinking and generalizing towards more broader concepts and relationships between the objects and concepts instead of looking directly at the specific objects, right?

  • So, for example, if you take a look at the dog, you may say at first at the docks, color is brown and you have a computer program that does this.

  • But then you may be thinking, if you were, just start thinking about this more abstractly.

  • Why do you even assigned the dogs color to be brown in the first place?

  • Right?

  • Maybe the dogs color should be assigned when the dog is born.

  • When the dog's name is assigned at the same time, that seems to make more sense.

  • So you group all of those things together.

  • But then you start thinking, Well, why is the dog a special object within your whole entire system?

  • Should the dog be a special object?

  • And should you be the one assigning it right here in the program?

  • Is the dog's more special than anybody else?

  • Why not assign the cat a name?

  • Why not assign the person a name and the color as well?

  • So then you may say, OK, well, let's generalize the concept of a dog, too an animal.

  • And then you have animal factory that is able to initialize thes objects and assigned them names and colors, and that you may start thinking, Well, why are you even doing this?

  • Client side should, then the I'll be driven by the server, and it should be the server, which is the source of truth.

  • So you move everything to the server, and then the client has no concept or notion about when the animal even is.

  • The client is just a dumb but view for rendering things so that gets towards abstract thinking Helps you generalize your concepts in the computer system.

  • Many people, though they're just going to say, Well, why do you have to go through all that?

  • The dogs color is brown.

  • And let's just leave that that if you're good at abstract thinking, I believe that it will also make you a good problem solver.

  • Another interesting facet about coding is that you're never actually done learning, and there is no true sense of accomplishment.

  • The field is just so big, so usually you just start learning something and you feel that you've only scratched the surface of it.

  • Maybe you only really understand 10% of it, and that's about right.

  • Let's say you're trying to learn react that Js you pretty much just learn whatever you need to get your portion of the work done.

  • But you never really tried to learn the whole thing.

  • The framework is always changing, and there's always new technologies coming in and parts of it being outdated and deprecate id all the time, such that your sense of knowledge is always incomplete.

  • And for some people, they may not be used to that right.

  • You may be learning a physical see equation or a math equation, and that's complete and you have the entire knowledge right there.

  • You could be reading history book.

  • You've read the whole chapter, and that's about all there is to it.

  • And you can piece together the events 100% almost.

  • But in programming, it's more like you only know about 10%.

  • And sure, there's a whole bunch more that you can learn.

  • But that's fun, and you just leave it at that.

  • The other thing is because the field is so broad, it is easy to get lost in the weeds somewhere, and it is easy to get off track.

  • If you're not focused on your learning, you could be wasting your time learning officers of random stuff that aren't really useful.

  • You could spend iron time learning about assembly code optimization, which very few people are going to need or you could be wasting your time learning some technology.

  • That's just not very useful, like how the D compile and 64 game cartridges.

  • In many ways, learning code is a battle against time in which you want to prioritize our learning and make sure that you're always on the right track and not learning some piece of technology that's not very useful.

  • And I think people also really need to ask themselves, Do you really want to coat?

  • Do you think it is cool?

  • I think a lot of people, maybe they look at the amount of money, the salary income that software engineers are making.

  • They think that part's cool.

  • Maybe they look at the lifestyle, but do they truly want to be a programmer themselves?

  • Or did they see that as something that they may be doing for, say, one or two years and then just give that up?

  • Because their heart was never in in the first place?

  • They don't think it's cool.

  • Most of us we are not brought up thinking that software engineering is very cool, right?

  • We take a look at rock bands, singers, musicians, being an actor or actress.

  • Well, that seems cool, and a lot of people would be willing to put everything else on hold to chase their dreams for that.

  • But how willing are people to give up, say, a Friday night at the bar with their friends to just sit down and coat?

  • Not many people are willing to do that because they just don't think that coding is that cool.

  • A lot of people think that coding is something that you just pick up on the side, like learning to play the ukulele.

  • It's not quite like that.

  • It requires more commitment than that.

  • Now.

  • One more thing here is that the results will validate you, so you may think that program is hard until you land the job.

  • As soon as you have a job, then you'll feel like, Oh, hey, yeah, it was pretty easy.

  • And this is where one big disconnect is is that the coding interview process is often completely different than actual practical real life programming, and it is actually a separate skill set right.

  • You got to go through white boarding questions and solve a bunch of brain teasers and specific coding related questions, and there's a whole different set of skills involved in that.

  • So the challenge is that people, maybe they get through some coding practice and they're actually pretty good by then.

  • But they can't get the job.

  • So then they think, what coding it just seems so difficult.

  • It's actually a different skills that that you have to learn to pick up.

  • And this is where I recommend you get some interview training.

  • Ex Google and ex Facebook engineers were putting together a training course program for you.

  • Tech interview pro dot com.

  • So check that out.

  • We'll get you.

  • Also, that would teach you everything you know to pass the coding interview for large tech companies in things.

  • So I'm talking about coding data structures, and now this is communication behaviour and all the other skills that you're going to want to watch out for.

  • You know, one quote that I always think about is the smallest decisions in life often have the greatest impacts when you invest in yourself.

  • Maybe one day for in the future you will look back on that day that time and you'll say that was the turning point, right?

  • That smart decision to invest in yourself, I invested myself my own skills.

  • And that just sent me on the totally different career trajectory and brought me to the success that I have today.

  • Let me know why you think coding is difficult if you like the video, give the like and subscribe and see you next time.

  • Thanks.

  • Bye.

Hey, tech late here and welcome back to another episode of the tack Lied.

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it