Friday, 4 November 2016

"Am I too old to become a programmer?"

Not too long ago I was one of those folks asking that question and popping it into the trusty 'ol search engine. I knew it was a senseless question (well, I guess it depends on the context), but still, there's a reason it gets asked so much.

Anyways...

No, I'm not.

I became a developer 3 months ago. I'm 30 years old. This blog is mostly for my own benefit - apparently it's a good idea to document what you do.

So, are you too old to become a developer? That question can't really be answered without more information. The truth is that the odds are stacked against you if you even asking. The truth is that the chances of casually "becoming a software developer" are pretty slim.

A little background... I was busy with my PhD in physics and quit. There are many reasons why I quit, but if I start that rant I fear won't be able to stop. My programming experience before becoming a developer was very, very limited. Single file C programs. Basic, basic stuff. I was very comfortable with Linux and the command line though.

I quit my cushy (it really was) PhD "research" position at the LAB and headed back to my parents' house for the first time in 12 years for some introspection and a desperate desire for some direction. I had no idea what I was going to do really.

When I finally decided to go for the programming career, I had no real idea where to start. Here's some proof of that:



I made a list of "everything" and decided to "level up" by watching youtube videos and doing tutorials. Level 1 is beginner and Level 15 is senior dev. Or something like that.

I started watching Derek Banas' videos (I still do!) and after doing quite a few of his Java video tutorials, I came across his Rails stuff. I decided to give that a go (note I didn't update my level-scheme up there afterwards). Rails looked pretty awesome. Here is the day I decided to learn Rails:



As you can see, Rails seemed useful to me. This is so funny to look at now (this wasn't long ago by the way). OK here's a last pic - some of my rails notes.



I don't take many notes if that's the impression you get. Not at all.

Here comes the funny/unbelievable/cool part of the story. So you can see that the page marked "Learned something useful... Rails" was on a Saturday. On that Monday I saw an advertisement on a website for a developer. I sent in my CV and had an interview the same day!

The idea was to be honest about my abilities and skills but to show confidence in my potential for learning a lot of stuff really fast. They gave me a "homework" test of three problems. The first two were simple logic problems in the language of my choice - I used Java. The last one was a simple library app written in Rails. Yup, the company was a Rails house. Woooot! I got it done pretty quick because Rails.

I sent my stuff in on Friday. They called and we had a follow-up meeting. I started on Monday. Insane, I know. This was about 3 months ago.

The position they gave me was a intern-type-let's-see-what-happens kind of thing. Pretty much perfect since I wasn't concerned with money - only to learn as much as possible and kickstart a career.

OK let's wrap this one up bullet-style:

- The company is super duper awesome. Seriously, we have pizza-Fridays, occasional beer-Fridays, a popcorn machine, and lots of high-energy folks. It's casual but serious. We. work. hard.

- If I knew what I know now (after 3 months of exp) I'd have felt a lot less confident of breaking into the industry. Being useful as a developer takes time. There is a shitload of things to learn. Seriously. I spend ~70% of my time reading and doing research.

- I don't think anyone can just "become a developer" anymore. Of course one can probably become a shitty developer rather easily. It is possible that you are too old. Sorry 'ol chap.

- I've never been happier.

Let's do this.