Sunday, August 31, 2014

My lesson plan

It's been awhile since I've posted (or really been able to work on my coding for that matter) so I decided I would try to post an update today and lay out a general guide I plan to follow. As much as anything, this post is just to lay out my plan and to create something a little more concrete, but maybe you'll find something of interest :)

At the end of July I made a trip to Vegas and then the following weekend made a trip home & I pretty much got completely derailed. While I did do some studying this month, I got out of my routine for coding, and now its time to jump back into it!

A question I commonly hear from new developers that are trying to teach themselves is "Where do I start?" or "What language should I learn first?". There tends to be a LOT of confusion on exactly how to go about teaching yourself. I have the benefit in that I sit around a ton of bright software developers, and thus have a better idea of what I should be teaching myself. In the near future I have a whole other post on that topic so stay tuned.

For now here is my plan: 

As much as I would love to spend countless hours each week studying & coding, I do have a full time job & other hobbies to balance as well, but I am hoping to dedicate on average 15 hours per week (min 10 hours per week) over the course of the next year (or however long it takes me). Two key areas I've been told to focus on - Data Structures & Algorithms, and Object Oriented Programming/Design. My focus over the last few months was to dive in on one topic until I completed it, but one of our Engineers brought up a good point last week; if you're in school you study multiple subjects at once, and he encouraged me to do the same.

I feel fairly confident that I can dedicate at least an hour and a half each night Monday - Wednesday with Thursday left open for Trivia and Friday is sometimes a go out night. That gives me between 4.5 - 6 hours between those three nights. Weekends will be heavier and I plan to spend 3-4 hours each day on Saturday and Sunday for another 6-8 hours total. Finally I'm hoping to have 30 minutes four days of the week either early morning before work or during my lunch break which adds up to another 2 hours. If I only hit the minimum on each of those time slots it still adds up to 12.5 hours per week of study time, but I do feel most weeks I can hit more.

Based on books I'm working on at the moment, my plan of attack is:

Monday - Data Structures & Algorithms in Java - 2nd Edition by Robert Lafore

  • This is a pretty intensive textbook I plan to study through, but I will also be implementing the various algorithms in not only Java (which the textbook shows you how to do) but also in one other language, most likely Ruby. This will help me to not only solidify my understanding of the concepts, but also help me to pick up syntax of another language at the same time.
Tuesday - Head First Object-Oriented Analysis & Design

  • Same general idea, study the textbook but work on implementing the solutions as well. I believe this book does a good job of giving you various problems & projects to work on.

Wednesday - Agile Web Development with Rails 4

  • My plan is to go through the book once to build their Depot application, and then I want to go back through the book again to do my other app for storing recipes.
Weekends - Saturday and Sunday will be left a little more open but I'll probably split the time evenly between studying material in the textbooks versus working on some coding whether its the depot app or my RPG game that I still have to finish

Early Mornings/Lunch - I'll probably do either CodeAcademy tutorials or other light reading as I can't dive too deep in 30 minutes. But it will still be a good opportunity to refresh and read up on certain things.


I'm going to give this a go until I start to get through some of these books, and then I'll re-evaluate and see how its working out.

No comments:

Post a Comment