When To Learn A Second Programming Language?

hey what's up john sonmez from so I got a question

about when to learn a second programming

language I thought this was an

interesting question because this is

something that a lot of people encounter

especially if there are new developers

and they've learned their first

programming language and now they say

well what what at what point should I

dance my skills and try to take on a

second programming language so here's

the question here it's from Paul and he

says how do I know if I'm skilled enough

to move on to learning a second

programming language and he says I'm

still learning Python and I've gotten

decent at it so here's the thing there's

no reason to learn a second programming

language unless you need to use it or

you're planning on utilizing the second

programming language right so if you can

do your job and you can and you can

still advance and you don't feel stifled

or stuck there's no need to there's no

need to learn a second programming

language so what you shouldn't be doing

is you shouldn't be saying okay well let

me learn Python and then once I feel

like I've learned Python enough I'm

gonna learn a second programming

language now don't don't get me wrong

here I don't think there's anything

wrong with learning multiple programming

languages I think it's a great idea I

think that as you learn multiple

programming languages you're gonna see

things from different from a different

paradigm and/or from different paradigms

and that's going to enhance your overall

ability as a programmer as you see

different ways to do things and you see

what's idea Matic in one language

then what's idiomatic in another

language and that influences how you

think about the overall picture of

software development but with that said

too many beginners are trying to acquire

what I call the the Batman tool belt of

knowledge and the problem with that is

that you you hire all these you know

gadgets that you think that you're going

to utilize but you never end up

utilizing them so you end up wasting a

lot of time and today you can't get away

with that and the reason why is because

technology changes so fast right

everything is changing so rapidly you're

having to learn new programming

languages JavaScript frameworks all of

this stuff that's happening all the time

so you can't waste your time learning

things that you're not actually gonna

use or that you don't need if you learn

your first programming language okay and

you're moving along

and you say gee I would really be able

to expand I've sort of hit this plateau

and I would really be able to expand my

abilities if I learned a second

programming language so I could I could

you look at things a little bit from a

bigger picture I only know how to do

things in this one way and I'd like to

see things from a bigger picture then

that's totally fine it and you can

decide this early on right I mean you

don't have to become a master in a

programming language I would suggest

that you become at least an intermediate

level right that you actually have done

well that you can do most programming in

your first programming language before

taking on a second one although you know

a decent argument could be made to say

that you could learn multiple

programming languages at the same time

and that would enhance your overall

ability to learn how to program some

college programs actually do that which

is kind of interesting but but here's

the thing so yeah I kind of psyched out

there but what I'm trying to say is

essentially what you want to do is if

you're gonna learn a second programming

language is at least have something that

you're gonna utilize it for and a reason

for learning it otherwise you're not

actually gonna learn it it's not

actually gonna stick it's not actually

going to benefit you I always tell you

right if you've been watching this

channel that you you learn so that you

can do I want to learn X so I can do why

you always have to have that if you

don't have Y you don't have you

shouldn't be learning X okay just

learning for the sake of learning is not

usually beneficial now the only

exception to that is acquiring general

knowledge or base knowledge or you know

sort of things that you spend all that

you can acquire in down time that

doesn't cost you anything for example

listening to a bunch of audible books

audiobooks all the time while you're

running or driving in your car it makes

a lot of sense you know the more

practical they are obviously the better

but just acquiring that kind of

knowledge in feeding your brain can be

useful but if for programming for trying

to advance your career for trying to

adventure technical knowledge that stuff

doesn't work learning a programming

language never using it is not going to

benefit you much it might give you a

slight paradigm shift but in two to

three years you're gonna forget all

about it you're not going to use it it's

it's not gonna have any kind of benefit

so at the very least you should look for

some kind of project that you're going

to do in this new programming language

and make it something that

maybe he's gonna have a secondary

purpose maybe it's actually gonna be

some kind of tool that you're gonna use

for yourself maybe it's gonna be a tool

that you're gonna use for work maybe

it's gonna be a side project that could

actually generate you some money or

build a business out of that right or

maybe you find another job

that where you use that programming

language or you do some freelancing

where you're going to have some kind of

benefit where you actually need to learn

the language right in order to have some

some value some lasting value from that

thing because again a lot of people

trying to learn stuff they try to

acquire this tool belt especially a lot

of beginning programmers because they

think they need to know all this stuff

they need to check off all these boxes

so they know all this stuff and now now

they're a good programmer and what ends

up happening is they they end up wasting

a lot of time learning stuff that's not

useful right there's there's there's

broad kind of knowledge things right

there's a lot of things that you can

learn in the technology field that will

be widely applicable or that will have

cross-cutting concerns that will have

that will cross over into other realms

but there's also various deep specific

knowledge that is not beneficial not

extremely beneficial outside of its own

realm and programming languages for the

most part tend to fall into that right I

mean like I said again there's a

paradigm shift there's different ways of

when you learn multiple programming

languages it does carry over and

increase your overall knowledge and

ability but in general it's specific

knowledge and that specific knowledge

it's not gonna be so useful right if you

don't actually use it so all I'm saying

here is this it's basically like if

you're going to learn a second

programming language it's not a matter

of how much you master the first it's

not a matter of timing right you should

have at least an intermediate level of

the first programming language you don't

want to it for the most part you don't

want to try to learn multiple ones that

time at a time that's gonna be quite

difficult but what's really important is

that you just figure out the why why are

you learning this programming language

you know the the why could be because

you want to expand your knowledge you've

hit the plateau but you still need the

why of what you're gonna build you need

to know what is it that your I want to

learn X so I can do Y and you've got to

figure out what is that that Y right

I'm using two different y's here like a

variable Y and the Y you should do it so

that's a little confusing but I hope

you're following what I'm saying here

one other thing I would say about this

I'm gonna give a quick plug for if

you're trying to do this if you're

trying to learn a second programming

language if you're trying to learn

anything quickly one thing that you

might want to invest in before you

invest in actually learning the second

programming language is to learn how to

learn how to learn faster you can check

out my course I've put together a course

called ten steps to learn anything

quickly you can check it out there and

that course is all about teaching you

how to learn programming languages how

to learn anything

not just for grabbing languages I added

actually a bonus module that talks about

how to learn programming languages

lately but I use this right I use this

technique I developed this technique to

learn I probably learned in about three

years I learned probably like six or

seven programming languages and taught

taught classes on them taught actual

video courses on Pluralsight you can

check out all my Pluralsight courses

here and you can see and I'm not I'm not

kidding I'm not making this up I did go

to learn I learned the dart programming

language and in a matter of weeks and

then taught a course recorded and taught

a course on that go lua I'd have to

think about it they're a bunch of other

ones that are in there you can check

them out as well as well as frameworks

and all that stuff so anyway I hope that

answers your question it's it's it's

definitely a sticky question you know

there there's some good books like learn

I think it's learn seven languages in

seven weeks that's you know that's

probably the exception to this rule

where you're kind of dabbling and you're

just kind of taking an introductory view

of a bunch of different programming

languages and playing around with them

just to broaden your your perspective

that would be fine but as far as like in

depth learning of programming language

the advice I give you in this video is

what I'm sticking by you don't have to

agree in fact if you don't leave a

comment below I'm always curious to hear

other people's opinions if you like this

video if you want to get more videos

like this one if you want to see me flex

click the subscribe button below I don't

know I don't know why you know if you

could just subscribe but I'm gonna flex

for you

but if you haven't subscribed already go

ahead and click that and I will talk to

you next time take care