← Previous · All Episodes · Next →
Is there a “traditional background” for programmers anymore? Episode 4

Is there a “traditional background” for programmers anymore?

Debating traditional computer science vs bootcamp vs self taught paths into tech.

· 48:46

|

CJ: Welcome to build and learn.

My name is CJ.

Colin: And I'm Colin.

And today we're gonna be talking
about all the different ways that

one can get into programming in 2022.

CJ: There's so many different paths now,
maybe 20 years ago you had to go and get

a computer science degree or get a degree
where you were, you know, learning how to

program or learning how to code in order
to become a paid professional programmer.

But.

Today, there's just so many alternatives.

And so in 2022, we wanted to just
run through our experiences and our

background, getting into software
development and also kind of sharing

different ways that we've seen
other people or our colleagues or

our friends get into tech that are
not necessarily that traditional

computer science background.

Colin: Yeah.

And I think this topic kind of
came up because when looking at our

backgrounds, they are definitely.

That traditional, what everyone
thinks or used to think, what

it takes to become a programmer.

I have a marketing degree, we kind of
talked about our winding path into tech.

In the first episode, we won't do a full
recap of all the MySpace days and things,

but, I think it'll be good to just look at
why are we still clinging or who is still

even clinging to that traditional path?

CJ: If you are thinking about getting
into programming, if you're dabbling

or dipping your toe into it, or if you
just see like, Hey, my friends that are

programmers have pretty nice lives and
jobs and stuff, and that's something that

I would like to do, or I'm interested in
exploring as something that I might do,

then this should be a good episode for
you to help like evaluate some different

options and different paths that you
might take as you're considering getting.

Colin: Definitely before we do that.

You did a Twitter space this morning
about remote work gear, um, with Chris.

And we definitely gotta
talk about these cords.

So what are all the things that
are in front of you right now

that we don't see on video?

CJ: I posted a picture on Twitter.

I might take it down.

I, I didn't actually like look and
double check and make sure it's like,

safe to share, like doesn't have
addresses on things on my desk, whatever,

Colin: it's got your passwords on
the post-it note on your desk and

CJ: My setup on my desk
is an El Gato key light.

I have an a6400 camera that, um,
is this like 4k mirrorless DSLR?

Two laptops.

External monitor.

I have a microphone that
plugs into a focus, right.

That plugs into the cloud lifter.

Plugs for charging phones.

I have plugs for the, you know,
the keyboard and whatever.

Thankfully I have a wireless mouse.

I've got the.

Colin: and save one.

CJ: Yeah, I'm a huge fan of the magic
mouse, but, Colin I gotta tell you

when I moved in, I had a broken ankle.

And so when I first got in, honestly,
like setting up my desk with a

broken ankle, Was a huge pain.

It was like a giant project
for me to like hobble around.

I'm on crutches.

I'm on like, whatever pharmaceuticals,
you know, like just trying

to like assemble everything.

And so I got it set up.

I got it working and I've been working
for the last six months at this desk and

I've just never taken the time to like
go and hook up all of my cords and like

get the cord management under control.

But I'm like super curious to hear your.

Recommendations for cord management,
as someone who runs a collective,

a coworking space that has tons
and tons of desks and cords and

appliances and all sorts of stuff.

I'm sure that you've got a
lot more practice than others

at managing these cords.

So people don't trip on them.

And so they're not hanging
out everywhere, so yeah.

Let's please help me, please.

Help me.

Colin: Yeah, we'll put some things in
the show notes, but the, uh, there's

definitely some for, for anyone who
ends up seeing whatever this video

is at recording, there's some things
like braided, uh, cable managers.

I'm a big fan of like tiny little sticky.

Hooks.

The underneath of my desk has there's,
there's an absolute mess underneath there.

They're all pretty like wired through
different tracks and, and just

off the desk, for me, it's like a
visual clutter is mental clutter.

We'll give you the disability
pass for having a broken

ankle when you first set up.

I also just like, I see a lot of desk
setups on, on Instagram and other places.

I'm not aspiring to have a desk that's
like prettier than, than it is useful, but

it's nice to have things out of the way.

And there's a lot of good cable
managers for the coworking space.

The thing that I do hate, it's like,
I love like having, we have some

pretty nice furniture, but then it's
like, where do you put the cords?

Because everyone needs to plug in
their laptops and you can't have like

extension cords that are ugly and you'd
be surprised, but you can spend quite a

bit of money on pretty extension cords.

There's a company called Conway
electric that makes the, like the most

prettiest like search protects scene.

They're expensive.

And then they're like, we're
only gonna give you two outlets

on this expensive thing too.

So if you wanna go down that rabbit hole,
the whole interior design and, and things.

It's interesting.

It's also interesting just because
of so many people not going back

to offices, I think it's a little
overblown that we're never going back.

It's just that a lot of companies
like, you know, at orbit were

fully remote, but it's hard to
replace that going into an office.

And when you do.

You wanna have power, good lighting,
good desk, you know, sit, stand

desks, whatever that looks like.

So, uh, yeah, we can put
some stuff in the show notes.

Maybe some, some good like
desk setup, Instagrams too.

CJ: Nice.

Yeah, I got.

Extension cord surge protector
thing for our family, that it sits

underneath the couch upstairs to help
manage cords like in the living room.

I just haven't, invested in something
that like that from my desk, but it's

really cool because it has, I wanna
say it has 16 different outlets.

