What follows is my response to a Flash developer who emailed me a few days ago asking for advice on what he should do with his career. He feels that Flash is dying and that he needs to make a change and upgrade his skills. He said that he's applied to a number of jobs requiring C++ and Java because that's what he studied in school, but so far has been getting no love from that direction.
If you sense that Flash is in it's death spiral, then you're right to start thinking about moving on to something else. The best way to do that is to move straight to the cutting edge because it will consist mostly of very new technologies that few people have much experience with. That's good news for you because you'll have much less competition and won't be going up against developers who have N+ years of experience with said technology who can look down on you and call you names. Also, because the technologies you're going after are so new you'll have time to get up to speed while the demand in the marketplace builds. The other big benefit is that it's the cool, tech oriented companies that will be looking to hire people with experience using these cutting edge technologies, and those companies will probably pay better, treat you better and be much more fun to work at.
Yes, you need to build a project because the best way to learn a technology, or technologies in your case, is to building something with it, and the best kind of something to build is something that you want to use yourself. But you want to keep it simple so that you can actually finish it. Maybe try something like a single-page CRM or a task-manager or whatever. It would be great if you could come up with something kind of unique as who knows it could always grow into a sellable product, but don't get too distracted with that idea at this point because you'll start thinking too big and then about finding a co-founder and/or maybe funding and then doing a much of market validation crap, but that's all really beside the point at this stage and will just waste your time. You just want to get coding now so you can learn how to use these tools. By the way, if you're having a hard time coming up with an idea, try to think of a lot of ideas, like five ideas per day for a week and then at the end of the week pick the one you're most excited about. It's like Linus Pauling famously said, "The way to come up with a great idea is to come up with a lot of ideas."
The other thing you absolutely want to do is chronicle your learning process as a series of tutorials called something like Fullstack JS for the Flash Developer: Part I, II, III, etc. Don't worry about writing great prose or planning the whole thing out. Part I could just be about installing the libraires and getting the various Hello Worlds to work. I remember learning MFC (Microsoft Foundation Classes- C++) back in the day and the way you learned to use the framework was by working through the building of a simple drawing application called Scribble. It was very effective because it really helped you put all the pieces together. But the point is that if you write up these tutorials you'll get all kinds of love on HN and all kinds of SEO and guess what, you'll be viewed as an expert in fullstack JS, which will be awesome because you'll get tons on job offers and freelance work if you want it. If you don't write up and publish what you're learning then no one will know that you know it and when you tell them that you know it, how will they really know. You want the GOOG to know and you want people coming to you. For more details, read my post How to Increase Your Luck Surface Area. Oh, and the best way to learn something is to try to teach it and this is exactly what you'll be doing by writing the tutorials.
Two additional benefits to building a project and writing about your learning process is that it will show that you can communicate and that you're smart and can get shit done. You see companies, especially thoughtful ones, write about this stuff all the time (Jason Fried from 37 Signals and Joel Spolsky from FogCreek in particular) and they're not saying it just for the fun of it (well, maybe a little bit for the fun of it). The reason that demonstrating your writing ability is so important is that most people suck at communicating ideas, either via speech or text, much less conveying complicated, unfinished ideas, which is the hallmark of the tech and startup worlds. For example, look at what I'm writing here. I barely know what I'm talking about, it's a complete mess and you're probably totally confused. But at least I'm trying and you should too because showing that you can do it will be a big differentiator for you. In terms, of Joel's "Shit and Gets Smart Done" (yes, I know I got that backwards), well that should be pretty self-evident, but in case it isn't or more because I just like to type I'll expand on it. Most people don't get anything done. They talk a lot, or maybe not, but they email and Twitter and read Hacker News or the Onion and play around with stuff, but they don't actually ever release anything and the reason is that it's hard. That's why you always hear the advice about doing the smallest thing possible that will work. It's because even that is practically impossible for most people. So, yeah, building a simple project that you release into the wild (you know the whole "Show HN" thing) and publish your learning process will go a long way. Oh, and by sharing on the web you will apparently win karma, which is some kind of universal, fiat currency that I hear is awesome and is sort of the new Bitcoin. Boy, did that shit crash fast!