

Ask HN: What do you recommend for a web development novice? - jbranchaud

My friend, an experienced software engineer, is extremely new to the world of web development. I am building him a list of resources, libraries, tools, workflows, tutorials, etc. to help him get up to speed. I would appreciate the recommendations and suggestions of the HN community.
======
ricardobeat
This is a good start: [http://rmurphey.com/blog/2012/04/12/a-baseline-for-
front-end...](http://rmurphey.com/blog/2012/04/12/a-baseline-for-front-end-
developers/)

All the links you'll ever need: [https://github.com/christopherscott/frontend-
toolbox](https://github.com/christopherscott/frontend-toolbox) and
[https://github.com/dypsilon/frontend-dev-
bookmarks](https://github.com/dypsilon/frontend-dev-bookmarks)

~~~
jbranchaud
+1 on the frontend dev bookmarks, I remember seeing that a while back, but had
completely forgotten about it! It is an incredible resource.

------
moya
I'm also getting started. Is the MDN a good place to start?

[https://developer.mozilla.org/en-
US/docs/Web](https://developer.mozilla.org/en-US/docs/Web)

~~~
jbranchaud
I have personally found their tutorials and HTML docs to be very useful.

------
freigeist
Teaching myself, I found the following resources helpful:

* Michael Hartl's Rails Tutorial: [http://ruby.railstutorial.org/](http://ruby.railstutorial.org/)

* Steve Huffman's Web Development Class: [https://www.udacity.com/course/cs253](https://www.udacity.com/course/cs253)

* Balaji Srinivasan's Startup Engineering Class: [https://www.coursera.org/course/startup](https://www.coursera.org/course/startup)

------
tonteldoos
Unfortunately I can't contribute much, because I am largely in your friend's
boat. Any chance of making whatever list of resources you compile public in a
blogpost somewhere?

~~~
jbranchaud
That is exactly what I am hoping to do. I started with a google doc, but I am
thinking of moving it over to github at some point.

What sorts of useful resources have you encountered? What sorts of things are
lacking for your development process? These are ultimately the questions I
want to help answer!

~~~
tonteldoos
I'll try and answer these two, and lump everything else in a group ;)

1) What resources have I encountered (no particular order): \- O'Reilly's
(oreilly.com) weekly specials on different topics is a good place to get
ebooks for good value. \- Atlassian's software (Jira, Stash, etc) seem to be
quite popular in the web development community, and may be well worth grabbing
the free or once-off-$10 versions. \- IDE is a very personal choice, but
coming from an embedded and toolkit background, I really, _really_ enjoy
Jetbrains' IDEs. I've worked with Rubymine and PHPStorm - they're quick to
learn, and pretty cheap for personal licenses (<$100). \- Depending on your
friend's background, web development will have a very different terminology -
wikipedia is your friend. \- Again, depending on his background, have him
check out this list of books:
[http://siliconangle.com/blog/2011/12/06/top-10-books-on-
prog...](http://siliconangle.com/blog/2011/12/06/top-10-books-on-programming-
according-to-stackoverflow-users/) . I've at least scanned through most of the
list, and find it useful from a perspective perspective. \- Databases,
databases, databases. Web apps are built on these. If he doesn't have a solid
background, work on it. \- Continuous Integration, unit testing, etc - do not
go without these (IMO, not even code review is as important as these). \- Does
he development on Mac, Linux or Windows? Master whichever platform he is on
(Mac and Linux seem to be the more powerful ones - Linux guy myself).

2) What sort of things am I lacking in my development process: \- My
experience with interface design is minimal, but it seems to be a key
component in web development. \- I have yet to look into 'you rub my back, I
rub yours' setups, where I might do code for someone, and they might do UI
design for me (as an example). \- RESTful API development - I have little
experience, but this is a huge component of web development (along with plain
old WSDL type APIs). \- Lacking enough knowledge of modern languages to make
informed decisions on which language to tackle a problem with. Not a huge
issue, ultimately, but would be nice to know more (I'm a C/C++ guy). \-
Keeping on top of the tool of the week (either programming, or productivity,
or whatever) is a chore. So many good tools abound for various scenarios, it's
difficult to keep track.

3) I've found that putting together a setup at home or wherever that mimics a
dev setup, will help a little on keeping everything together for you. A cheap
machine running some combination of the following: \- VCS \- Wiki \- Issue
tracking / Agile tracking \- CI / Automated build/test/deployment \- Code
review tool \- Development site \- Whatever other tool he finds useful in his
development workflow

The answer is a bit haphazard, but I hope it helps :)

------
jbranchaud
Is it generally recommended to start off using some sort of CSS framework like
Bootstrap ([http://getbootstrap.com/](http://getbootstrap.com/)) or Foundation
([http://foundation.zurb.com/](http://foundation.zurb.com/))?

~~~
thisisdallas
Actually, I wouldn't recommend that at all. Well, if he is interested in
learning fron-end dev I wouldn't recommend that. In my opinion, the best way
to learn is to build something. If you want to suggest Bootstrap or Foundation
than I would suggest he tries to build another Bootstrap/Foundation. Learn
grids, learn CSS psuedo elements and media queries, learn HTML5 semantic
markup etc. etc.

------
eguneys
my excellent blog [http://eguneys.github.io](http://eguneys.github.io)

