by alizaki on 4/21/11, 7:07 PM with 6 comments
My Question: hypothetically, if one could take 6 months out off work/life and just devote them to learning the skills I want, what would a good suggested path be? Assume that I am practicing, reading, watching whatever you suggest 10 hours a day, 6 days a week along with any overtime you think would be needed. I know there are a couple of books everyone recommends to start with, but what I'm really looking for is as close to a lesson plan I can get! Also, I have a bit of experience writing C for an base level course in college, used to be able to write HTML way back in the day and have been around technology my whole life, so it's not like I'm coming at this standing still.
Suggestions, possible plans, words of advise are all welcome, of course.
by namank on 4/25/11, 5:52 AM
I think its doable. Because of the accelerated rate, you'll obviously miss some crucial pieces but those will fall into place if you, as you should, keep at least one personal project going at any given time.
Before you read all this, head over to MIT OCW and look up an intro to programming course. They sometimes have videos (thru itunes)
Step 1 is to get someone to explain to you what exactly is the computer doing when you write println'hello world'. This is so you get the big picture. Next step is to compile a hello world program. Then a lesson on strings and then on arrays. This should introduce you to them while providing a lesson in APIs - one of the more important things. This API lesson should have you look up documentation so you know how to read docs. This will take you 2 days...give it 5 - do lots of examples.
You can probably skip this but i'd recommend it - polymorphism, typing, properties...object oriented programming. This will probably blow your mind - not in an overwhelming kind of way but in a WOW, where was this till now kind of a way.
That is the essence of coding. You can now code and follow most examples on the net.
Next you need to become a software developer. For this, you'll take time as this is a blend of skill, knowledge, and experience. You will need to learn about things like data structures and recursion, trees and big o notations, algorithms and...stuff. EVERY programmer has to take a course called Algorithms and Data Structures. I'm sure you can find it on MIT OCW. If not, google 'ece250 uwaterloo' - they assume you don't know anything and start C++ from scratch.
And thats that.
by gregjor on 4/21/11, 8:01 PM
This might help: http://norvig.com/21-days.html
by equark on 4/24/11, 2:56 PM
I suspect that if you were to just focus on mastering Javascript, the DOM, SVG, and the various HTML5 APIs by really reading the entire spec, and pushing the boundaries of what is possible you could become better than most programmers in this domain. This is because most programmers that have been working for the last 10-20 years are not doing Javascript development, or when they do, they don't take it seriously enough to actually read the specs and push any boundaries.
Of course you will still be completely illiterate in many ways, but given six months that's just the reality. Maybe spend the final two weeks doing a quick survey of other tech, just so you aren't completely clueless.
by naithemilkman on 4/25/11, 2:58 AM
I think for 'business' guys out there feeling the need to be technical (like myself), don't forget that you're not trying to be the CTO (unless you really want to then its going take a lifetime of commitment). The tech is merely a tool for you to understand the technical aspects of the business better, not for you to take over it. Sooner or later, you want to get a real techie who lives and breathes it to come in and take charge.
Personally, I had a 6 month deadline to create a complete databound website by myself. Like I mentioned, I did in in about 2 months and wrote about that experience on my blog pragmaticstartup.wordpress.com if you feel like reading it.
Hope this helps.
by kirchhoff on 4/24/11, 11:15 AM