views:

522

answers:

14

I am about to start working with web development after doing (non-web) server and client development for about ten years.
I'm not looking for info on any particular framework, library or about TCP/IP.

What I am looking for is reading (dead tree or online) that will help me understand the different challenges and terminology that is necessary knowledge for a web developer, given that I'm a fairly experienced non-web developer.

EDIT: I can see that many people read this as "how do I learn web development". This is not what I'm asking. I'm asking for reading...

+2  A: 

Try the Head First series.

I have 5 of them.

'Head First: Web development' is really nice, but so are all the others in that series.

http://www.amazon.co.uk/s/ref=nb_ss_w_h_?url=search-alias%3Daps&field-keywords=head+first&x=0&y=0

Head First Object-Oriented Analysis and Design is really good when you go more towards web applications (websites that do stuff, that act like normal programs on your pc)

Thomas Stock
Sounds very much like what I'm looking for...
Niklas
+8  A: 

Don't Make Me Think is an excellent book on things like web usability and design.

Matthew Jones
It's a great book for a web designer, but not for a programmer who wants to enter the web-development world, IMO.
Moayad Mardini
Beat me to it, haha
barfoon
+10  A: 
  1. Mastering Regular Expressions - O'Reilly (I can't count the times I needed this)
  2. SQL Pocket Guide - O'Reilly (Always on my desk)
  3. Foundations of Ajax - APress ( A good read )
  4. Database in Depth (for later, made me rethink my poor DB design)
  5. Dive into Python - http://www.diveintopython.org/ (IT'S FREE!) I changed from PHP to Python and now love it.
  6. JavaScript: The definitive Guide - O'Reilly (Just finished it, 9/10, bit dated but seems like a stable reference)
  7. Pro JavaScript (comparable to 6, but a bit more related to the real-world)
Aiden Bell
+1 for the Mastering Regular Expressions (Amazon: http://www.amazon.com/Mastering-Regular-Expressions-Jeffrey-Friedl/dp/0596528124). I just got this book and it is much recommended!
Redbeard 0x0A
@Redbeard 0x0A - MRE and the dragon book are well thumbed :) The sign of a useful slab.
Aiden Bell
+8  A: 

If I were you I'd get wet and start swimming rather than read books on swimming techniques.

I know I'm risking getting downvoted for an orthogonal answer but it is my sincere opinion that reading books only works for narrow topics but for broad fields like Web Development the sooner you see real world problems the faster you start getting exposed to terminology, tricks, etc.

zvolkov
+1 ... But some people drown :(
Aiden Bell
@zvolkov - I know what you mean. However, I personally learn things more thoroughly by doing both.
Niklas
A: 

Think Python or its dead-tree cousin Python for Software Design: How to think like a Computer Scientist cover basic hows and whys for programming and walk through examples that are applicable to many languages.

Once you are done here, head over to the "Learning ..." series of language specific books from O'Reilly press.

Once you have that down, move back to theory and project lifecycle/management with the classics: Pragmatic Programmer and Mythical Man Month.

Rob Allen
A: 

Pro CSS and HTML Design Patterns

Sake
+3  A: 

I was laughing when one of the people who guides me in a study case send me this since it is so common when you are already doing it but you may actually have use for it:

web guidelines

It actually lists all the things you have to know by heart and understand as a 'doh' i guess.

bastijn
+2  A: 

I'm in the same boat as you. I recently found out about Douglas Crockford's series of lectures on javascript and the DOM.

His lectures are deep and filled with stuff I only barely started to get, but it's an awesome series that, much like his book, (Javascript, the good parts), I feel better having experienced it - and plan to revisit them often over the coming months.

lastly, I think this book (DOM Scripting) is very well structured.

42
A: 

There have been plenty of good suggestions thus far, but I would also echo zvolkov and recommend you get your hands dirty.

It doesn't really matter which platform you toy with first; just set yourself an project - something achievable but scalable - and start working away.

IMHO most good books require a certain amount of existing experience before you can get the most out of them, and you will often find it easier to absorb new information and new ideas when you have an objective in mind.

I'm not saying eschew theory; simply that doing can often aid understanding, and will often ask questions for you...

CJM
A: 

Best thing to do is pick something you interested in and make it. Pick a project that will require frontend and backend, SQL MYSQL.

Make a message board or a photo gallery with an admin. Books are good for concepts but you learn a lot more doing it and google is the best for looking things up.

Chris
A: 

There are official HTTP, HTML and CSS specifications from W3C... I would say for a perfect mastery one has to read at least some parts of those.

I actually learned most of my CSS there, which has an interesting side effect of trying things like border-radius which haven't made it into books yet since they're still in the early stages of development.

ilya n.
A: 

And a separate answer about encountering challenges: in our profession, you don't look for challenges. They come for you ;)

Seriously, one could read a book that describes writing for different browsers... or you can craft a beautiful, standards-compliant, mobile-ready, lightweight CSS tested on seven browsers in a week and then find out how terribly it looks on IE 6 during a demonstration to your mother-in-law (of course none of your friends/coworkers uses IE 6)... that's an experience you can't get on a dead tree.

ilya n.
A: 

IMO all programmers should read "The Pragmatic Programmer" at least once a year. It has some very good content that is relevant no matter what type of project you work on or the language you code in.

smehaffie
+1  A: 

Good question! I made the same transition. There are only a few concepts that are unique to the web developer:

  • HTML, CSS, Javascript - w3schools (website) has great tutorials on web-centric technologies
  • HTTP (as defined by the TCP/IP stack)-- seems like you have this covered, but it's critical to understand how the stack is working
  • CSS - in addition to w3schools, I like the OReilly reference from Eric Meyer. A good mastering of CSS will save tons of frustration.
  • I would say REST is a critical concept moving forward. Check wikipedia and Fielding's dissertation.
ndp