That are, you know, your normal us style
outlet that you can plug into, but it also

has USB outlets, a bunch of USB outlets.

So if you want to charge, you know,
everyone right now in our household

has like 10 devices that all need
to be charged via USB, whether it's,

you know, I don't even know there's
a million, a million different

iPads and, phones and tablets.

Gosh, the kids have all of these remote
control cars now and the remote control

car batteries are all charged via USB.

So having that block up there
has been, has been really killer.

So I don't know, I gotta get something
like that set up for the office.

Colin: Nice.

CJ: yeah.

Should we get into it?

There's like several different paths
that I think people could take.

Maybe we can do some Trailhead.

Colin: Let's do it.

CJ: There's two, buckets
or two categories.

Of paths or ways that you
can get into programming.

And also just generally into tech, if you
wanted to join like a, a tech company.

And so I would say that one of them,
I would call educational where you're

going to go out and intentionally
learn how to become a programmer.

And another one is sort of this like side.

Or backdoor entry into a role where
maybe you're starting in a, a role at

a company that has lots of programmers
and software engineers and developers,

but you are not necessarily, working as
a programmer initially, but you're in

some role that is slightly technical,
that you can then pivot into a role

where you're writing a lot of code.

Colin: That technical support route
tends to be a really popular one,

even through boot camps, because to do
support, you know, you're going to need

to be technical and more, I would say in
problem solving, I think less code, right?

It's.

This, person's reproducing this issue.

And that's what we think about
when we're coding is like, okay,

how do I reproduce this myself?

What do I need to go look at, check on.

And you on working for that company
will hopefully have access to the

tools and, and the data that you
need to go, like, diagnose that.

and, we've known some people who have gone
through that path of technical support.

Okay.

I learn a little bit of code, a little bit
of APIs, maybe it's our internal tools.

And then I get promoted to technical
support manager or make a sideways

move again into junior developer,
level one level, two developer

with mentors from the team.

And, um, you know, it really kind of just
shows that like you can apply yourself.

To problem solving.

And then what other language
that, that takes place in

doesn't really matter after that?

CJ: Yeah, totally.

Maybe we can start with that second
bucket of like the side door, back

door entryway, and that like product
management comes to mind too.

Like if you have an eye
for design and you would.

Really comfortable setting up Figma
templates and talking to users and

figuring out what they need, what they
ultimately really, really, truly need

from the product in order for it to,
you know, function and be successful.

That is a interesting
way to get into, to tech.

And I don't think that
there are very many.

Courses that you can take
to become a product manager.

Like, I don't actually know if
there's a way that you can just go to

university and get like a four year
degree in, in product management.

I don't know if that's a thing, do.

Colin: I don't know, but there is a
really cool kind of boot camp style.

I think it might be at virtual
is called product school.

And like it is a direct path
to becoming a product manager.

They have a lot of free things.

They have a community, they have, Twitter
spaces and, and YouTubes, but then they

have like what you would just think of
as like the bootcamp model for product.

Managers and you've got companies
sponsoring it that want product managers.

If there's also ways to get into this,
without going down that traditional

path, there's a book called the mom test.

That's really good.

Essentially, like when you think
about like, when you make a thing

and you show it to your mom, They're
gonna be like, oh yeah, that's great.

I love it.

Right.

It's sometimes you get that from customers
where, regardless of what you make,

they're gonna tell you that they like it
when really it might not be that good.

And so it's like how to get that critical
feedback, cuz product management,

isn't just like project management.

It's taking customer feedback
and turning it into product.

So if, if you like talking to
people and you wanna be in tech,

like it's a really cool role.

And kind of as like gonna side, like
there was a, there was a funny like meme

going around where if you can plan a
vacation or a trip with more than six

people, like you'd be a really good
project manager or product manager.

because it's like, okay, who's
got a spreadsheet to go camping

and where are we all gonna be?

And how are we all gonna get there
and, and make sure that everyone's

still, you know, where they need
to be when we, when the trip is.

CJ: Yeah, that's a great analogy, right?

It's wrangling, wrangling all the
cats to make sure that something

is built that's useful and is yeah.

Empathetic towards what the
users like ultimately need.

I guess there's also sort of
approaches you can take where

you become a solution architect.

That's teaching people, maybe even
like pre-sales or post-sales teaching,

you know, giant clients or these
enterprise clients, how to integrate

with some product or service.

So I've seen this kind of,
role for Salesforce or for, you

know, different implementation.

Specialists another route
might be like marketing.

If you get into marketing two developers
and just kind of like building up your

chops around all the, the no code tools
that are available for really building

out a growth in marketing engine.

Understanding how Zappier works and
how web hooks works is a great intro

to like, okay, now I wanna write
my own custom JavaScript function

or something that handles this web
hook integration some special way.

Colin: Mm-hmm Yeah, I think that the
whole glue and no code is a great way

to start to think about the concepts.

There's also like these types
of product, school things.

There's things like, hacker news,
or I guess Y Combinator or startup

school, all of that curriculum is free.

If you're thinking about getting into
tech, if you wanna go to apply to a

startup, it helps to know these things.

Like it doesn't mean that you need
to go out and start a company.

Especially if you're trying to get into
tech, probably not a great idea to start

a company, but if you have no other
options, like starting a company might

be the fastest way to getting into tech.

As long as you can either
hire or learn to code.

On the go I guess that also ignores, like
having a safety net, financial safety net

