This site is a low down on what's going on in my life, what I'm working on, what I'm thinking about, and how I'm feeling about life in general.
Monday, 19 May 2008 21:52
From brain surgery to killing someone with your little finger, it's possible to teach yourself anything if you approach it in a structured manner.
My personal experience comes from what I've done in IT and how I've taught myself to do numerous things from 3D Design to PHP Programming. There is a definite and easy structure to follow.
Learning technical subjects in an educational institution occurs as part of a curriculum, nothing more, so the skills you are taught, and hopefully taught well, will no doubt be severely depleted when you actually come to use them. The best time to learn any IT skill is when you need it.
The best learning is born out of necessity, it ensures you're 100% focused on what you're about to learn, and will remember it better because you're putting it straight into practice.
When it's time for you to learn something, and you're going to teach yourself, you need to do some initial homework on the subject. The internet is a great resource for training, but it can be difficult to find consistent material. Personally, I love lynda.com, their training is top notch and the basics are free, which is what you're concerned with at the outset.
Alternatively, find a book that gives a beginners approach to your particular subject. You'll need to ensure you have the fundamentals nailed, this usually only takes a few hours to get through though.
Once you have a foundational understanding of the subject, you need to define what it is you’re trying to do. Once you know what the task is, you need to break it down into real world actions. For illustrative purposes, let’s imagine we’re creating a web application. Firstly, break the project into its high level sections, which may be:
Now pick the area you want to focus on first and break that up into its major parts, lets choose administration:
Again, pick a section and drill down on it, let’s take the add user path. Because this section has tangible flow, with actions and results, we will look at the actions that occur in the flow:
Doing this is half the battle because now you’re in a situation to start programming. For our example, Page 1 requires the creation of a html form. Page 2 requires a database connection, and Page 3 a simple HTML written confirmation of the action.
Because of our analysis, we now have some research to do, how to insert data into the database from a submitted form using x language, how to redirect to another page once that is done.
Most people start their search for answers at Google. Search for what you need rather than how you think it would be written, so if you need to insert into an sql database using asp, search for “Insert into an sql database using asp”. This will yield the results you need. Failing that you could try either Yahoo! or Google answers, although, if you don’t mind paying a small premium, Experts Exchange is always my destination of choice for fast, accurate responses.
Once you’ve complete one task, move through the entire project in this way and take it one step at a time. The old adage of breaking your problems into smaller pieces to make them easier to manage is applicable to most things in life and is just as relevant to programming.