

Ask YC: How do you learn a new skill/framework/technology? - Anon84

I need to be able to contribute to a relatively large Adobe AIR project and I'm starting from scratch with this technology. What's the best way to go about it?<p>I usually get a good book/tutorial and work my way through it but this time it seems there's just too much to learn for this to be feasible within a reasonable time frame. I would need books on Actionscript, FLEX, etc...<p>Do you know of any good resources that might be useful for this particular case?<p>How would you go about it if you were in my shoes?
======
sfamiliar
If you're working with other people: Pair Programming. Fastest way to learn
anything.

On your own? I'd look for a reasonably simple project on github, or somewhere
the source is available. Before you start trying to understand everything,
prime your brain with a little previous exposure. Look through the directory
structure, look through the source code. See if anything makes sense. Build
it, to understand the build process. Run it. Now change something. Could be a
title bar, a background image, a validation. Just something. Build it. Check
your work.

Now your head is in the right space to learn. Find a cheat sheet, and go
through that. Go back to the app you're fiddling with and walk through it
again with the cheat sheet handy. Change something more fundamental. Build.
Check.

After you've gotten the cheat sheet (primer) understood, build something from
scratch. As run4yourlives mentioned, the blog is the new hello world. Build
that, build a file uploader, and build something event-driven and flashy. At
this point, you'll want to go through a book -- but skim the whole book first
to get a sense of where things are.

Now dive deep. As you are learning, write stuff down -- build a tutorial. Try
to explain it to someone else (that always helps me, anyhow). By the time you
finish writing your tutorial, you'll be ready to contribute, and you'll learn
more on the job.

Good luck!

------
run4yourlives
Take a weekend and do something basic in it. Don't "learn" it, just use it to
make something.

These days, it seems a blogging engine is the new hello word due to it's
ubiquity. Try that. What about a simple chat client? AIR would be good for
that.

The key is, use the tool to build something you don't have to think about too
much, and you'll end up learning all the things you'll need to. (Including
where to get help)

~~~
jcapote
This is exactly what I came in here to say; write a simple blogging app. For
learning languages, I like to do some problems from projecteuler.net till it
starts sinking in.

------
bdotdub
In my experience, especially with a project with a lot of code written for it
already, its good to work through the code and learn it. You'll kinda kill two
birds in one stone, learning the language/framework/technology, while catching
up on the actual codebase.

Bite off a small piece of whats on the TODO list and try to implement it.