to allow you to that time to build that.

I would.

Definitely recommend learning
on someone else's dollar though.

So getting into a company that is hiring
a junior, or again, like we talked about

going this technical support route,
building up your chops, whether it's

on the job or not, you know, at orbit,
some of our engineering managers really.

Focus on, like, if you wanna
learn a thing, don't try to learn

it on the night and weekend.

You know, you're probably gonna have to
practice it on the nights and weekends,

but like take, take an hour in the
morning and start your day reading

or doing the tutorials that you need.

If it's going to help you, you
know, progress in your skills

because that's gonna benefit.

You know us as a company too,
if it's something that we need.

But it helps to just kind of
immerse yourself in the stuff.

There is an endless amount
of YouTube content out there.

There's an endless
amount of Twitch streams.

There's an amazing, I think,
I think it's still free.

Um, mastermind IO on Twitch.

He runs an entire boot.

On Twitch.

It's amazing.

I think it might also be on YouTube
and it's, it is live like he does

live lectures on Twitch and then
there's assignments and projects.

And so there's so many
different ways to get into this.

And I know we're gonna, this is leaning
now more into the educational paths,

but you know, a bootcamp doesn't mean
that you have to drop a bunch of money.

It might look like a Twitch bootcamp
or a YouTube bootcamp or free

code camp, as options for that.

CJ: Totally.

When we say bootcamp,
bootcamp, if you're not.

Here.

And you're just kind of curious about
learning how to program, boot camp, I

guess, is a term that started becoming
more popular, maybe 20 10, 20 11, 20

12 ish, where there was, a type of, job
training school called dev bootcamp.

And this was.

The model was that you can go to this
bootcamp, you pay like $12,000 or

something, and you're there for nine
weeks and you learn how to become a

web developer and you learn a bunch of
basics for how you can build websites.

And from dev bootcamp, it's
now spun out and there are

thousands of different, yeah.

There's a whole bunch of different
payment models, but, some of

them are you pay your tuition is
based on how much money you make.

after you graduate from the bootcamp,
others are fixed fee there's, a bunch

that are free, like free code camp.

But yeah, when we're talking about
boot camp here, we're talking about in.

Usually we're talking about some
sort of immersive program where

there is curriculum outlined for you.

And there are often cohorts of
students that you will go through

the bootcamp with, that you can lean
on and work with and learn from.

And so that's when, yeah, when
we're talking about bootcamp, that

is one of, I think the educational
paths towards becoming a programmer.

And it's a very popular one, right?

Colin: I love that free code camp and some
of these Twitch models and things exist.

the Twitch one probably is, has more
accountability cuz you are showing up

at a certain time to watch a lecture,
interact, ask questions, things like that.

Free code camp is very unassisted.

So it, it's also important to kind
of think about how you learn a lot.

Learning and getting into tech
is learning how to learn and

learning how you learn as well.

Right?

Some people are visual learners.

Some people are going to need to have
accountability, buddy that they're

learning with or some class to show up to.

And so with the pandemic, a lot of
these boot camps went full remote,

which is also great if you're not in,
you know, a coastal city where most

of these boot camps historically have
been, there are now boot camps in every

state and every city for the most part.

If you are gonna look at a bootcamp,
Definitely look at reviews, check there's

like now sites that review them because
there are some shady boot camps out there.

I think the big thing here is it's
like they came into being, because the

skills that you learn in a computer
science degree, you might go through

four years of traditional education.

You're not necessarily set up
to be productive as a software

developer when you graduate.

It really depends on the school.

The curriculum, all of that, I
think schools are just a little bit

slower to change and they're not
gonna be necessarily teaching you

react and, and things like that.

So it's important to think about
that because the cost for a four

year is going to be a lot more in
some cases than a bootcamp, the

boot camps will take less time.

However, you also don't have a
lot of experience to put on a

resume or things like that either.

Two things for you would be, if you
had to do it all over today, do you

think you would get a CS degree or
do you think you would do a bootcamp,

or a flavor of both of those.

CJ: Reflecting back on my
experience, I think I've, I got

different things from each of them.

So from the bootcamp, there were a
ton of very applicable skills for

being a web developer, in particular.

If you.

Want to become a web developer,
get a job and start making that

sweet, sweet web developer money.

Then I would say go the bootcamp route
the four year computer science degree.

I'm super torn because I, while
I don't think I learned a ton of

stuff in the CS degree that was
directly applicable to my day to day.

I think there is a chance that getting
a four year degree can improve your

career in a few different ways.

Like, number one, if you are really
involved socially in college, you can

build up a network of people that you
can lean on for the rest of your career.

And, you know, that'll
be, that'll be invaluable.

Number two, it's a chance for you
to sort of take things slowly.

And so if you have this four year.

You often might be offered courses
that let you dive deep into topics or

concepts that you wouldn't otherwise be
exposed to for instance, like compiler

design or, you know, computer vision or
these weird things that are pretty fun.

I think if I was gonna do it
again, what I would recommend.

Maybe try and go get several internships
or take a year off between high school

and college and go, try to build a bunch
of stuff and then go and get a CS degree.

Once you realize like the benefit
of understanding data structures

and algorithms, or you understand
why it might be nice to know how.

Yeah, how compilers work, because I
think when you go, when you jump straight

from high school, right into college,
you just do your four year degree.

It's an extension of high school and
you don't necessarily value the content

that you're going through as much
as you would, if you knew it later.

