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

10 points by jbranchaud ↗ HN
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.

12 comments

[ 2.2 ms ] story [ 41.1 ms ] thread
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?
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!

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... . 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 :)

Is it generally recommended to start off using some sort of CSS framework like Bootstrap (http://getbootstrap.com/) or Foundation (http://foundation.zurb.com/)?
As a way to quickly build something, yes. If you are interested in learning CSS, no.
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.