Placeholder Image

Subtitles section Play video

  • Hi and welcome back to another episode, my name is Patrick Shu and I am the tech lead

  • our topic today is how to learn to code and

  • There's really only one skill that you need to have to learn to code

  • And generally people either have this skill or not

  • And that is really the ability to just set at a computer for many hours at a time

  • Our engineers know that there's something called the zone

  • Where they basically just sit a computer uninterrupted for long periods of time and that's how they are able to put together

  • complex thoughts chained together many pieces of logic and basically put a program together and

  • This is a habit that a lot of people don't have like there. They sit down for 10 minutes at a time

  • They don't really have a desk. Maybe they're like

  • Watching TV as they're using their laptop and they're checking their phones

  • all the time and then they gotta get up and pick a cupcake and then go walk the dog and

  • then they gotta go drive out and do an errand go shopping come back and then they gotta go meet up with their friends and

  • each time they have maybe 10 20 minutes at the computer and it's just not enough time to really sit down and focus so

  • If you can get into the habit of saying you're just gonna block out

  • say four hours and then evening grab a cup of tea and then really just sit down and focus on

  • Staring at the computer for this amount of time then I think you'll be able to develop that habit

  • And that's even better if you can block off like an entire afternoon and just give a whole day to it

  • And that is how you'll basically be able to learn and basically software engineering is just all about learning

  • Over and over again. It's it's kind of an interesting career because it's not like being a lawyer or doctor where

  • Over time your experience just builds and builds and then when you're like a 60 year old doctor or lawyer

  • You're just so experienced and you can try to choose amounts of money

  • Now for software engineering when you become like a 60 year old guy. You're probably outdated

  • Now this isn't really necessarily about ageism. It's more about

  • Many people just decide to stagnate and they stop learning if you can continue learning

  • Keeping up with new technology as it changes over the many years, then you're gonna be good generally

  • So this is really about developing the ability to learn and that ability to learn

  • needs to be done over long periods of time sitting in front of the computer and you know one tip I have is I

  • will usually just get some really good music and

  • I it'll make me want to sit down at the computer so I can listen to that music and now just listen to it and

  • Now I just focus on whatever it is. I'm doing I'd also say that

  • a lot of normal people don't have the ability to just sit down for many hours at a time and start a computer like

  • I'm not even sure if it's really something healthy to be doing

  • Usually it's the people at school who don't have a lot of friends who don't get invited to the cool parties

  • And so then they just sit at home by themselves and they've got nothing better to do except to learn

  • Basically get good at computer coding. So if you're a kind of a popular person or

  • You've got a lot of events and cool things going on in your life

  • then you're probably going to find it to be very difficult to just first yourself to just sit at home and

  • ignore all those other events

  • For me, I'm the type of person who really enjoys being at home and not doing a lot of things like given the choice

  • I might just sit at home for like a whole month and I might go out once once a month, you know

  • I just I don't feel a need to be going out shopping and like going to the mall every day

  • Like it's just not that interesting to me. I

  • Remember when I was in high school? I wasn't the smartest kid

  • Like I was pretty smart

  • but there were these other kids who were much smarter than me and

  • They would always be getting like a pluses are not the exams and then we all went to college and since it was kind of

  • Trendy at the time to apply to computer science

  • a lot of them did that and

  • basically by the end of the first year all of them dropped out and I was like the only

  • Person left from my high school who was actually studying computer science in the program

  • that first class is called the wieder class because it's intentionally made to be difficult and just filter out a lot of students and

  • Basically, give them bad grades. So they're forced to drop out. Meanwhile for me. I just really enjoyed that course. I got like a

  • and I think the reason is that a lot of these people were probably

  • Very good at normal stuffing like they could read a book. They could memorize it

  • They could do their homework

  • But they may not have had that

  • culture of Sydney in front of a computer for long periods of time and

  • That was something that at least for me

  • I had I have been actually coding since elementary school and meanwhile

  • I think a lot of these other kids they really had no clue what they were getting themselves

  • into they thought it was going to be like

  • Studying physics or chemistry or biology or something like that?

  • But computer science is a whole different culture and it requires that computer culture

  • now when you actually get into the computer science courses

  • It may surprise you to hear that the professors don't actually teach you any programming languages at all

  • so language syntax, like how to code in Python C++ Java JavaScript

  • PHP or Objective C all of that stuff

  • They don't really know what nobody teaches you that so if you were thinking that when you get to college

  • Somebody's actually going to sit down and teach it all these languages. That's not the case. No one ever held any engineers hand like that

  • Everybody who learned how to code generally had to do it by themselves and they're all self-taught in that sense

  • So don't wait to be taught by somebody and that's just how it is and you just gotta keep self teaching yourself

  • So if you don't have that self teaching culture that initiative then you need to be able to develop that

  • Okay now hold on

  • Let me just clarify that there are some courses that can teach you these

  • Languages if you actually need a help but most four-year degree college programs

  • will not be teaching you that these are things that you might learn and say high school courses or community college courses and

  • I think a lot of people maybe think that

  • Well, the people who actually gone to a computer science program and maybe like you didn't for example

  • Maybe you're thinking that they were actually taught this stuff

  • No one was taught this stuff what people are actually taught in. These courses is their

  • supposed fundamentals which are like

  • algorithms data structures how operating systems and compilers work databases

  • But probably the only course that you need to know our like data structures and algorithms and you know

  • You can keep in mind that each of these courses is just basically one textbook, so if you were to read

  • two to three text books, you'll basically be covered and that

  • Will get you going and in reality a lot of computer science

  • You don't really need to know these crazy data structures and algorithms

  • Like they'll tell you how to implement a hash table, but in reality no one really implements a hash table

  • They just use it and and basically if you were to do the algorithms course, I understand time space analysis

  • Like how efficient these data structures are then you're gonna be able to use them fine

  • and there's not that much holding you back then like so I think you can get very far even teaching yourself on your own although

  • That's not to say that a college degree is useless like a college degree is actually incredibly valuable. I think simply because

  • It's so difficult for students to stand out

  • the competition is so tough that

  • Having that college degree just elevates you one level up and just makes everything so much easier for you to let your first job compared

  • to having nothing and

  • Trying to prove to people that you may be qualified

  • Even though there's tons of other people who may have some degree who's competing for that same job

  • basically after that I think like

  • You know, you have to ask yourself why you're learning to code and there could be a variety of goals

  • Maybe you want to build a project for yourself. Maybe you're just curious

  • But if your goal is to eventually get a job as a software engineer in some company

  • then I would say that your goal is going to be to get something on your resume and

  • The best way to do that is probably just to make some personal projects

  • as you're starting out it's gonna be difficult to get anyone to hire you so think about some cool projects that you can make and

  • Set make that your goal to make it and then just try to create it and as you're doing it

  • you can that new language learned some fundamentals and

  • When you finish it

  • You can put that project on your resume and then you make sure you can be able to explain about whatever impact that had you

  • Know like if you can have a website or something to show it

  • That would be pretty nice. And if you could get a few users, that would be even better

  • As for what track to go into I might recommend web development as one way to quickly get going like you learn HTML

  • Javascript may be either

  • PHP or Python as a back-end language, and I'll quickly get you

  • Going and that's really all you need to be able to start creating. What complete web

  • Applications and you know these projects you can basically put on your resume and get you started another option

  • I might recommend is mobile development

  • which is pretty trendy nowadays and I would say that in the past iOS development has been seen as

  • trendy, but in recent times Android development has actually

  • been

  • Skyrocketing like if you check the charts Android growth is growing really fast

  • So I think that the demand for Android developers should be going up

  • Anyway, I think that pretty much captures what I'm trying to say

  • Which is that no one's really there to hold your hand throughout all this

  • it's not like when you start a job you get a pair of programmer and together you're

  • Programming with a mentor and people are watching your screen and going through each step together

  • I mean, there are a few jobs that actually do a lot of pair programming

  • but most of the jobs that I've seen they just give you access to the code base and

  • There's usually a lot of crazy technology and languages in there that even experienced engineers may not really be

  • Familiar with and they just need to start digging through and teaching themselves how to get through it

  • all

  • What really takes is you got really just be able to pour yourself like a cup of tea or a coffee and sit down for?

  • A few hours and just really try to learn the code by yourself. There's you know, even in an industry, there's even less

  • documentation than what you see

  • Online usually like the code might be messy

  • There may be really poor documentation

  • And people just need to have that tinkerer mindset and just go in there and dig in and take a look

  • You know, that's the culture. That's how it is. There's no true

  • Correct way to do any of this I would recommend that as a beginner

  • You can probably even ignore the whole algorithm

  • Fundamental track at first you might get into eventually

  • but like if you were to pick up a book on how to do web development in

  • PHP or Python or how to do Android or iOS

  • Development and then just go through that book

  • will probably get you set up and you really just need to be willing to put in the time and effort to do it and

  • I think that many times I'll basically just see people and just just looking at the way they act like

  • How social you may be if people?

  • Don't seem like the type of person who would be able to sit down and just really study a computer like I can already tell

  • that they don't really have that culture of the programmer like

  • You need to be able to

  • Develop that culture and get into the zone sit down for many hours at a time

  • And I think that's the one skill that a lot of people probably need to hone more on if they want to get serious

  • Into coding so they'll do it for this episode

  • Let me know what you think in the comments below and I will see you next time. Give it a like and subscribe

  • Bye

Hi and welcome back to another episode, my name is Patrick Shu and I am the tech lead

Subtitles and vocabulary

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