I honestly have joked often about the
fact that I think it would be super fun

to go back now and redo the CS degree

Colin: been thinking of that

CJ: Exactly.

Colin: Think what you, what you
said about valuing it, you know, the

other word would be like, I, I didn't
appreciate it when I was in, in college.

Right.

Like at the same time, I think back
would, I wanna sit through that again

and that's where it's, I'm not sure.

Right.

And cuz like for me, I
don't have a CS degree.

There are things that I wish that I had
sat through in those classes and I've

even looked at like, The open courseware
for MIT and things like that to just

see, like maybe I just do the coursework,
but not sit through all the stuff that

a university makes you go through.

What I've always thought would
be interesting is thinking of

boot camps as almost like a
finishing school after CS, right.

That.

CS is gonna teach you a lot of the
fundamentals, the data structures,

the stuff that, you know, computer
vision and compilers is never gonna

come up in web development bootcamp.

Right?

It's there's not enough time.

You're not gonna use
it in your day to day.

But when you see some of the
really interesting talks that

like, I think there was like the.

There was a really good Ruby talk at the
RailsConf that's like, you need to be a

computer scientist to figure this out.

I don't think he had a
CS degree necessarily.

He just learned it as he went,
but having that appreciation and

learning, just like a bootcamp.

It also depends on what school
you are going to, what program

and what they're teaching.

There's a really cool program at schools.

Now that's called human
computer interaction.

So you can get a degree in that instead.

And so that one might even set you up.

If you wanna be a designer.

Or a product manager, right.

Where it's not only the coding of it,
but it's how do humans interact with

technology and how do we think about that?

I think the challenge, I don't
blame universities for this is

that the surface area for what
to there is to learn is so large.

The thing that I see most with computer
science grads is that they have never

worked with someone on a project before.

And I think this is like, you know,
the idea that schools are afraid,

people are gonna not do an assignment
themselves and not be able to code

by themselves, but like you don't
build everything by yourself.

And so knowing how to collaborate
on GitHub and use git, or

any of those kinds of things.

That's just one piece of the puzzle.

And you know, that finishing school
idea would be like, how do we help you?

Like drop you into a group
project, learn how to collaborate.

You're not always gonna be right.

You know, stuff like that.

CJ: You mentioned it's really important.

Which school you pick for your bootcamp,
but also for a four year degree, two

year degree, whatever educational
program you're gonna go through.

Definitely do your research beforehand.

There are some computer science
programs that have produced engineers

that I have worked with that have
been far in a way better than others.

And in particular, um, the Oregon
Institute of technology, O I T.

Has a stellar program.

I don't know, like a lot of details
about the curriculum, but the folks that

I've worked with that have come out of
OITs program have been just phenomenal.

And so when we're talking at like
looking at comparing, maybe someone who

graduated with the CS degree from UNR
versus O I T versus Carnegie Mellon or

MIT or something like that, you're gonna
have very, very different experiences.

Look at all of the requirements
for that four year.

That are not actually about programming.

What is all the cruft that you have
to get through just to get the degree?

Like, you're gonna have to go learn a
bunch of maybe, I don't know, whatever,

like, yeah, I know I don't wanna bag on
humanities, but I think that's another

thing that you underappreciate while
you're in college and you're just like,

oh gosh, I just wanna get through this
music appreciation class or whatever.

But like now I would, I that's another
category of things I would love to

go redo is like, I wanna retake music
appreciation and core humanities and

all this stuff now that I kind of have.

Time to do it slowly and appreciate it and
not just rushing through tests and mold.

Colin: I don't know if
you've encountered this.

There are a shocking number of really good
developers that I have interacted with.

The last decade that are all from
CU Boulder, the school of mines

specifically, like, and which was really
interesting to me because at Nevada,

at UNR here, we have a strong school
of mines as well, but I don't know

that they focus very heavily on tech.

Like I was like, what is it
about mining that is producing?

Software developers.

and it was really interesting, there's
a, startup accelerator called Techstar.

That's based outta Boulder.

They just farm so many
developers out of there.

And it's amazing, like it's
in their backyard and maybe

it's a chicken and egg thing.

Like, I don't know which
one was there first.

Right?

Is it, was it because there are
startups hiring people that.

The curriculum and the students just, you
know, learned what they needed to learn

or, you know, are there a lot of startups
happening because the school is there

and they're producing great developers.

We don't, we don't really know,
but, schools like OIT Boulder, most

schools, you know, it's gonna be hard
to find like, is it a good program?

It's more like, is this a muscle
of the school or is it just like,

they tacked it on to say that
they have it more, more than.

CJ: Yeah, it'd be interesting too, to
have like talk to one of your friends

or find someone who is in tech, who is
a like professional software engineer

and show them the curriculum and ask
like, is this curriculum actually gonna

help me when I get a job in the future?

And if you're learning, like, I
don't know the theory of finite,

autonom like, probably not.

Colin: Or, or even asking them
like, what do I need to add to

this in my extracurriculars, right.

To be productive.

Right?

Like I'm gonna learn these
things through my school.

Awesome.

Because I do think like there's a little
bit of a, having a degree is going to

get you through a lot of interviews.

That might not.

And it's an unfortunate reality.

I think a lot of people are
getting hired without degrees.

Now that's becoming less of a thing.

I'm gonna waive the flag for the fact that
universities should not cost what it does.

It should not be putting
people into extreme debt.

