Hey, what's up?
John Sonmez here from simpleprogrammer.com.
Hey, I just wanted to give a quick thanks to one of our sponsors at Simple Programmer
which is DevMountain Bootcamp.
You should go check them out.
The link is in the description.
They are a coding bootcamp and they can teach you web development, iOS development, UX design,
a lot of good stuff.
I get a lot of feedback from a lot of you out there that email me have told me about
DevMountain, so I decided to check them out myself.
I like what I found.
I like their programs.
They offer some 12-week intensive programs.
They also offer some after-hours programs which I know that some of you will like.
Go check them out.
You can see the link in the description below, DevMountain Bootcamp.
A big thank you to them for sponsoring Simple Programmer.
I got a question about algorithms and data structures in web development.
This is as popular topic.
You can check out all the videos I've done on algorithms and data structures and learning
algorithms here.
I should have a playlist for that.
This question is from Vinny and he says, "Hi John, I would like to start off by saying
your content is incredible.
Your work is much appreciated.
Now, my question (and I'm sure is a question many developers ask) is: How important is
it for a web developer to know data structures and algorithms?
If they are important, how are they used mostly?
Thanks, Vinny."
I'll be totally honest here.
As a web developer needing to know algorithms and data structures, the need for it is not
as high as if you're a backend developer.
If you're not sure what a backend developer is or what a frontend developer is you can
check out the video here I have on what is a backend developer.
It doesn't mean that you don't need to know it and it doesn't mean that it's not going
to help you at all.
Let's think about this for a little bit here.
If you're working mostly as a web developer and mostly on the frontend, what you're going
to be doing is a lot of stuff with the user interface.
You're going to be creating a lot of controls and the visual aspect of it and not maybe
crunching data as much, but that doesn't mean that you're never going to do something that
requires an algorithm or data structure.
The thing is like if you think about it, algorithms and data structures it's like having a really
good toolbox with a lot of tools in it.
Now, you might be able to get by with just a hammer and a screwdriver and a few things.
You might be able to figure out how you can use nails and hammer and screwdriver and screws
for just about anything that you need, but it's not going to be the best and it's not
going to be the most efficient thing.
As a web developer, yeah, you might not need a complicated toolbox, but if you have those
things, if you have that, you're going to have more possibilities.
You're going to have more things—and here's the other thing is that, like I said, as a
web developer, you might not need this stuff and you might see ways that you can use your
existing tools and what you know, but until you understand this stuff, until you actually
take a study and you really understand data structures and algorithms you're not even
going to see the opportunities where you could use them.
You're going to be a little bit naïve.
As a web developer not knowing this stuff you might be getting by on your job and you
might be doing just fine, but you don't know what you're missing.
This is one of those unknown unknowns because you don't—once you see things differently
because you have that ability then everything—they always say that when you have a hammer everything
looks like a nail.
That's sort of the mentality that you can get into when you don't have this larger repertoire
of skills in software development.
I would basically say this, if you're starting out, if you want to get into web development,
maybe don't worry too much about the algorithms and data structures.
You don't have to have necessarily a really, really solid computer science background.
This is where the web—the bootcamps come into play.
A lto of developers go through bootcamps and then a lot of senior developers or experienced
developers say, "Oh the bullcamps—" the bullcamps, they call them bullcamps, right?
"The bootcamps are bullshit because you're not actually learning the real software development
computer science stuff.
You're not actually learning how to create algorithms and data structures and all the
fundamental stuff.
You're just learning how to do the web development part of it which is not—you're not a real
programmer."
Not true, okay?
But you can't stop there.
It's a great boost.
It's a great starting point if you can go through a bootcamp, if you can get enough
knowledge and experience to actually start working in the field, but then you're not
done.
Now you go back and now you learn the data structures.
Now you learn the algorithms.
Now you learn this kind of stuff that is going to make you better and give you a deeper more
thorough understanding and knowledge of your field.
Now this toolbox you're going to know how to use it.
I think a lot of developers that go through college, one of the problems that I see is
that they learn data structures and algorithms or they sort of learn them.
They get through the test and then by the time they get into the real world they've
forgotten most of that stuff because they haven't seen how to actually use it.
If I show you how to use a bunch of tools, if I pull out this—someone who's a real
good woodworker and I pull out their toolbox and I show you the lathe and all the stuff
and I show you how to use all that stuff just in a demonstration, but you're not actually
building anything of real use with it it's not going to stick and it's not going to be
useful to you, right, when you start doing some simple stuff.
If you're already working, if you're already working as woodworker or something like that
and now I introduce some tools to you and I show you how you can use these tools to
make your job easier, wow, that's going to stick with you.
It's going to make a lot of sense.
You're going to understand that stuff and it's going to be more valuable to you.
It's really about expanding your abilities and being able to see problems better through
the lens of someone who has the capability, who has the toolbox that's going to allow
them to be more effective.
That's what you've got to think about.
I'll just basically say this, I'll end with this and I'll say, "Look, if you're a web
developer currently, you should probably invest some time in learning data structures and
algorithms.
If you're not a web developer currently and you want to become one, don't worry about
that stuff for now unless you need it for an interview, but get your web development
skills.
Start working, start actually building stuff and then start learning some of these data
structures and algorithms and you're going to see how you can use them and that's going
to benefit you.
All right, I hope that helps you.
If it did, go ahead and click that subscribe button below.
I do about 2 to 3 videos a day.
If you have a question you'd like me to answer you can email me at john@simpleprogrammer.com
and I'll talk to you next time.
Take care.