3 ms·
This is the mother of open-ended questions. There are many questions like this on Stackoverflow, be sure to check those answers, too. Deciding on what to learn
by Jun8 16y ago
This is the mother of open-ended questions. There are many questions like this on Stackoverflow, be sure to check those answers, too.
Deciding on what to learn is hard, however, deciding on which one to choose from a list of things is much easier. The important aspects are (in order of importance IMO): (i) How does this help with my bottom line, i.e. will knowing this technology earn me money (ii) How "sexy" is it, is in on the bleeding edge, when I list this on my resume, will it catch the eye? (iii) How's the community, are they helpful, do they answer newbie questions? (iv) How's the documentation? (v) Is this a dead-end thing, or will it lead me into learning new things?
If I had to name just one thing, I would say Javascript. It used to be that "real men don't use Javascript", but the latest prominence of web apps is changing that. Also JS has gained a lot of respect for its advanced notions. I would recommend : JavaScript The Goof Parts, it's an easy read. Learn JQuery (and node.js for advanced stuff)
I would add Google web toolkit to the tool bag. This way, you can build complex apps with your Java knowledge, without being a JavaScript guru.
Learn a mobile platform. My personal choice is Android. iPhone has better potential but is kind of saturated. And it's Java, so you don't have to learn Objective C.
Why not Processing? It's extremely easy to pick up, has tons of interesting tutorials/demos and is easily lends itself to creating mind-blowing visualizations in a short time.
I would also start learning a offbeat thing, something that will raise eyebrows while reading your resume and will make it stand out. Could be scheme (learning it know, awesome!), clojure (runs on the JVM), Lua (has always got a life of its own but getting more coverage lately, can run on Android), or if you want to really go all the way, Forth. These will probably not earn you money but will expand your mind.
You can also look into getting your feet dirty with hardware. For years, I've been afraid to do this (I absolutely hate hardware stuff) but Arduiono or the Beagle Board are great.
And one final thing: Learn git! That's where all the good stuff is.
- Natural2190 16y agoThank you, this is exactly the kind of input I was looking for.
- dunstad 16y agoFor learning Javascript, I used http://eloquentjavascript.net/ http://eloquentjavascript.net/ It's really thorough, and if you get stuck somewhere you can email the author for help.
- smithbits 16y ago"And one final thing: Learn git!" Can't stress that one enough. Really any source code control system will do, but make sure you know one well. It was the biggest thing missing from my CS degree. And it's handy to have a solid understanding of regular expressions and SQL, but learn source code control first.
- cema 16y agoThat's the good parts, not the goof parts, heh. I second the recommendation, but I think it should be the second Javascript book read after the latest edition of Javascript (The Definite Guide, by Flanagan). JQuery follows.