If you can do a in-state school,
that's cheaper and it has a decent

program and you can augment it with.

GitHub university classes and,
and learning Stripe through

the Stripe docs, right?

Whatever that is like, do it.

I would not put yourself into extreme debt
because while you will probably be able

to make a good income afterwards, right.

You still gotta now dig
yourself out of that hole.

When you could get to the same place
without putting yourself in that hole.

And that's a really understated thing.

You see the same with
doctors and lawyers, right?

It's like, we're gonna go into
a lot of debt and we're gonna

rationalize it because we're gonna
make a lot of money on the other

side, but it will take a long time.

And it does weigh on you.

And, you know, we both talk about
kind of personal finance stuff

a lot and getting out of debt,
especially for school my degree does

honestly does not come up a lot.

And so I'm glad that I, it didn't take
me very long to pay off, the school.

Cause I think if I was still paying it
off, I would feel a little bit differently

about the whole system right now.

CJ: mm.

Totally.

Yeah.

In terms of extracurriculars
too, those are all great points.

I think another thing that I did not
do, but that I would recommend if

you are doing one of these four year
programs is to get summer internships,

go out and get summer internships.

Every single giant tech company has them.

They start usually sourcing
for them in the fall.

And then you start in the spring.

I know that Stripe does this.

I know that Google does it.

You know, all of the, all the
big companies are gonna have some

sort of summer internship program.

You'll come in, do like nine weeks
of usually it's highly paid work.

Sometimes it's not paid, but typically it
is highly paid and you'll do a project.

You'll ship a project.

You'll learn how to
work with other people.

Depending on the size of the company
and what team you get placed on.

Sometimes you might get garbage
projects, but other times you might

get really big, meaty, impactful
things that you can work on.

That's another awesome
bullet for your resume.

If you can say, oh yeah, you
know, this summer I worked at,

Netflix in that summer, I worked
at Stripe and this other summer I

worked at Google or whatever, like

Colin: You can just start
collecting all those Fang, those

CJ: up

Colin: jabs.

CJ: F badges or whatever.

The other thing I wanted to mention
too, was that there are boot

camps that, Especially set up to
serve underrepresented groups.

So here in the Boston area, there is
a bootcamp called resilient coders.

I've worked close with Nick de Jesus,
and I know that is a, an awesome

bootcamp for black and brown folks
that are wanting to get into tech.

There's also, she codes that I owe.

Lots of opportunities to get into boot
camps that are, set up for under

represented folks that, and if you're,
if you identify as someone that fits into

one of those groups too, there's A lot of
opportunity to enter a pipeline through

a bootcamp where you'll go through the
bootcamp, learn some set stuff, and then

be, set up really well to get into the
job market through things like the black

tech pipeline or similar, uh, programs I
know in the Ruby community, there's this w

NMB dot RB for women and non-binary Ruby.

That's another like really great
organization that helps folks find roles.

There's boot camps that are,
specialized for folks that have

been previously incarcerated.

So there, there's kind of like a
lot of different flavors of boot

camp that might also be interesting.

Colin: Yeah, I think we started
out talking about how there's

so many different paths.

And I think the important thing too is
it's like not, everyone's gonna have the

same amount of time, attention, money.

Sources.

And the beautiful thing is that there
are these, you know, specific boot camps

for underrepresented groups, but then
there's also these, like, you know,

when do I have time to learn to code?

If it's only gonna be at night, there
are going to be options, whether it's

free code camp or joining, you know,
meetups like, w N RB, things like that.

Because you're also gonna.

Pairing yourself up with, you know,
and creating an accountability group, a

friend group, a peer group of people who
are in the same place as you learning.

And so while it can be great
to find a mentor, that's also

a little bit ahead of you.

Having somebody go through that with
you is also gonna help is I think the

same thing when I'm training for a
race, it's like, I need another person

that I know I'm gonna go meet to go
for a run sometimes to make it happen.

And if we're learning
things together, we can.

Teach it to each other.

That's a great way to learn.

Right.

You know, kind of echo it back.

Sometimes people are like,
oh, you gotta work harder and

you gotta find another job.

And it's like, getting into tech
can really change somebody's

life and, you know, in a really
quick and meaningful way.

And so I love.

There are all these opportunities now.

And, and if you're looking for
ways into this and haven't been

able to find, uh, clear path, I
invite you to reach out on Twitter.

I think you mentioned it down below, here.

Meeting other devs and just kind
of dipping into the dev Twitter

world a little bit can help.

It can be a lot at times too.

So, you know, dip in,
dip out as you need to.

But if you have any questions about how
to get started or are not finding things

in your area, definitely feel free to
reach out and we can kind of amplify that

and, and find some resources for you.

CJ: Totally.

So I think maybe could we jump into
languages, like specific languages

that you might pick and then we
can wrap up with our like advice

for getting into programming.

Colin: The age old, question
CJ, what language should I pick?

CJ: I think I've seen this
like a million times, right?

Like what language should I learn or
I wanna get into coding, but there's

so many different frameworks and do
I need to learn, react or SELT or.

Should I learn a licker.

Should I learn R it's like, okay, hold on.

pump the brakes a little bit.

What do you actually want to build?

If you go into, a home Depot or Lowe's
and you go to the tools section.

You don't just say like, do I want a saw
or do I want a hammer or do I want like

this other, like a, a Jack for my car?

It's like, okay, wait a second.

