Quote:
Originally Posted by thefastlife
awesome story. how did you teach yourself programming?
i am trying to learn basic SQL and Python but have no idea how to best do it or where it can take me.
|
I'll list a few things below, but the gist of it is that I attacked it from several different angles to get a good foundation.
The main thing folks will say is pick a project, which I fully agree with. One project I picked was making a clickable hexagon grid for an android game. Useful skills to develop include developing a vision, breaking the problem down, and finding good starting points. I started by looking at the basic API to draw custom images for android, finding code online that generates one hexagon, and tweaking it to make MxN hexagons. Then to make them clickable, I basically needed to develop inverse hexagon equations - lots of pain there, but it's great when finally it "just works". But math is up my alley; not everyone needs to do a project like that.
The thing with SQL (you'll find this with other things) is that it has several different implementations. Pick an implementation such as Postgres, MySQL or whatever, go through some basic tutorials, then start some project - a fictional inventory system is a common one. Be sure to spend time here-and-there learning where the DB fits in with a larger enterprise application. (BTW, probably start with Python, and don't put too much time into SQL unless you're specifically going for a DB admin job).
I also made a big syllabus - picked a decent school (U of MN), looked at their CS curriculum, and wrote down a list of required classes + some electives. Then for each class, I found the syllabus, which lists all the topics to study. Truth be told, I checked off only about 20% of the syllabus before getting the job, but the list alone helps expose you to the bigger picture (you notice things like SDLC and then ask what's that and why should I care?)
One more tip: when googling something or perusing StackOverflow, you'll sometimes see totally opposite answers to one question. Well, a lot of times what makes sense for one person working on a small codebase is unworkable when multiple folks work on a big codebase. So be sure to look for dissenting opinions, then try to figure out why both might be right in their own contexts.
And read the book "Clean Code" - skim through it just to get an idea of its contents, leave it for a few months while you get up to speed a bit, and then read the whole thing.