
Ask HN: I want to be a programmer - youngcodre
Any good books or screencasts or anything to get my feet wet on become a web developer? I like udacity but it costs money and don&#x27;t have money for it.
======
tmaly
I always thought the head first series of books were great for beginners

~~~
dorfuss
Depends how old you are and if you had any previous experiences with
programming. I tried this with Java and it was difficul to go through the
sometimes idiotic jokes, dialogues and pictures. If you are 13, they are cool.
I was 29 and they were less so.

And also it's really boring to read basic stuff about variables, objects,
pointers if you already know anything about these.

When I was learning HTML when I was 12 my math teacher told me to open any
website and mess around with the source (and get hosting from Anglefire ;))

Later I read a simle step by step description of html tags. CSS and styles in
general were a novelty back then. I later learned about JavaScript. Based on
my experiences I'd recommend w3school - I think the basic html course is very
good. Take notes - no more than 10 pages from the entire course, use two
colors - one for the code, another for your comments. Use plain text notepad
for editing code.

------
quantisan
[https://www.codecademy.com](https://www.codecademy.com)

------
lnk2w
[http://www.freecodecamp.com/](http://www.freecodecamp.com/) and
[http://www.theodinproject.com/](http://www.theodinproject.com/) go from zero
to employable. The first it's JavaScript and the second ruby

------
cblock811
[https://freecodecamp.com](https://freecodecamp.com) looks pretty good. Takes
you from html/css through javascript, has some algorithm challenges which are
pretty fun. Worth checking them out

------
atemerev
Web developers learn by practice. Reading books is fine, but you need to
actually start coding as soon as possible, before even opening the first book.
Google everything you don't understand, try everything you read about in
practice. Here are some key points for you.

1) Choose Javascript. It will be the universal Web language for years to come,
both at browser and backend. 2) If you don't know it yet, learn simple HTML5
and CSS first. How the document is structured, what are simple tags (you can
do nearly everything with div, span, p, a, button and img, by the way). Write
a few simple HTML pages. Try various CSS styles on the same page and see how
it's changed. Use a simple text editor for it (I recommend Atom).

CSS is roughly subdivided into layouts and styling. Layout is the way various
web page components arranged on the screen. Style is the way they are
displayed (like colors, borders, fonts etc.) Here is what you should start
with:

Layout: Use Flexbox. Ignore older CSS layout properties like "float", "clear"
etc. Try all examples from [https://css-tricks.com/snippets/css/a-guide-to-
flexbox/](https://css-tricks.com/snippets/css/a-guide-to-flexbox/) (like
copying them into your own CSS file and see how they work). Add "margin" and
"padding" properties to your items and containers to see how they work and
what can be changed. Styling: learn following CSS properties: "color",
"font-...", "text-...", "background-...", "list-...". This should be enough to
get you started.

Now, you can replicate a simple web page, like Hacker News. Do it. Then, make
it better looking. :) Continue learning the rest of CSS from here. Continue
replicating (and improving) other web pages.

Then, start learning Javascript. Open your browser's development console
(Google how to do it). Write your obligatory Hello World:

console.log("Hello, world!")

Press Enter. Congratulations, you are now initiated on the path of software
engineering.

Start with client-side development (manipulating page elements in response to
some actions).

Download the last version of jQuery and include it into your page's scripts.
You can start without it, but everyone uses jQuery anyway (until you get to
React, which is some advanced level not covered here).

Create a simple Web page with a button and some text.

Read jQuery documentation and figure out how to:

\- Change the text when the button is pressed \- Delete the text when the
button is pressed \- Add another button when the button is pressed \- Make
this added button also adding a button when pressed, etc. \- Go to another web
page when the button is pressed.

Now you know the basics of client-side scripting. Continue from here, try a
few more things from jQuery's documentation. Time to move to the server side.

Install Node.js. Run node.js web server. Write a simple server that gives
something in response to your page request: [http://blog.modulus.io/build-
your-first-http-server-in-nodej...](http://blog.modulus.io/build-your-first-
http-server-in-nodejs)

Go back to jQuery documentation. Read how to use ".ajax" method. Write a
function that replaces some text on the page with the response of your Node.js
server.

Congratulations, you are now newly minted web developer. Think of some ideas
you can do on your own. Learn some most popular web frameworks mentioned in
job requirements (probably Bootstrap, and you are already learning jQuery).

Learn how to debug your code (with browser's development tools). You'll have
to use Google a lot and read lots of docs, this is expected. Be confident that
you can find the answer for your every question, on your own.

Then, go create!

------
tnecniv
I'm not a web developer, so I can't add specific resources, but I'm going to
suggest that you read everything you can get your hands on. That includes
getting on programming forums, where you can ask questions, read other peoples
questions, answers, etc.

It's the second best thing you can do after writing, and I bet you can get
hired as a web dev without spending a penny. There's a lot about web
development on the internet.

------
siquick
[http://www.onemonth.com](http://www.onemonth.com) have some good beginners
courses on Django (Python framework) and Rails (Ruby framework).

Both of these courses give are a good place to start and by the end of the ~4
hour course, you will have built a real-world application (Pinterest and Yelp
clones) and give you a decent grounding in MVC.

~~~
pma
"Any good books or screencasts or anything to get my feet wet on become a web
developer? I like udacity but it costs money and don't have money for it."

Did you read what the OP asked for? Even though OP said he does not have the
money to pay for web training,you still went ahead to suggest this paying site
to him.Too bad.

------
urs2102
SICP is a great book to start with although it's not about web development
(src [https://xuanji.appspot.com/isicp/](https://xuanji.appspot.com/isicp/))
and like lnk2w said, The Odin Project is something I usually recommend to
people interested in web development.

------
Raed667
Check OpenClassrooms[0] a simple MooC with a support forum. I'd suggest that
you'd start with basic Python and JS courses if you want to build quickly. Or
that you'd check their C/C++ courses if you need a solid background.

[0]: [https://openclassrooms.com/](https://openclassrooms.com/)

------
moosov
If you want to develop simple websites, then start to learn HTML and
JavaScript.

------
pedrodelfino
Codecombat is also nice. And They were funded by Y Combinator.

~~~
mod
+1 to codecombat, especially if you find yourself easily distracted. It has
you "playing a game" of sorts, which keeps you (or me, anyway) pretty focused.

------
pedrodelfino
CodeHS is quite cool for begginers

------
percept
YouTube

~~~
Zezima
I am going to have to suggest against this. In general, the programming
YouTube videos suffer usually suffer from either a lack of good lesson
planning or long, extremely boring, lectures.

I've found a video here and there to be quite helpful, especially when I'm
trying to rapidly learn something. For some this is the primary utility.

But as a long term learning resource, they're disjunct, inconsistent, and
generally time consuming.

I've fallen in love with programming books which teach through code example.
The one I've read most recently is "Node.js in Action". Love it.

