Placeholder Image

Subtitles section Play video

  • Hey tech elite here and welcome back to coffee time today

  • We are going to talk about my top three programming languages for beginners for 2019

  • We are drinking coffee at this coffee time. This is instant coffee

  • That's sour now. I received an interesting question the other day from drew

  • He's some 14-year old kid and you know when I think about these 14-year old kids

  • I remember

  • Just how stupid their I just want to kick some kids right now now drew here is asking about how he can get into

  • Programming he wants to get into an internship or something about that. He's very interested in computer science

  • And I think that's a great question and I wanted to share some information about how you two can get into the field get into

  • Programming this video by the way is sponsored by brilliant org slash tech lead

  • There are fun educational website covering a wide variety of topics like computer science

  • Algorithms AI machine learning and soon Python programming all sorts of topics that can help you get ahead help you learn check them out

  • Brilliant org slash tech lead now when you get into programming

  • I think it's important to realize that there are a number of different paths that you can take

  • I might break it down into two paths one path is the traditional computer science path

  • And then the other is more towards the self path and with the traditional course

  • You may go through college you learn a bunch of computer science fundamentals

  • Data structures algorithms operating systems and you may work in a variety of languages

  • You might have a data structures class in Java a compilers course in C

  • Maybe another course in Python or something like that and you kind of slowly go through a number of languages

  • None of these courses really teach you the language very well

  • You just learn a few rudimentary

  • basics about how to use the language at the very high level and

  • Then you work on the assignments and it really focuses more on theory

  • eventually over time this path may lead to jobs in which somebody goes into a heavier weight language something like doing memory management and

  • C++ for graphics programming or working on the server back-end in Java or Python?

  • But I think that if you're like a 14 year old or if you're just starting to begin to learn to program and you don't

  • Really have time to go through an entire four-year course education and you might want results faster than that

  • You might want milestones as you go through such that within the first few months

  • Maybe you already want to be able to land some sort of internship some entry

  • Our job and then from there you build up your computer science education some more and learn some more programming

  • Get more into the theory into the fundamentals and algorithms and then get into heavier weight languages like say C++, Java

  • Objective C. Something like that

  • These languages may require more consideration for performance systems design organizing the code structure better

  • I think that it would be a lot to expect somebody who has zero programming

  • Experience to suddenly become very good si Android development

  • And so if you have absolutely no programming experience

  • And you want to get into the field and you want to get an internship?

  • I would say that even if you're on this four-year college course where you're going to get into these heavier-weight

  • Languages and maybe eventually you want to be like a C++ graphics programmer or something like that?

  • you're still going to want to be able to get some internships along the way just to bulk up your

  • Experience and this is to recommend the path I have for you get into web development

  • In my personal opinion web development is a great area to get into and there's plenty of job

  • Opportunities for every single level of experience and they can help ramp you up and get you those

  • Valuable internship experiences get you those entry-level jobs that will help you eventually build up a more solid

  • foundation for your programming career

  • So concretely I would recommend first getting into say HTML CSS make some basic websites get your environment set up

  • this will get you to actually understand what programming is going to feel like what's gonna be like and

  • Even though HTML isn't like a real programming language. It's essentially the same things code

  • It feels very similar to code and they will get you into that mindset

  • once you have most of that down you can start getting into say

  • JavaScript JavaScript is a great language because it's very visual

  • You can have colors you can draw things

  • You can position elements around and it's also extremely useful you can use it to create entire websites

  • Just knowing HTML CSS and JavaScript. You can already start setting up websites

  • You can even start collecting payments

  • if you wanted to you can connect to

  • JavaScript frameworks that say stripe or PayPal have set up and if the only thing you know is HTML CSS and JavaScript

  • Guess what? You can order to get the job

  • it's called a front-end engineer and there's many positions for this if you were to learn one of those newer JavaScript frameworks like Vijay s

  • Angular react, you know, these are newer areas. There's not that much competition

  • I mean, they're still going to be a lot of competition

  • But it's not going to be that bad and the field a front-end engineer generally doesn't require too much computer science fundamentals

  • algorithms data structures

  • It's really about gluing pieces together making a website

  • Functional delivering a product and there's a lot of fun to do as well in my opinion

  • targeting to be a friend and JavaScript engineer is one of the easiest and simplest paths to getting yourselves into a

  • Programming career from a position in which you have no prior experience

  • Now in order to better understand the field of software engineer

  • It's important to realize that there's not that many different types of Engineers. You got like algorithm programmers

  • These are people who are working and say C++ Python doing back-end artificial intelligence machine learning

  • Maybe on computer graphics, maybe on search rankings, and that's great

  • I would say that this area is going to be a little bit more difficult to break into it's possible to do but it's generally

  • an area that you might want like a complete computer science degree to get into and then you have a few areas like mobile and

  • web for mobile

  • We're talking about Android or iOS development for Android you're working in Java or Kotlin and for iOS you're working in Swift or objective-c

  • These are generally languages that may require some manual memory management and systems design

  • These are errors that you can get into if you're feeling confident

  • but the web stack is even simpler to get into for the front and you've got

  • JavaScript which we talked about and then for the backend you may be working and say Python or PHP maybe Ruby on Rails

  • And so looking at it this way after learning JavaScript. I might consider getting into a back-end language like say PHP or Python

  • I think Python is a more structured language PHP may be a little bit easier to get going if you were to get that set

  • Up and hook it up to your JavaScript code you'd be what we'd call like a full stack engineer

  • You're working on both front-end and back-end great area to be into this is an area

  • I would say that a lot of people kind of get stuck on

  • primarily because in order to

  • Get into the back of the work. What you need to do is go out and buy a server

  • You need to rent one of these and it's pretty cheap actually like you can get a back-end server for like five bucks a month

  • register domain name for like 10 bucks or a year and

  • you would be all set up you could have an entire website running and throughout all of this most of the code that you

  • Be writing would just be glue code to glue pieces together like Lego building blocks

  • you can get a lot done essentially and

  • Employers are going to be impressed because you're going to be launching products out there

  • one thing you might be careful about is just learning a language like say Python and

  • Not launching anything or say Java because the fact is all of us know Python all of us know Java

  • The question is really how well do you know these languages?

  • You know if I see 10 candidates and everybody knows Java what I'm really interested in knowing is well

  • What did you do with the Java?

  • did you launch an entire Android app and

  • Make it really popular or did you just learn a little basic Java and use it for a course project?

  • So this is why I recommend that you do project based of elements such that you don't only have a language that you add to

  • Your resume. You also have an entry an entire project that you can put on your resume that indicates

  • This is what you did. These were the challenges that you face

  • This is what you launched take a look and the website looks nice looks clean, and it's entirely functional the great thing

  • Is that websites are very visual? They're a lot of fun

  • They're very useful and you can show them off to your friends to your family. Lots of people can use it

  • It's going to be a good

  • Validation for you and be a good milestone as you progress forwards and your knowledge and say Python and JavaScript

  • They're going to be very useful for any other area that you may want to get into eventually

  • now from here

  • You might want to start specializing in to an area

  • Whichever area you choose you may want to get into say iOS development you go with Swift or objective-c for that for Android development

  • Java or Kotlin you could get into game programming using unity c-sharp

  • You could get into computer graphics programming using C++

  • Machine learning AI or you don't even have to get much deeper than that

  • You can just stop there as a full stack web developer and there would be plenty of career opportunities

  • For you right in that area

  • I would say though that in the typical project team in any large tech company

  • You're going to have three basic types of engineers

  • You have the Android engineer who's working on the Android side the iOS engineer and then you may have the back-end

  • Engineer this back-end engineer is working in say Python or PHP

  • Working on the API calls that the front-end mobile clients are going to hook into there may also be a friend an engineer doing JavaScript

  • Sometimes this engineer would also be combined with the backend engineered like a single full-stack engineer or something like that

  • So you might want to pick one of these areas to dig further into

  • and so you can see that the great thing about this plan that I've laid out for you is that if you get into mobile

  • development

  • knowing some JavaScript may be used for any ways because you may be working in the language like say react native which uses

  • JavaScript and mobile development

  • It's also going to just be good if you want to get into say front-end development almost every company is using a lot of JavaScript

  • These days it's going to be good to be able to read that code if you pick up Python for say back and work well

  • Python is a great all-around language for general scripting crazy and developer tools writing scripts to help speed up your workflow

  • So there you go. I think the way to think about this is not to think about learning just a single language

  • I think just one single language is not really going to cut it in this field

  • You want to think about a set of languages my recommendation then to HTML CSS?

  • Learn JavaScript first then get into say a back-end language, maybe Python or PHP

  • Then get into say a heavier weight language with memory management

  • Systems designs data structures heavier weight computer science fundamentals like that

  • I would recommend for iOS get into Swift or for Android get into Kotlin or Java

  • I might also give a special mention for c-sharp. I think that c-sharp is an excellent language

  • It's very fun, very easy to use and the code completion is just very good

  • I had a great time learning in c-sharp

  • The only reason I might hesitate from that is that I think it's one of those

  • Languages are a little bit more specialized maybe towards say game programming unity development Microsoft technologies if you want to get into it

  • Go ahead

  • I think that any language is interesting to learn about but those are my top picks if I were starting all over

  • That's why I would go with that do it for me

  • remember to check out brilliant org slash tech lead for fun educational courses

  • spread the love of math science or computer science to your loved ones by gifting them brilliant learn about math science or computer science through

  • brilliant org

  • It's a fun way to nurture curiosity build confidence and develop problem-solving skills crucial to school job interviews or career

  • Brilliance thought-provoking content breaks up complexities into bite-sized

  • understandable chunks that will lead you from curiosity to mastery visit brilliant org slash tech lead and grab a

  • Subscription to finish your day a little smarter. I'll do it for me

  • If you any tips for beginning programmers pose them in the comments below

  • I read them all if you liked the video give it a like and subscribe. I'll see you next time. Bye

Hey tech elite here and welcome back to coffee time today

Subtitles and vocabulary

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