Some advice on learning web development.
Mon Jul 29, 2013
Here is some advice I gave a few months ago to a friend on becoming a web dev. I think it still holds up.
The most important thing
I have lots of advice, it I think the most important advice that I have boils down to do work. Build up a portfolio, and get comfortable and fluid with the tools that you will use to do web development.
We look for skilled passionate people, and the best way to show that, is to show projects that you have been working on.
If you are not in a position to get paid work that will allow you to show off your work, then the following tactics will allow you t build up a portfolio of work:
Find an open source project that you believe in, and that is written using the tools you wish to master, and start making contributions. These might initially be about providing documentation, extending test coverage, or doing some internationalization work.
Find some local charities that you can offer to do some pro bono web work for.
Create a public profile on github, and post your code there, here is mine: https://github.com/IanMulvany
Some large web frameworks, backed by php, ruby, python.
API handling, REST and JSON. Know about loading http headers and content negotiation.
Populating a template from a DB.
Setting up a system in the cloud, even if its just running on heroku or google app engine.
A revision control system, git is the main one to learn.
Be able to:
Get very quick at implementing the following types of work in your favorite set of tools, even if quick is just a small example application:
Consuming data from a rest API with HTTP basic auth and showing some of this data on your site, asynchronously.
Templating pages and populating data from a db.
Using a framework with a good data object mapper that connects to a db.
Connecting to a db.
Doing any one thing in your pages with a jQuery plugin that changes the DOM.
nice to haves
Things that are nice I know that help, but that will really only be required for specific types of jobs:
NOSQL, learn Redis, understand that it has limitations in terms of multithreaded apps. Understand that Mongo db is probably a dog of an application.
Read about everything on the amazon web services stack. Build an application on top of it.
Figure out if you like front end or back end work.
Read hacker news, but don’t take it too seriously, my advice is to spend a few weeks reading quite a bit of it until you get a sense of the types of things people post there. After that pick no more than three articles a day. It will help you understand trends and can point to some nice tutorials, but time spent reading it is time not spent working.
Understand the syntax of Xpath queries