

Show HN: Learn Web Development for Free with The Odin Project - eriktrautman
http://www.theodinproject.com

======
onion2k
The bar for someone starting out in the web industry is _insanely_ high.
Learning HTML, CSS, JS and a back-end language, plus database design and
enough logic to design a sensible app is a huge amount of work. I have every
respect for someone coming to web dev now. I think myself very fortunate to
have been a part of it for the past 15 years, if only because I've been able
to learn it all over a sensible timeframe.

~~~
josephschmoe
As someone who knows relatively little about web development, yet knows all
about developing desktop applications, it feels a lot like a brick wall. It's
hard to know where to start.

~~~
j_s
Can you list the tools you use to build desktop apps? Maybe someone will be
able to point you towards an environment that would be most comfortable for
you to get started with web development.

~~~
marincounty
I'm not a professional by any mean, and have only put up my own websites. I
found the whole learning process very confusing for years--I would start, then
get frustrated and go ack to repairing watches. The books were boring;
especially the 500 page block typed phone books--without any graphics. Well
things have gotten much better; the books still need improvement, but are much
better. I don't know why someone hasen't used the comic book format to get
across complex subjects--yes, I believe the less words you use to expain
something is Holy. I'm running on like so many teachers do. To your question;
starting web developement. My advise is you don't need to know everything
about all subjects. A good beginning course on web developement, and computer
science is cs 75 at Harvard(it's free, a little outdated, but once you start
to hear the computer lingo--it makes further learning less daunting. Get to
know Firebug, and source page. Look at the source code for simple websites.
Copy it, change it, see how the tags are used(html and css). Everything is
free if you look around. Oh, yea--get comfortable with the command line. You
will eventually need it, unless you just want to do front end work. (I'm not
in the computer industry, but I have heard there are front end designers who
just use html, and css--and get paid?) As to those Coding boot Camps--they
seem great, but look expensive, or have a catch. There's a free one in San
Francisco. They take a percentage of your salary when hired. I looked into
that school and the catch was they pretty much only accepted people with CS
degrees, or the equivenent. These students would ave eventually got jobs if
they studied the right material.(I did copy their curriculim though--It makes
a good map of where I need to go.) Another Boot Camp I looked at was
expensive, and only accepted women. Why just women? I think the founder of the
school knew that Computer Nerds just might question the value of what they
were teaching--eventually. I'm not being sexist--I just know that most women
are not interested in ths stuff, and html seems like science. Good luck to
whom ever asked for advise. One other thing, get regular exercise, and when
you are watching the teaching videos-- rember you can always speed them up--
1.5 was good for me if the teacher was native, and had reasonable diction.
Actually I downloaded all of cs75 on my IPod, and listened to David and the
rest on my nightly walks. After, awhile it all started to fit together. Good
luck!

~~~
j_s
Regarding learning visually, this book series has been around for a while. Not
sure they are the best at holding attention now that there are interactive
online tools like the various codecombat-style places, but take a look:

[http://www.wiley.com/WileyCDA/Section/id-305619.html](http://www.wiley.com/WileyCDA/Section/id-305619.html)

------
conductr
All true beginners need to just start with PHP and FTP. Just like 15 years
ago. It's still the most popular web language for a reason. It's dead simple
and works well with MySQL. That's your stack if you're a beginner. Don't even
worry about frameworks or even JS until you have a general sense of above. You
want HTML and CSS too. Once you've built a couple moderately complex web apps,
you're going to get frustrated with a lack of structure and organization
withing the file system or codebase. That's when you will find a framework
helpful.

Google everything and learn how to view source when you are curious how
another site is doing something. Sometimes it will be difficult to follow.
Sometimes it's like a rabbit hole, but it gets easier to read and trace as
your overall understanding improves.

------
eranation
I like these "learn to code" websites, it helps to get new people familiar
with the topic. But do we really have a need for so many of them? When I
learned web development I googled "<technology name here> tutorial" and it was
enough 99% of the time. This plus knowing the mozilla website for reference +
stackoverflow covers 99% of what I ever wanted to learn regarding web
standards. SQL perhaps is something that needs a bit more structured learning,
but still any "sql tutorial" search will get you probably a good foundation of
SQL.

Is there a real shortage of web developers out there? I'm not so sure. Perhaps
there is a shortage of GOOD web developers out there. And I doubt that a good
future web developer will learn better from a dedicated course rather than
reading the rails tutorial / or watch rails casts on their own.

I mean, learning to learn and finding information by yourself (for me as a
hiring manager) is much more important than what you currently know. I'm
interested in what you could potentially do, not what you already did.

And if you know what you already know by researching on your own and building
your own curriculum then I might be a bit more impressed (although probably I
shouldn't be) - just because this is how I learned web development. By
building things, and Googling things. By stackoverflow, MDN, and yes also
w3schools. By reading the HTML spec, by reading ECMAScript language
specification, by taking academic RDBMS theory course as part of my undergrad
degree. I might be completely wrong, but I would need a lot of good faith to
believe that with an online self contained crash course someone is able to
become a fully qualified web developer without doing some leg work.

In other words a really good web development course in my opinion is a bad
one. It makes it too easy on a new developer, making them think that all the
information will be available for them and every task is broken down into
small edible pieces. I want people to know what it is to be challenged with a
question they don't know and research.

~~~
eriktrautman
You make good points about the need to develop skills for finding information
and learning on your own. I do think, though, that there's a lot of value in
increasing the visibility of that information to increase the efficiency with
which that information can be accessed -- think how Google and Stack Overflow
have changed the productivity of programmers.

Having a good set of resources laid out for me certainly doesn't take away
from the fact that I've still got to learn them but it does prevent me from
wasting time with inferior ones. There's also value in producing and
marshaling those resources because there will always be a set of people who
might have been great developers but never really entered the learning funnel
because they didn't have access to good resources at the time when they were
ripe to explore them.

In terms of ease of learning, sites like codecademy make it extremely easy to
get started but you're certainly not going to be able to learn an employable
skillset by working solely in a hand-holding browser environment. That's why
I've tried to focus on building real (and often difficult) projects along the
way in this curriculum. Start to finish, it will likely take ~1000 hours to
complete.

I guess my points are that A) development will (and should) require a certain
degree of actual effort to learn because that's how you develop problem
solving skills but finding the right resources to do so shouldn't, and, B)
making those resources more accessible helps more people potentially great
find their way to the profession.

------
jonhmchan
Creator of Bento ([http://www.bentobox.io/](http://www.bentobox.io/)) here -
I'm really happy to see more sites using free resources around the web to
build curriculums. There's a huge wealth of free information out there and I
find it strange that so many web development resources charge full-steam ahead
with original content.

That being said, I think there's something to exploring those resources on
your own. The principal problem I've seen with teaching people to code,
especially when confronted with a set track, is that learners start
rigorously, taper off, and never finish. I'm curious what The Odin Project's
approach to this issue is.

~~~
eriktrautman
The biggest problem that early students have is actually getting distracted by
_too many_ resources because it's so easy to get sucked down a million
educational rabbit holes and never actually make real forward progress. I hear
it all the time.

Many of our students start from the beginning and work through the curriculum
in order but more tend to cherry pick lessons as needed to fill in the gaps in
their knowledge. That's fine too and it's why the whole thing is available at
once. The important part about having the path laid out, though, is that it
keeps you accountable for your progress -- you know when you're getting off-
track because you can see each piece of knowledge in the context of the bigger
puzzle. For many, that's what they need to keep them focused.

~~~
will_lam
I think just sticking to one framework is the best way to go - I decided to go
rails because it's the lowest common denominator, stupid amount of resources
on it and approachability for a beginner.. even then.. it's still pretty
damned hard. (for me anyway)

------
jrawls1
I'd highly recommend this resource. It's tremendously valuable to have a
curriculum to follow.

------
hmhrex
I would love to see php curriculum alongside Ruby. Looks like a great
resource.

------
dilys
As someone who always dabbles in the learn to code space, I wonder if more
camps, websites for learning to code can be build on this _curriculum_ , which
is a tough part of dabbling in education.

------
afshinator
That's a lot of work made available for free!

~~~
hopefulwebdev
Indeed! Great website and the groups that congregate there are good people. :)

------
DonGateley
Please include node.js in your curriculum.

~~~
eriktrautman
Node is included in the Javascript course, though the section is optional and
currently still a bit sparse.

------
ecparker
Awesome!

