Saturday, December 28, 2013

Paths

My Path as an Aspiring Developer

How many times have you given up a path you had a passion for because: a) life got in the way and you lost sight of what you enjoyed; b) you believed something else to be more important at that moment; or c) you just gave up because you didn't believe you were good enough?

I've been guilty of each.  One more than one occasion. I've followed many paths that brought me to where I am now, 32 years old and feeling like I've been intentionally and repeatedly picking the short straw in life.  I've been a Apple sales rep (before Apple stores), a US Navy sailor, an air traffic controller, a student, an entrepreneur, and too many other professions to list.  I loved some of my jobs, hated others, but found that for one reason or another I couldn't make a career out of it.  Not always by my own choice.  Yet, here I am, 32 years old and looking to make a career change.

Why did I choose software and web development?

It all started in 1993 when after much nagging, my parents finally agreed to buy me a computer.  An Apple Macintosh Performa 405.  The first thing I did was play Microsoft Flight Simulator, then Sim City, then Pirates! Gold.  But games weren't what really interested me.  I found myself getting bored easily and needed more of a challenge.  I needed to feel like I was creating, repairing, or even destroying something.  So I started taking the computer apart, which my parents didn't like, but I always put it back together.  Later I moved on to writing HyperCard scripts with Apple's HyperTalk scripting language.  A friend and I taught ourselves about networking and soon were linking our computers together and having competitions to see who could crack each other's computer first, ultimately to lock the other person out.  This was as a pre-teen and young teen.  My first job, in 1997, was selling Apple Macintosh computers at CompUSA... I love that job, mainly because I loved Apple.

But life took me on another path.  I joined the US Navy and served six years as an air traffic controller.  I traveled the world, lived Tokyo for a few years and ultimately forgot about how much I loved hacking away on the computer.  After leaving the Navy I went university and studied Political Science... it just seemed like the right thing to do.  I had ambitions of law school, briefly.  Fast forward to today.  20 years since I started hacking away on my Macintosh... 20 years.

As I've gotten older, I've realized how much I want to love what I do and truly be good at a it.  I've realized how much I want to create things that I find useful, and hopefully others will too.  So why not go back to my first love?  Hacking away on computers.  Actually, that's a lie, my first love was flying airplanes... but it doesn't make financial sense to spend tens of thousands of dollars to make $25,000/year as a pilot.  I'll save that as a hobby, when I can afford it.

So begins my journey to become a software/web developer, at the ripe (old) age of 32.

Why Ruby/Ruby on Rails?

Over the past few years, I've tried a few languages, just to get the hang of them.  I researched Python, JavaScript, and Ruby.  I found JavaScript to be too limiting as it's mainly web-based front end language (though frameworks like Meteor.js are changing that), Python offers the back end and a little bit of front end through frameworks, but no one in my community uses it. And finally, Ruby, which most of my friends use and through my research has proven to be a very versatile and powerful language that is currently in demand (and hopefully stays that way).  I have asked my friends on numerous occasions which language I should pursue and they gave me many different answers.  The ones that stick out the most are that I should pursue a language that offers flexibility I seek, ease of learning, and most importantly has a strong community around it so that I can learn from others when I encounter roadblocks.  Well, Ruby happens to fit that bill.  Rails provides Ruby with a plethora of web-based applications, frameworks like MacRuby and RubyMotion provide the opportunity to develop native applications on MacOS and iOS, and most importantly (to me), most of my current community are Ruby advocates.

Next Steps

I'm just about done with Codecademy.com's Ruby tutorials and I've applied, interviewed, and been accepted into Galvanize's gSchool Ruby Intensive course/bootcamp starting March 3rd, 2014.  gSchool is a 5 ½ month full-time 'crash course' or technical school that aims to prepare students for a junior software developer / engineer position.  Pretty much exactly what I'm looking for.

Who is this for?

Anyone thinking about or currently on a similar path.  My friends, my family, and Tiare (though as a first year resident physician, I don't think she'll have any time to read this - I'll just give her the Cliff's Notes version in our daily conversations).

So there you have it.  What brought me to this point and why I chose Ruby.  This shall be the last major course correction in my path of life.