They all have very specific purposes.

Programming languages are pretty similar.

Some of them are gonna work
better for certain use cases

and certain applications.

Let's just like, maybe get
into it a little bit in terms.

What things that you might
build with certain languages?

I think both Colin and I have a lot
of experience on the web and we don't

wanna like necessarily discount all
these other software engineering routes.

So we'll try to do our best
to also highlight what we

know about some languages.

This is not a comprehensive list, but
we will definitely tell you what we

think you should learn for the web

Colin: And well, and before we jump
into specific ones, I would say,

there's, there's picking a tool for
the specific thing you wanna build if

you're learning, but then there's also
going to be, I guess, we'll, we'll get

to it as we get to each language, but
there, there are going to be some that

are gonna be faster paths to a job.

Learning some of these,
some of the less used jobs.

And we talked about this in the
stack overflow survey, right?

There's some that are
highly paid right now.

There are some that are
highly in, in demand.

And so picking the least of
in demand programming language

is probably not the best bet.

But at the same time,
there's still just tools.

And ultimately you're learning how to
code, not how to code PHP or learning

how to code in Ruby, Javas, et cetera.

CJ: Just like learning
how to code in general.

I think it's also sort of surprising how
after you've learned two languages, it's

really easy to pick up a third language.

So when you're learning your first
language, it's kind of uncomfortable

when you're learning the second language,
it'll feel confusing and weird, but.

After after you've got like a couple
under your belt, it's usually pretty

easy to pick up a third, fourth, fifth.

So it's, it's not uncommon for
you to like know or be comfortable

in one programming language and
get a job in another language.

And they'll just like your
company can expect that.

You'll learn it as you go.

Number one.

uh, I think, yeah, I would, I would say
this is probably the number one language.

Should we start from the number one
or should we start from the, like

Colin: I didn't realize
these were stack ranked, so

CJ: I sort of, I mean, I don't
know, they're not necessarily stack

ranked, but I put them in order of

Colin: I think this looks like a pretty
good order of getting a job, um, and speed

to which you can build a thing, because I
think the challenge with some languages is

that you might be able to just build the
back end and then now you gotta go learn

another thing to build the front end.

So starting off with JavaScript, we
can try to get best of both worlds

and you're gonna interact with tools.

You already have like browsers that
you have for free on your machine.

CJ: Yeah.

So the first one is
JavaScript slash type script.

if you don't know anything
about programming, you can just

think of type script as like a
special version of JavaScript.

That's like a little bit more advanced.

JavaScript is different from Java.

And it's very different from Java.

So Java script is the programming
language that runs in your browser.

It is how you can make interactive
experiences like Google calendar, how

most modern web applications are built.

And you are not using any application
on the web today that does not

have JavaScript, probably, maybe
some bank websites or something.

Colin: Craigslist.

CJ: Yeah.

Or if you're like on tour, right.

Like because yeah.

Uh, whatever.

Yeah.

So JavaScript and type script
are, great to learn because they

run in the browser, but they also
run in a ton of other places.

What is like the weirdest thing
that you've written in JavaScript

or like the weirdest place that
you've run JavaScript before.

Colin: I have written
JavaScript on a robot.

It was called Johnny.

I think it was called Johnny
five or something like that.

It was pretty cool.

I think it was like a node
package called Johnny five.

CJ: Nice.

So there, yeah, I, I definitely have
seen people building things with drones,

with robots, with like little leg.

Stuff.

So it's something that you can
use outside of web programming.

It's also something that you can use for
building these interactive experiences.

You can also use JavaScript and type
script what we'll call like on the

back end, which means on the server.

Which is interacting with the databases
or interacting with other services through

APIs, which is kind of like crafting what
is ultimately delivered to the browser.

You also will see JavaScript
in a bunch of, you know,

these no code, low code tools.

So inside of air table, you can sort of
sprinkle in a little bit of JavaScript

to make your air table do custom things.

Or if you want to deploy a Lambda
function, or if you're working

on cloud flare workers or.

If you're inside a Google sheets,
there's just so many different places

where you can run and use JavaScript.

Colin: I would say the next
one, you kind of need to know

if you're gonna use JavaScript.

It it's definitely changed, but
so HTML and CSS, it's the least

like any of these other languages,
cuz it's for structuring content is

ultimately what you're doing with HTML.

But everything again that you interact
with on the web is comprised at the end

of the day of JavaScript, HTML and CSS.

This is one where I don't envy
people learning it today versus

like kind of growing up with it.

But the other side of that is you didn't
have to do all the things that we had

to do back then to make things work.

So it's a lot nicer and cleaner.

There are, you could choose
to go learn it using tailwind.

You could learn how tailwind was
made and like go, you know, just.

Raw pure CSS, which I do encourage
so that you understand how it works.

But it's really going to be like the
foundation, you know, when you're

building the house, it's the foundation
and what the, like how many rooms

are there and what, what color is on
the walls and all that kind of stuff.

CJ: Totally.

Yeah.

HTML and CSS.

That's gonna be your structure.

I would say, yeah, HTML is the
structure of CSS is the styling.

We mentioned tailwind.

Tailwind is a set of like pre-built CSS
things that make it a little bit easier

to work with and make it really beautiful.

in every single one of these language
is gonna have like libraries that you

can add on or use so that you don't
have to write everything from scratch.

Colin: Well, and I would say the
other reason is that you don't

also have to be a designer, right?

