| A few years back, I jumped into what I thought was a design position at a local web company. I was wrong. I was then forced to learn JavaScript. I watched Douglass Crockford's Good Parts, and also listened to quite a bit of a Python podcast called Python Osmosis. I went from very basic/naive JavaScript on my own to a world where using VMs, SSH, Git, JavaScript, hand-rolled CMS's, and fast turnarounds were an everyday thing. What did I learn? Forced immersion is the best way to learn. Don't allow yourself an "out", but allow yourself space. There's a lot of ways to manage this path. I'll outline a few. - Find a mentor - while this seems daunting, there are a lot of people who are itching to teach. It works best if there is a formal agreement (and even a pay-based relationship) for an allotted amount of time with some concrete goals. - Start a project - Doesn't matter really what it is, because when you are making something, it is allowed to evolve. Decide a problem you want to tackle, and tackle it. Doesn't matter if this is reinventing the wheel, because you are learning how people built wheels; however, it always helps to try to solve things that haven't been solved before, so that you do it "the hard way" - this helps with retention and future problem solving abilities. - Get an internship - build a relationship with an agency that is willing to pay you something to hack on stuff, and let you make mistakes. There are a lot of agencies with space on their teams that will be open to this. Overall, the most important thing is to be diligent and remember that everyone else is learning constantly, too. Just because someone you know writes great tests doesn't mean they know testing. They learn every day. Jump into the fast moving river, and you'll quickly learn to swim, or get out of the river. |
- Go through http://railstutorial.org/
- Learn Git (this taught me all of the more important unix commands for my everyday work)
- Check out Coursera courses, like this one: https://www.coursera.org/course/digitalmedia or this one: https://www.coursera.org/course/posa (two very different courses, both very informative)
- If you aren't keen on Coursera, check out Udacity
- Get a VM running so you don't have to worry about the damage you might cause running sudo stuff. This is very big; if you are intimidated because you don't want to cause damage to your machine, build a sandbox first. (Assuming you can set up a VM. If not, check something like this out: http://www.linuxtoday.com/infrastructure/2011010701239RVLFSW)