What's up, guys?
John Sonmez here from simpleprogrammer.com, and today, I am going to be talking about
how to become a programmer.
I think a lot of people, the only thing that they know of is to go to school, and that
is not the only way to be a programmer.
What I'm going to do today in this video is I'm going to break down three ways to become
a programmer.
I'm going to give you the pros and cons of these three ways, and we're going to just
talk about them.
This way, you know what your options are.
There's three basic ways that someone can become a programmer today.
One is college.
That's the default way that most people know.
Number two is boot camps.
This is sort of a new way.
If you haven't heard of boot camps, we'll talk about it in a second.
The third is self-taught.
Each one of these has pros and cons.
I think each one of these is a valid way of doing it.
I'm not going to knock any of them.
You can do whatever you want.
I'll give you my preference at the end, so make sure you stay to the end of the video.
Going to college.
This is the default.
Most people would say that going to college is how you become a programmer, but it is
not necessarily the best.
Going to college, again, I don't have to define this out for you.
It means that you go and enroll in school, and you go and you take your CS courses, and
then you get your degree, computer science degree or computer programmer degree, they
have a lot of different degrees now, not just computer science.
Then you go out into the world, and you get your job.
Now, there's some pros to this.
The biggest pro to this I think is you have the credibility, especially if you go to an
accredited college, which you should, because employers are going to look at that, and you're
going to have more job opportunities because it is credibility.
Most big employers, the Microsofts, the Googles and stuff, they're going to look for a degree.
Now, it doesn't mean that you can't get a job without a degree.
You can get a job at those companies.
I got a job at HP without a degree.
It does affect the amount of jobs that you can apply for and your chances of getting
those jobs right off the bat, just knowing you have a degree, especially a good degree
from a good school is going to be helpful to you.
That's the number one advantage.
The number two thing is that it provides really good structure for you.
If you're not the self-motivated type of person, although even going to college, you gotta
be motivated enough to get up, get your ass out of bed and not fucking party all night
and sleep in through classes.
That is difficult in college, but assuming that, it gives you structure.
You don't have to figure out what you need to learn.
You don't need to figure out what to do.
You just gotta show up, go to the courses you're supposed to go to.
You get to select some of the courses, the electives that you want to go through.
You've got counselors and advisors to help you.
If you just follow ... It's a paint-by-numbers education.
If you just do what you're supposed to do, you're going to come out with a degree.
Now, it doesn't mean that you're going to learn anything.
That's up to you.
No one can ever force you to learn.
You have to teach.
You have to teach yourself.
You have to learn yourself.
You have to learn how to learn.
Really important concept.
It does give you some structure so you can know what to do and it's over time, so it's
a pace-set, anyone can follow because most people have gone through college, they're
not geniuses, so you can do it, and you can succeed at it.
It's a path that a lot of people have taken.
There's plenty of resources and plenty of help, and you know exactly what to do.
That's a positive.
That's a positive if you're not a self-starter and you can't figure this stuff out on your
own.
It's fine.
It's great.
It gives you that structure.
You have to pay for it, so it's going to force you to go for it and do that.
The other thing is, it's going to give you a more complete knowledge than a lot of other
paths.
A good CS program or good computer programming degree is going to teach you about computer
architecture.
It's going to teach you about algorithms and data structures, and it's going to teach you
about databases, and it's going to teach you probably nowadays about source control.
You're going to get a pretty well-rounded and theoretical knowledge as well as somewhat
of a practical and fundamental knowledge.
You're going to get a lot of what you need, whereas a lot of other options might leave
out, especially the computer sciencey type of stuff, algorithms and data structures,
which can you learn later, but it is some of the challenging stuff, big on notation,
those kind of things are not necessarily things that you just love to learn on your own.
It's more fun to create the web application.
You know what I'm talking about here.
On the negative, I'm going to tell you that there is distractions at college, obviously,
the partying and all that.
It's easy to blow your college years and not really learn anything.
Number two is the cost.
It's expensive, for the most part.
It is expensive, and it takes a lot of time.
That's also cost, the time that you spend.
If you go to university for four years or six years, that's a lot of time that you could
be working, you could be making money, you could be doing something else.
Then I would say the other detriment is a lot of times, the programs are outdated, so
they're not going to be the newest technologies, they're not going to be the newest development
techniques.
The world of technology of programming is changing rapidly, and so what you learn in
school is not going to be enough by itself.
You're probably going to need to be learning supplementally on your own.
I'll give you a quick other one.
I'd say it is good, a good pro would be that you are likely to get internships from college.
They have internship programs, so that can get you started in your career, whereas if
you're on out on your own, it might not be so easy.
That's the pros and cons of the college route.
I would say if you were going to do the college route, this is what I would recommend for
most people is don't go in debt.
If you count student debt, student loan debt, it becomes a big, big negative.
It's just ridiculous.
Don't go into $70, $80, $100,000 of debt.
It's never going to be worth it with all the time that you sink into it; instead, if I
were going to do college today, what I would do is I would go to community college for
two years, really cheap, or a state school or something like that, and then I would do
the last few years in university and get the degree.
It's not going to matter.
Just make sure it can transfer it over, and you can figure that out, but you can save
yourself a bundle of money.
I would also not go into debt.
I would work a side job, start a business, do something so that I can pay that off.
I would probably minimize my expenses as much as possible because I don't want to be in
debt.
Being in debt is horrible.
Number two, so number two option, we talked about college, number two is coding boot camps.
A lot of people think I'm just this huge shill for coding boot camps because I recommend
them all the time.
It's because they're good.
It's because it makes it ... Not all of them are good, but the concept is good.
If I can teach you how to teach you how to program and get ... It's like an immersion
program.
People don't complain about language immersion programs.
If you want to learn Spanish, what's the best way to learn Spanish?
Is it to take four years of Spanish class in college?
How many of you have done that, and you don't know Spanish?
No se.
Right?
You don't know Spanish, even though you've taken it or you took it in high school for
four years.
But if you go to Spain and you go to an immersion program where they only speak Spanish, and
you study it for six to seven hours a day, and you go there for three months, you will
be fluent in Spanish.
You'll be good.
You see what I'm saying?
Same thing here.
That's the whole idea of coding boot camp.
Now, not all of them are structured well.
Not all of them teach you what you need to know.
Some of them are scams, but if you're diligent about it, it makes a lot of sense that, yes,
you can actually learn how to program in three months and be good at it, and six months for
sure.
I know this.
I've seen people go through it.
I've taught people.
Believe me, if you're willing to, it's because it is that immersion, if you immerse yourself.
If you're going to do a coding boot camp, make sure you don't have anything else on
your schedule.
Just focus on that.
The pros, like I said, it's fast.
You can get it done in three months.
Some of them are six months.
There's different lengths of programs, but you could literally know enough to get a job
and to be effective at the job in three months of immersion.
I guarantee you, it happens.
I've seen it happen.
It doesn't mean that you're going to be a great programmer.
It doesn't mean you're going to be the best programmer in the world.
It doesn't mean you're not going to have holes in your knowledge, but you can do it, so that's
a huge pro is time.
Money is the second pro I would say.
Yes, they can be expensive.
Coding boot camp could be $15, $20,000, but that's a lot cheaper than college, especially
when you consider the time factor in because time is money, my friends.
Money-wise, it's not bad.
There's coding boot camps that are online that are cheaper for sure.
We've partnered up with Thinkful from time to time, and there's a lot of good options
out there.
We'll put some options perhaps in the links in the description below in the cards, depending
on who we're recommending today.
As a Simple Programmer, we tend to vet out different coding boot camps and whatnot, but
it's up to you.
You gotta do your own due diligence on this.
That's number two.
Number three is that you're more likely to get practical, pragmatic knowledge that will
be useful right away.
What I mean by that is a lot of times, they do what would be similar to on-the-job training
where you're actually developing technology just like you're working in a real, working
environment so you'll be able to hit the ground running.
Again, you're not going to be the senior developer.
You're going to need to learn a lot more once you get your job, but it can get you a job
in three months or six months and get you working.
Unlike college, you're going to be more likely to be doing the things that you'd be doing
in a real job, whereas college is more about giving you the foundational theoretical framework.
You could od both if you want, but anyway, that's a big advantage.
Now, disadvantages of coding boot camp.
It's really fucking hard.
If you really want to do this right, it's going to be hard.
It's going to be difficult.
It is not going to be easy.
You're going to have to put in the work.
You're going to have to be ... I would want to be in the top 5% of the class.
That means that you're working before the coding boot camp.
It means you're working after hours.
It means that you are busting your butt, especially if you don't know anything about programming
because some people are going to come in knowing it.
You need to be one of those people who self-studied enough to be able to get into the coding boot
camp and then excel.
That's the thing.
It's hard.
It's a lot of hours.
It's a lot of work.
It's focus.
It's going to be mind-numbing, but it'll be worth it, I think, at the end, but that's
definitely a disadvantage.
Another disadvantage, we could say price because it's a lot more expensive than learning on
your own, which we'll talk about in a minute, but I think price is more of an advantage.
Then the other disadvantage is the stigma.
You don't have a degree.
A lot of developers will look at you with coding boot camp and say whatever they say.
I get lots of emails from angry developers that are like, "These young whippersnappers
that they think can code because they went to coding boot camp," so you're just going
to have to deal with that.
That is a disadvantage, unfortunately.
I mean, some people will be like, "Oh, great.
Yeah.
I love coding boot camp people," but more likely, the college degree is going to carry
more weight than coding boot camp certificate, even though you might know how to code.
If I were going to do a coding boot camp today, what would I do?
I would vet the coding boot camps very, very carefully.
I would not choose them based on price.
The difference between paying $5,000 and $20,000 for coding boot camp, I know you think $5,000
is a lot of money, is if it's quality, it's worth paying that.
You're going to make that money as a developer.
If you get a good job as a developer today, at least in the US, you can make six figures,
easy, even starting out, depending on where you are.
The quality is important.
You want to find out who they're graduating, where those people are getting jobs.
You want to talk to those people, vet them out.
Make sure this is legitimate, just like an investment because this is an investment.
It's investment of your time.
It's investment in your future.
Next.
What else would I do?
I would not go into debt for a coding boot camp if I could avoid it, but if I had to
... This is a little bit different because you can go into a little bit of debt for it,
but still, try to not go into debt.
The third thing I would do is I would work my ass off.
Make sure that you're the number one person who graduates from that coding boot camp,
you're at the top of the class.
You can do it if you work hard because I guarantee you, the biggest problem with coding boot
camps is are you going to get the job?
Well, the top 10% of that class is getting a job, unless that coding boot camp is total
crap.
You could never sell a coding boot camp if weren't graduating the top 10% of the class
to jobs, so be in the top 10%.
You're going to get the job.
I'll be in the top 1%.
I'm not going to let anyone stop me if I'm doing it.
That's my advice to you.
Third category, learn on your own.
Learning on your own was what I used to recommend to people a lot of times.
I still recommend it, but you have to be very self-motivated.
Now, how do you learn on your own?
There is a plethora of resources out there.
You can put together a education for extremely cheap.
You can Google Stack Overflow questions.
There's a lot of resources out there.
Learning on your own is about taking those things, and maybe they're not totally free.
I mean, you could definitely pay for a Pluralsight subscription.
Are you crazy?
If you don't pay for Pluralsight subscription, you're trying to learn programming, seems
just ridiculous to me.
Again, I'm an author, so I am biased, but it's ridiculously good deal for that library
of courses.
I've got links.
You can check them out.
You can get the Pluralsight through us, through Simple Programmer, and believe me, you will
not regret it.
Learning on your own is basically using that, using those resources, using the books, using
the Internet.
You could do it all free if you want.
There's a lot of resources out there, and putting together your own plan.
That's why it's so difficult.
Let's talk about the pros and cons of this.
The pros is that it's cheap as hell.
It could be free.
It doesn't cost you anything.
Another pro is that you can get exactly the education that you want because you're customizing
it, because you're making that education.
Another pro is that you can, if you're self-taught, a lot of times, the depth of the knowledge
that you're going to have is going to be very, very deep because of how you're learning.
You can also learn at your own pace.
That's another pro is you could do this faster than anything.
It could also take you longer than anything, but it's at your own pace because you're the
one setting the pace, and it's great for a self-motivated person because it's going to
keep you interested because it's your mission, it's your thing that you're creating and your
thing hat you're doing.
You're taking responsibility for your education.
It is teaching you a valuable skill, the most valuable skill you can probably learn in life,
which is to teach yourself.
There's some big advantages there.
Disadvantages.
You won't have a degree.
You won't have a coding boot camp certificate.
It's just going to be your portfolio is going to be your strength, and you're going to have
to demonstrate that you can code.
You have no proof of this.
Now, I've talked about this before.
I talk about it in my books.
Start a company, start making apps for that company under your own name.
That's going to give you experience, but aside from that, you won't have a degree to fall
on.
You won't have any internships.
You won't have any connections of people helping you to get a job.
It may take you a long time.
You may get lost.
You're going to have to be self-motivated.
It is difficult to figure out ... There's plenty of resources out there.
In some ways, it's made it more difficult to be self-taught because where do you start
and what do you go after and what do you read and what do you watch?
A lot of people that try to self-teach themself programming today, they end up in 15 different
directions, and they end up spending five years doing this shit because they can't focus
on the one thing.
They don't know which direction to go.
There's no help.
You gotta figure this stuff out yourself.
Those are probably the biggest cons I can think of.
I'm sure there's some other pros and cons out there, but that's it.
But if I were trying to self-teach today, what would I do?
Obviously, I've already told you, I would go Pluralsight subscription.
Duh.
It makes perfect sense.
Even if you didn't, find one of Pluralsight's competitors.
I don't care.
There's a couple other competitors that have big libraries of courses.
I think they have monthly subscription or not, but anyway, you need to get access to
a lot of educational information.
You can search on YouTube as well, but find good resources.
That'll be number one.
Number two, come up with a real, solid plan.
Go look at a college curriculum, go look at a boot camp curriculum, and make your own
curriculum off of that, or if you think you can do it on your own, but come up with a
curriculum and a plan that you're going to follow to progress to become a programmer.
Don't just swing it.
Don't just start learning programming languages.
Don't just start watching Pluralsight videos.
That's just idiotic.
It's not going to get you anywhere.
You need to have a destination in mind.
You need to also have a game plan for getting a job afterwards.
Again, from the very beginning, you need to be networking, go out there, meet people.
If you're doing it on your own, you're going to need allies.
You're going to need people to help you.
One resource I can give you is the Simple Programmer membership community.
You can join there.
Go to simpleprogrammer.com.
We'll put the link in, and go ... You might have to get on the waiting list until we open
it up again because we are pretty exclusive about only letting people in at a certain
amount so that we can have the interaction, have the value there, but that's going to
help you and support you on your way.
Even if you don't join our community, which I think is really good, you should join definitely
the user groups.
You should do that in addition, in your area, the meetup groups.
You should start speaking at those events.
Start your own company.
Start building apps for that company so that you got a portfolio, so that you're strong
when you come in for a job interview that you don't have zero experience.
You have some experience working for yourself, you have connections, you have networking
before you need it.
That's how I would do it.
With that said, I think I'm going to wrap up the video now.
I could talk about this all day.
Like I said, if you want some more details on this, Complete Software Developer's Career
Guide, it's a big tome.
You can find it on Amazon.
I've got an audio version as well, but you want to know what method, what I do today?
It's simple.
I would do the coding boot camp.
I could do the self-taught.
I did the self-taught.
I've done all of them except the coding boot camp, I guess, because I did college as well,
but I did that after the fact, after I was self-taught, but today, I would just do the
coding boot camp.
I would pick a really good coding boot camp.
I'd bust my ass.
I feel like that's the fastest way.
It's guaranteed.
I don't have to figure out what I need to learn.
Someone else is going to tell me, and I can just get started, and I'm going to continue
my education after that if I'm doing that today, but I think that's honestly, in my
opinion, the best way, but make sure you vet them out really well.
All right, guys.
That is all I have for you today.
If you haven't already, click that Subscribe button down below, become one of the Simple
Programmers, join the community if you'd like, and I'd love to share more knowledge with
you about programming, especially if you're on your journey.
It can help to have support.
It can help to have people that understand the struggles you're going through because
it is difficult, but you can do it.
All right, I hope that helps you, and I'll talk to you next time.
Take care.