The Knitting Developer

A knitting, development, and general geekery blog.

The Knitting Developer - A knitting, development, and general geekery blog.

Code Camp: How I Became a Computer Scientist

Despite growing up in a house full of computers, I did not always think I’d be a software developer. Sure, I played MMO’s and role-played in the Dragon Inn chat room. Also may have messed up a computer once or twice trying to erase a virus that I’d accidentally gotten after visiting some sketchy site….allegedly. I just didn’t have a clue about writing code, or developing anything.

My dad has always been a computer guy. I remember being real little and just watching him as he put together the next latest and greatest machine. I loved getting on our DOS machine and attempting to play Lemmings and MYST. Dad is also an avid gamer, I loved sitting in the corner of the room watching him play Doom, Half-Life, Warcraft, and just about any game that came out from Valve and Blizzard.

By the time I was a senior in high school, it never really occurred to me that I could be in the technology sphere. If anything, I figured I might do IT as a backup plan if nothing else worked. I was a poet, and a wanna be artist. I love the structure and design of buildings. I’d decided to try and be an architect. To me architecture was the best mix of art and engineering that I could be a part of. It was everything I thought I wanted in a career.

My second year out of high school I got into the University of Houston’s architecture program. It was intense, and a lot more art lessons than I realized. Despite trying my hardest, at the end of the first year my professor’s review of me could pretty much be summed up in her last words to me: “You should probably consider a different degree”.

I was crushed, but I knew she was right. I wasn’t naturally talented enough, and I didn’t quite have the same grit as other students. As I looked towards different degrees, I thought about business and decided against it. I also took an intro to Computer and Electrical engineering and realized that no matter how hard I tried, my grades were too poor to officially switch into the Engineering College.

The day I decided to switch over to Computer Science, I called my dad. I’ll never forget the joy in his voice as I asked “What would you think if I went into Computer Science?” and he said “I think you’d be great at it”. To this day, whenever we talk about a software development or systems administration (his profession), he gives me this I-told-you-so-grin.

Switching into Computer Science was the best decision for me and my career, and I love my job as a software developer. It’s everything I ever wanted in a profession: problem solving, bit of art, great design, and engineering. I took the long way round to get to where I am, but I’ve never been happier.

Code Camp Thursday: Online Learning Resources (Screencast/Video Edition)

As you may have noticed, Crafting Night Tuesday was cancelled this week on the blog. School just started last week, and I’m still trying to get a handle on my new schedule (aka no real crafting was done). Crafting Night will be back next week with an update on how I fit crafting into my busy schedule (as well as some pictures on what I’m working on).

Today I’d like to talk about some of the online video resources I use to get up to speed quickly on topics I may not be familiar with, or know very well. These resources are (in my opinion) no replacement for buying a good book and learning a language or concept top to bottom, but they will provide you with enough information to get you interested and speaking intelligently on the subjects they cover. I’ll only be talking about video based learning materials today, but you can expect future posts on text-based materials.

Code School
My first experience with online video based learning was through Code School. I was lucky enough to win a free gift card to Code School last year during Houston Techfest. Code School focuses mainly on web-based development, but also has some great courses on Ruby and Git. The courses heavily subscribe to game theory. You watch a short lecture, complete some tasks implementing what was talked about in the lecture, then get a badge. At the end of each course, you get some prizes (including a $5 credit towards your next month’s bill). This is still my go-to resource if I want a crash course in anything web-based. Code School allows me to get a taste of a language or concept and provides resources for further learning. At $25 (really $20 as long as you finish a class a month) a month it is a little steep, but I don’t see myself unsubscribing anytime soon.

This is a new screencast that I just recently started watching and have subscribed to. NSScreencast is a series of videos made by Ben Scheirman giving 10-20 minute talks over pertinent topics within the iOS and Rails world. My first introduction to Ben as a speaker was at Houston Techfest last year. It was at his lecture that I was inspired to go out and learn Rails. Through NSScreencast Ben provides a fast-paced informative talk that you can watch once week. I’m still going through the archives, but I’d highly recommend going to the website and viewing some of the free videos. If it’s something you are interested in, subscribe for $9 a month.

From what I understand, RailsCasts is the epitome of Ruby on Rails screencasts. I was rewarded by Code School with a free month to RailsCasts and I continued my membership so that I could have the access to all the content available. Ryan Bates does an amazing job at offering short videos with  lots of information. There is a large archive covering various topics within the Rails world. Just like NSScreencast Ryan provides free videos to check out, and for some this will be all you need. If you are interested, a membership will only set you back $9 a month.

These are my current top three resources. As you can see, most of these are iOS based or Ruby/Rails based, but that’s not because I define myself as an iOS or Ruby developer (or at least not yet). I’d love to hear from you, what video based resources do you use to learn languages or development concepts?