Ask HN: What do you recommend for a web development novice?
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 ] threadWhat 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!
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 :)
https://developer.mozilla.org/en-US/docs/Web
All the links you'll ever need: https://github.com/christopherscott/frontend-toolbox and https://github.com/dypsilon/frontend-dev-bookmarks
* Michael Hartl's Rails Tutorial: http://ruby.railstutorial.org/
* Steve Huffman's Web Development Class: https://www.udacity.com/course/cs253
* Balaji Srinivasan's Startup Engineering Class: https://www.coursera.org/course/startup