Placeholder Image

Subtitles section Play video

  • - Hey TechLead here.

  • Now, I've been programming for a long time.

  • I started maybe 600 years ago or so

  • and I've learned a lot of things on my journey.

  • I thought I would cover in this video

  • some of the top tips I have for you,

  • things I wish I knew when I started coding myself.

  • So stay tuned because we're going to be right back

  • after a message from our sponsors.

  • But before we get to that message,

  • I have another message for you.

  • It is about the drink I'm drinking.

  • This is perfect product placement right here for you.

  • One of my favorite drinks,

  • I highly recommend that you go

  • and buy it right now it is known as water.

  • Wow, that just refreshes me so much, so good.

  • Now on to the message from our sponsor.

  • Now this is a sponsor that I felt so good

  • and so strongly about that I really wanted

  • to recommend it to you guys earlier

  • but I couldn't quite do it because

  • I wasn't going to get my kickbacks.

  • I didn't have an affiliate link set up.

  • I have that setup now, check it out.

  • It is audibletrial.com/techlead.

  • You can get a free audio book this way

  • and let me just tell you that

  • I've heard about audio books before in the past,

  • I always ignored it.

  • And then recently I've been trying that out

  • and I realized that it's so much fun

  • and it saves you so much time.

  • I listen to audiobooks on my driving.

  • I think we all know that reading is important,

  • everybody tells you that,

  • but these days in this generation,

  • people are just so busy all the time.

  • And it feels like you have to keep up with everything.

  • You've got to read blogs, social media,

  • you got to keep up with all the news,

  • and then on top of that,

  • you have to do your daily reading.

  • It's just a lot of stuff with audible,

  • which is run by Amazon by the way,

  • you get to listen to audio books on your drive.

  • The app plays in the background as you're driving,

  • saves you a lot of time.

  • Personally, I'd been listening to

  • the "12 Rules of Life" by Jordan Peterson recently,

  • highly recommend that book.

  • It goes very deep into psychology and human history,

  • very fascinating listen,

  • and it's read by the author himself.

  • Anyway, check it out and get your free audiobook

  • at audibletrial.com/techlead.

  • Now let's get into the tips.

  • The first tip I have for you is

  • to not try to learn everything.

  • It's going to take you forever to try to learn everything

  • and things keep changing all the time.

  • So choose what you need to learn

  • and focus on getting results.

  • You're going to be interfacing with dozens

  • of different technologies, maybe MySQL,

  • Linux, different API's, frameworks,

  • all sorts of different things developed

  • by other people that's changing all the time.

  • And at least for me,

  • I find myself often digging into various technologies,

  • trying to figure out exactly how things are working.

  • If I'm using an Apache web server,

  • I'm half tempted to just go read through

  • the entire Apache documentation

  • and figure out exactly how things are working

  • before I actually start using the service.

  • But the key I think is to just start using things

  • and as long as things are working

  • and it's not broken then you're fine.

  • If you don't do this,

  • you're going to find yourself stuck

  • learning tons of random things that half

  • the time you're not necessarily going to need.

  • One example is when I started with iOS development,

  • I launched my first app.

  • I didn't know half of how the language was working.

  • And I'm sure I made tons of different mistakes.

  • The code was probably not optimal,

  • it was not properly written,

  • the structure was probably very messy, no good.

  • But still, I was able to launch my first app

  • and just get things rolling, get things moving forward.

  • And that's the key to understand there

  • is that you're never going to get things completely right.

  • Nothing's ever going to be completely perfect,

  • and that's just how tech is.

  • Even in industry we often have many engineers

  • who know multiple languages, full-stack engineers,

  • and yet, usually engineers were just focused

  • on one certain technology and get to know

  • that particularly well and all the rest,

  • the rest of the ecosystem for other languages

  • are just changing all the time,

  • such that you can never really know a language very well

  • because things are just changing all the time.

  • You may think that you know Java now,

  • but in one or two years, the tooling,

  • the language, the frameworks,

  • the coding practices around that language

  • are going to change entirely differently.

  • There's going to be new technologies

  • that are hot that people are using.

  • So I wouldn't bare on saying that you'll be able

  • to learn Java then Python then Swift,

  • and after that, you'll have three languages

  • in your tool belt.

  • Now you're really going to only have one language,

  • that's the one that you're using at any time.

  • The field moves fast and the only constant is change.

  • And what you will always need

  • is the ability to learn quickly.

  • Now, the second tip I have for you,

  • is that our code is garbage.

  • And that's really the way to look at it.

  • Tech is not magic, don't sit there

  • and all of the technology around you,

  • and just so struck by how cool everything is.

  • You think that looks cool, it's just a front.

  • It's mostly just garbage code, purchased up

  • in a nice UI that looks shiny and neat and simple,

  • but in reality it's nothing good.

  • And as long as you keep this in mind,

  • you won't be intimidated.

  • You'll be able to go in there and start coding things

  • and know that your code does not have to be perfect

  • because nobody else's code is perfect.

  • It's just whatever works.

  • Just do whatever gets results.

  • If you saw the article from my last video,

  • it's reported that Google rewrites

  • their entire code base every few years

  • because it's just such garbage quality.

  • Now, I'm not 100% sure if this is actually the case,

  • but what I do know is that Tech engineers

  • also don't stay at companies all that long.

  • The track record isn't that great,

  • people stay at companies say two to four years,

  • and then they move on.

  • So when I go into a company,

  • my co-workers have been working there

  • like two years or so, maybe even less.

  • And so that's the amount of experience

  • that most people have.

  • Nobody really knows anything more than,

  • say two years of information.

  • Maybe senior engineers know a little bit more than that

  • if they've been hanging around the company longer

  • but everyone is sort of a beginner,

  • no one really knows what they're doing.

  • People are just winging it,

  • and it's funny that you may have a certain technology

  • that looks really good and solid at one year,

  • but then the next year, people find out that

  • they need to upgrade to the latest version of something,

  • the requirements change,

  • everything has to be real time now,

  • and then the whole entire tech stack

  • becomes complete garbage because

  • it doesn't fit the current feature requirements

  • that all the users are demanding.

  • People often look back at code that say two years old

  • and they'll say it's pretty ancient legacy code,

  • no one knows how it works, it's pretty much writing code.

  • So my recommendation is when you sit down

  • to create a project instead of imagine yourself

  • that you're going to be creating a masterpiece project,

  • and everything's going to be stable

  • and optimized and scalable and high performance,

  • and then you'll be able to show this code

  • to all sorts of people, push out to your GitHub,

  • show to everyone and everyone's going to say that

  • this is a masterpiece of code.

  • It's going to be better if you say to yourself,

  • you're just going to create a prototype.

  • You're going to create a prototype of a product

  • and just get things out there and see how it works.

  • And if the project really works,

  • then after that you're going to invest time

  • into making the code more structured,

  • more solid, make it more scalable

  • and everything like that, cleaning things up.

  • But for now, it's just going to be prototype code,

  • anything goes as long as it works, it's okay.

  • And that's really going to get you set up

  • and get you on your way so that

  • you'll feel free to make mistakes as you go,

  • you don't have to get things perfect.

  • The fact is no one has anything perfect

  • and software is mostly duct tape and strings.

  • There's always a better way to code something,

  • so don't let perfection stop you.

  • My third tip for you is to focus on

  • the project and not the technology.

  • The technology should enable you

  • to do something new, something innovative,

  • but it's going to be the project

  • that everybody is looking at.

  • Now, what do I mean by this?

  • Well, no one's going to care

  • if you spend all your time learning Python version 2.7.

  • And then you never use it to do anything,

  • when you spent all your time learning how to write Swift,

  • but you never launched in that never did anything with it.

  • And on your resume it just says that you know Swift.

  • It's going to be much more impactful

  • and much more impressive if you can say to yourself

  • and potential future employers that you launched

  • a website or an app, and it's still available,

  • people can download it or access the site

  • and see what it is, and it looks great,

  • looks cool, is functional,

  • and maybe even broaden some users,

  • maybe broaden in some side income,

  • you won't remember that software is a tool.

  • It's like a laundry machine or a dryer

  • or vacuum machine, right?

  • It's not something to be super passionate

  • and attach yourself to only saying,

  • while you're going to be a Ruby on Rails developer

  • and you love of him.

  • That's like saying that you just love

  • the Hoover vacuum cleaner and you just love that tool.

  • These are simply tools and for that reason,

  • concretely I might recommend learning

  • say JavaScript and web development,

  • because these languages can actually get you

  • to launch projects that are visible for other people,

  • though it can be highly visible and highly useful.

  • If the only thing you know is say Python,

  • then the only output that you can create

  • is going to be like a terminal output.

  • It's going to be text on the command line.

  • So even though Python is a very popular language

  • for beginners I would say that

  • to really make Python useful for you,

  • you actually need to combine that with

  • a web framework like say Flask or Django.

  • Problem is at that point,

  • you have two things you gotta learn

  • the language itself and then this framework.

  • With JavaScript for example,

  • you can already start putting together entire websites,

  • add to that little bit of PHP,

  • and you've got an entire website running

  • with the full-stack backend services.

  • If you want to do it in Python,

  • that's fine, that's great.

  • Personally for me, I wish I got into web development,

  • these high impact technologies a little bit sooner.

  • Speaking of languages, I just wanted to highlight that

  • I think JavaScript is an excellent language for beginners.

  • Simply because it's one of the only languages

  • through which you can create UI very easily.

  • Python is not that easy to create user interfaces,

  • it's going to be much funner for a beginner

  • to start actually being able to create

  • the instead of useful like, create a tic-tac-toe game,

  • create a hangman game like Tetris or something like that.

  • You can do all of this with JavaScript,

  • and standard HTML UI elements or HTML5 canvas.

  • You can get colors, games, interactive pages.

  • And overall JavaScript is a language that

  • is very similar to say Python

  • so you can easily transition to Python.

  • And JavaScript is probably a decent language

  • for getting your first job, just a beginner position.

  • There's a lot of people almost everybody

  • is looking for JavaScript developers.

  • Other excellent beginner languages

  • might be swift, Java, Kotlin, Python.

  • And my last tip is to just not be afraid to learn.

  • Most people around you you'll find,

  • they can't learn anymore.

  • They're very scared to do it, they don't want to do it,

  • they don't put in the time.

  • It's a very basic thing and as you get into it,

  • you find that it doesn't take that long,

  • like it might take you just two weeks or so

  • to pick up a language and then you always be able

  • to say that you have some knowledge about this language,

  • you can use it, you can work in it.

  • I think tech is one of those fields where

  • the mental barrier to trying to learn a language

  • is far higher than the actual reality of it.

  • I personally have put off learning iOS development,

  • for like a whole year, I just kept stalling on that.

  • When I actually sat down and got into it.

  • It took me just one month

  • and I had already finished launching my first app

  • and I was already making some side income off of that.

  • You'll find over time that many languages are very similar.

  • They have similar constructs,

  • they all have like a for loop, while loop,

  • if else statements, switch statements.

  • As long as you have these basic items

  • you can do a lot in in the language that you get into.

  • More than anything, software is about your willingness

  • to sit down and learn something.

  • That will do for me.

  • If you have any tips on what you wish you knew

  • when you started programming,

  • please post them below in the comments.

  • I'm sure people would love to hear that.

  • If you liked the video, give the like and subscribe,

  • and I'll see you next time.

- Hey TechLead here.

Subtitles and vocabulary

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