Brandon Rice

Software development with a focus on web technologies.

How I Became a Developer

| Comments

How did I go from working in the public sector to writing code for a living in six months?

I graduated high school several years ago.  Since then, I’ve worked almost exclusively in the public sector.  I’ve been an EMT, a firefighter, a police officer, and a criminal investigator.  However, I’ve always maintained this strange obsession with computers even while my career proceeded down a decidedly non-technical path.  As a youngster, I was constantly taking our family computer apart and inevitably breaking things that my parents would have to replace.  At the same time, I was growing increasingly obsessed with those online text-based games like Dragon Realms.  They were the MMOs that existed before MMOs were a thing.  They were one of the few games you could play for free on AOL, and - almost as important - the minimum system requirements were non-existent.  As time went on, I grew tired of simply playing these games.  I wanted to build my own world that other people could play in.  A friend gave me a shell account on a Unix machine, and before long I was hacking away at various flavors of DikuMUD and others.

By the end of high school, I was regularly attending computer shows and scooping up cheap, second-hand parts so that I could build Linux boxes on the living room floor.  I was extremely active as a player and administrator in the PennMUSH community.  A friend introduced me to the Lisp-like syntax of MUSHcode and promptly created a monster.  In no time at all, I was wasting hours upon hours of my life building exceedingly complex game systems in imaginary worlds that didn’t mean squat in the scheme of things.  However, little did I know at the time that I was learning valuable programming concepts.  I would have stared at you blankly if you’d asked me what a binary tree was or how to use recursion to traverse it.  But then I’d turn around and use those and other concepts to create increasingly impressive systems on games like Wing Commander: Red Horizon and FiranMUX.

I tried college as a music major (did I mention I’m also a musician?), but soon dropped out.  I knew it wasn’t what I wanted to do.  At 19, I took as job as an EMT.  The pay was decent (by 19-year old standards), and the benefits in the public sector were great.  There was also upward mobility.  A couple years later, I was a firefighter in a major metropolitan area making money that you just couldn’t get anywhere else without a bachelor’s degree.  Soon after that, I became a cop and a criminal investigator.  It seemed like my career was on track.  Someday, I’d be able to collect on one of those fat government pensions (that was sarcasm).

However, all the while I was still dabbling away as an amateur developer.  I wanted to build websites, so I learned HTML, CSS, and a little Javascript.  I wanted to learn about RDBMS, so I started messing around with MySQL.  I wanted to learn a “real” programming language, so I taught myself C and promptly developed a real appreciation for garbage collection and memory management.  Somewhere along the line, I decided that perhaps my hobby could be more than a hobby.  So, I went back to school part time as a Computer Information Science major.  I started learning Java, and suddenly realized that all those years building MUDs and MUSHes weren’t a complete waste of time.  It turns out that I had a pretty good understanding of some programming concepts that my classmates were struggling with.

At one point, a friend (the same friend who introduced me to MUSHcode) introduced me to Ruby, and once again created a monster.  That was about a year ago.  I read The Pickaxe cover to cover and was writing halfway decent Ruby code in no time.  I loved it.  Dynamic typing, intuitive syntax, a gigantic and very helpful online community that made learning a breeze.  What’s not to love?  I started hacking away at Rails applications, and fell in love with MongoDB by way of the MongoID gem.

About six months ago, I decided to get serious about this programming thing.  I was getting toward the end of my degree and simultaneously realizing that I didn’t want to be working as a public servant in 20 years.  So, I put together a resume and started applying for entry-level developer jobs.  My resume contained almost nothing to do with programming or software development.  Employers and recruiters were probably laughing.  Who is this guy who hasn’t even finished his BS, who’s only practical experience is writing code in an irrelevant scripting language for online games?

I peppered the area with resumes.  I probably applied for 30 different positions.  Most of them never called.  But I kept at it, and eventually got a couple interviews.  One interviewer must have seen some sort of potential because he sent me home with an programming exercise.  ”Just make the tests pass,” he told me.  The tests were written in Cucumber.  I’d never used Cucumber or RSpec.  So, I did what I’ve historically done in similar situations.  I picked up a Cucumber book and read the first five chapters.  Then, I picked up an RSpec book and did the same thing.  Then, I blasted through that programming exercise.  For bonus points, I turned it into a fully functional Rails app and deployed it.

Wouldn’t you know, I got the job.

So here I am, a Junior Software Developer with a background in law enforcement and public safety.  I’ve thrown stability to the wind in favor of pursuing a career doing something that started as a hobby.  Thankfully, my wife has been extremely supportive and hasn’t divorced me (yet).

Sometimes, I’m not quite sure how I got here.  Like I said, long and complicated.