It's like, you can know what good
looks like, but it's really hard

to make things that look good.

CJ: it is super hard.

Yeah.

Colin: a lot of people are like, oh,
well, I'm not good at, you know, design.

So I can't be a developer.

And it's like, there's a lot of
developers who never touch the front end.

There are a lot of front end developers
who wish the peop back end people

don't touch the front end too.

vice versa.

So that's HTML.

So the rest of these are pretty focused
on like, they, I guess could be front

end in some world, but, Python and Ruby,
these ones are compared a lot there are

startups that do everything in Python.

There are startups that do everything
in Ruby, usually with Ruby on

rails or Sinatra, something like
that or I think at Stripe, you

guys don't even use rails, right?

You guys are just one big old Ruby app.

I think you're gonna see a lot of
boot camps that focus on these two.

There's a lot of boot
camps that do JavaScript.

Front end and back end.

Almost all of them are gonna touch
HTML and CSS, but then you're

probably gonna find boot camps.

So like we teach Python
or we teach Ruby on rails.

So again, this is gonna really,
to kind of depend on what kinds

of companies you wanna work at.

If you're not choosy about what kind
of companies you work at, and you're

gonna learn the language and then
go find the companies that use it.

We both have pretty extensive
experience in Ruby and rails.

Somehow I have dodged writing.

Hardly any Python in, in my

CJ: Oh, really?

Okay.

Okay.

Colin: just has never really happened.

I think I've written like 20
lines of Python in my whole life.

So, that might, that might need to change,
but, yeah, anything to add on those two?

CJ: Just that Python is also
used a lot in academia for people

who are working on math degrees,
they're working on data science.

They're trying to do
some machine learning.

There's a ton of utilities built.

Four Python that make doing
machine learning stuff easier.

And Python is also one of the languages
that you can interview with at Google.

So it is, I don't know, that might be
a reason that you might wanna learn it.

But interestingly, none of the languages
we've talked about yet are languages

that I learned in a four year CS degree.

So we'll keep going.

uh, yeah.

Colin: So the next one is PHP,
which I think is one of the

first web languages that I used.

Um, it's a little bit different in that
it lets you run PHP on the back end.

You can run PHP in line
of HTML on the front end.

It's kind of like server generated
front ends, and WordPress uses

this, so it's very popular.

CJ: Totally.

Yeah, we've got C sharp
and F sharp up next.

These are like microsoft.net, languages.

They're commonly used in enterprise.

With windows stuff, Azure, you can make
games like Xbox games, in C sharp.

And I think probably also using things
like unity and whatever you can also use

both of these languages for building on
the web, through.net core and asp.net.

C sharp was a language that I wrote a.

Early in my career.

And then I took a huge break and
wrote a bunch of Python in Ruby.

And recently I started playing around
with it and it's, it's a great language.

It's really fun.

And it's really powerful.

It used to be much, much more verbose, but
now it's getting more and more concise.

We've got several other languages here.

We've got Elixer Java.

These are both gonna be, you know,
a little bit less common SQL and

R are two languages that you might
hear a lot about in the data space.

Like if you're working with databases
directly, you might write a bunch of

SQL R is another language that you
might write a bunch of like MATLAB code.

I think I wrote like a tiny bit
of this in college, but not a ton.

And then here's a bunch,
here's a list of languages.

I would not invest in learning
unless it was required for a

job that you're already working.

Fortran Cobal VBA objective C Pearl.

These are all kind of like languages that,
were really common like 30 years ago.

And you will still see some
applications written in them.

And ultimately like eventually people
will be highly paid to maintain these,

but I would not go learn these as
your first language by any means.

Colin: What, what do you
think about learning?

I know like a lot of TMY classes
and things are teaching people how

to learn, how to code using swift.

What are your thoughts there?

CJ: Yeah, so I didn't add swift
to the list, but I, I would say if

you're gonna build any like Mac app
or iOS app, then I would learn swift.

But that said you can use JavaScript
to build Mac apps and iOS apps through

electron and through react native.

So.

Colin: Yeah.

I like swift, but I do think it
limits your potential, right?

In terms of like, you're still gonna
learn the foundations of programming.

once you learn what a four loop
looks like once you understand what,

functions in classes and iteration is,
it's really learning, like what does

this language have and not have, and,
you know, do they have types or not?

And so it's not learning
the language itself.

It's learning the, the
individual data structures.

And components of it.

And like with swift, it's like a
beautiful language, but if you only

can run it on two different devices,
that's just gonna limit the jobs.

Right.

You can go work at apple, you can work
at companies that make apple apps.

You can make your own
app, things like that.

But, all said, where should people start?

If they come to you and ask,
what language should I learn?

CJ: I say learn JavaScript.

And then I am a little bit partial, but
I say then learn Ruby and Ruby on rails.

I think like, honestly, I don't actually
know CSS very well or like at all.

And so I lean heavily on CSS frameworks.

And so I don't think that
one's too, important, HTML is

important, but it's also like,
there's not a ton of surface area.

So I think you can.

HTML pretty quickly.

So I would say, start with JavaScript,
learn a little bit of HTML, a little bit

of CSS, and then learn Ruby, learn rails.

That's my like preference, but
Python is also, I think probably

equally valuable to learn.

Colin: Yeah.

I mean, there are Japanese satellites
running Ruby, so it's gotta be

good for something right now.

We, both write Ruby pretty much
daily or at least I know I do.

It's like my go-to when I want to.

Build something from scratch.

And like you mentioned with HTML
on CSS, if you're gonna be building

your own projects, you're gonna
like there, isn't gonna be someone

else to write your HTML on CSS.

So you're gonna have to dabble in
it, be familiar with it, learn how

it's loaded and how, how it works.

You don't necessarily need to
know every little thing about the

flex box and the box model and all
these different kinds of things.

So, that's kind of the language rundown.

So kind of closing thoughts here.

Do you have any like last minute advice
for people who are thinking about

getting into programming or maybe
they don't think of themselves in this

quote unquote traditional background.

How do they make the move?

How do they make the
switch into programming?

CJ: Whatever, like language you
decide or whatever path you decide,

stick with it and be persistent.

Whatever you choose, stick with it.

I think there's a couple different
things that can help a lot.

One is learn a hello world and then go
through some interactive coerce, like

on code academy, try to build something
real on a cloud IDE like relet or glitch

where you don't actually have to have
an environment set up, start connecting

with other developers on Twitter.

There is a hashtag called a hundred days
of code where you post a tweet every

day for a hundred days of what you're
learning, that can be really valuable.

And then, one other plug was that
exorcism.io is a great website where

you can download, little exercises
and programming languages and publish

your solution and get reviews by other
experienced programmers that have,

used that language for a long time.

So that's in a nutshell,
but I would tell people.

Colin: Yeah.

I like exorcism a lot more than like
the leak code or hacker ranks, cuz

those are a little bit more like you're
gonna get the same kinds of algorithms

and challenges, but it's just like more
of a community than those other ones.

Like.

Those are the tools that
you might need to, to grind

through, to get a job interview.

But exorcism is just like a lot
of fun and you get to use your own

tools, your own IDE and stuff like
that to, to do the, the problems.

One that I would take a look
at is called, roadmap.sh, which

I'll put in the show notes.

I will preface this with, do not be
overwhelmed by the amount of things

that are on some of these maps, but
basically they offer these roadmaps

for different types of developers.

And so I would mostly focus
on front end or back end.

I haven't looked at the individual
language ones, but what's really cool

is that if you know, you wanna be.

On the back end, it kind of gives
you this roadmap of things to learn.

And that doesn't mean you need
to be an expert in every single

one of these things, but you can
see how things are connected,

like version control and hosting.

We didn't really talk about.

Development environments, like
you mentioned with relet and

these web web ones, right?

It's like, you need to become really good
at using your own computer, using terminal

and moving around the file system.

So you're gonna kind of like layer and
build up this knowledge, over time.

And then you have these like,
choose your own adventure moments.

I like, if we think about this as
like D and D or a video game, like

you only have so many points that
you can put into different skills

and you can't max them all out.

So you're like, okay, I'm gonna
lean a little bit more on the

back end and I'm gonna get really
familiar with get, but okay.

I don't have any more
talent points to go put in.

Like, how am I gonna build a CSS framework
from scratch or something like that?

And then just like a game too.

You're gonna have these points
where you choose a path.

Doesn't mean you can't go backwards
and go down a different path.

It's just, you know, choosing
a language is probably gonna

feel like one of those paths.

And then as you start to level up,
you get to learn another language.

We can start to think of it as like
a, like a role playing game there.

There should just be a role
playing game where you learn.

Program.

It's like, you got to level 30 and
you get to choose a new language.

CJ: So I think some of the, like
some of the stuff that's used at

like the elementary level right
now actually does work like that.

Colin: Like code combat
and stuff like that.

CJ: Yeah, yeah, yeah, exactly.

Yeah.

So my kids go through some
of those programs now.

I'm like, whoa, I wish I had this.

I was a kid.

Colin: Yeah.

You're like, you're building up
your, you got an extra point in

HTML and you're a Ruby master.

CJ: Yep.

Colin: Awesome.

We'll put all these
links in the show notes.

This is, talking to you in the
future, I guess, but we're gonna

be, rolling out episodes looks
like at the beginning of August.

So build and learn will officially be
live and, welcome to episode three.

where can people find you and all
the things that you're doing online?

CJ?

CJ: So I'm, uh, at C J dev on Twitter.

And if you head over to C j.dev,
you can find links to articles and

videos and stuff that I'm working on.

So what about you calling.

Colin: Awesome.

Yeah.

And I'll do a quick plug for CJ's own
YouTube channel, where you can learn to

code, in very different, languages and D.

Examples, some videos of you
learning to code with your kids in

Minecraft and some other places,
which can be a lot of fun too.

So for me, you can find me at Colin
Lorez on Twitter and basically

all of the internet places.

So definitely feel free
to give us a shout.

If you have any questions about
this episode, or if you're looking

for any resources on where to get
started and we'll see you next time.

CJ: cool.

Bye friends.

View episode details


Creators and Guests

CJ Avilla
Host
CJ Avilla
Developer Advocate @StripeDev. Veteran. 📽 https://t.co/2UI0oEAnFK. Building with Ruby, Rails, JavaScript
Colin Loretz
Host
Colin Loretz
I like to build software and communities. Building software at @orbitmodel 🪐 Coworking at @renocollective 🎙Sharing software learnings on @buildandlearn_

Subscribe

Listen to Build and Learn using one of many popular podcasting apps or directories.

Apple Podcasts Spotify Overcast Pocket Casts Amazon Music
← Previous · All Episodes · Next →