How I stopped hating programming and learnt to love it

So as an aside from my usual C#/.NET posts, I thought I’d write up about what got passionate about programming and learn to deal with the struggles of starting off, in hope that it may help someone who was in my situation.

As a teenager, I always wanted to study computing in some form – I dabbled with some HTML so I loved the idea of web development. I went to college with a few friends for a generic IT course, and then we applied for University. I wanted to go for web development, but then all my friends were going for ‘Computer Forensics’ and I didn’t really like the idea of being on my own on a course – so I followed suit.

Computer Forensics was great, and I looked forward to getting into working for law enforcement and recovering data. Part of the course involved some programming modules, as does every computer course at the University I went to. The programming module was using Java, which was my first encounter with Object Oriented Programming. And I hated it – I ended up failing the module, and had to retake it in the summer. This was not a pleasant summer at all, and I was extremely close to giving up all together. I didn’t understand the first thing about the language, I could barely add 2 numbers together. Luckily, I managed to scrape through and went onto my second year.

In my second year, I was distraught to see I had another programming module, this time in C#. I searched it and saw it was just like Java which filled me with complete and utter dread! Then after a few weeks of struggling, everything just…clicked. I knew what the purpose of a class was, and I knew that I could create ANYTHING. Later that year, I completely aced the module and ended up with a 90% mark (over 70% is marked as a ‘distinction’). While this was great, I still didn’t particularly want to pursue a career in it – I thought my perception of programming was forever soured.

After graduating University in 2010, I set out to find a Computer Forensics job – and failed miserably. It was an extremely difficult profession to get into, and any job was miles away from where I live – and I had no intention of moving. I opened up my options, and went for an interview on working with a data mining tool. It seemed absolutely dismal, and (luckily) I got rejected. I then had a work placement offer for a software company – not a full job offer, but an 8 week placement with the possibility of a job offer at the end of it. I was desperate and went to the interview, and had a call later saying I was accepted. I started feeling remorseful – I’ve never ‘liked’ programming, and was extremely slow to pick up even the fundamentals, and now I was going to try make a career out of it? I figured I’d be kicked out long before the placement ended.

And then, in a week of working at my placement I learnt more than I’ve ever learnt during my education. I didn’t know everything, but every day I was learning something new, and started to really enjoy it. I was offered a full time job after my 8 weeks, and 8 years later I’m still here, as a senior developer.  The first year or two was the most difficult – even though you’ve been using it day in, day out, it takes a while to get to the point where you feel like you really know what you’re doing! There were a few disastrous bugs that I introduced, but without this I wouldn’t have learnt from the mistakes

To any new developers

Hang in there, and persevere. You may feel like you’re in way over your head, but truthfully everyone starts out the same.

Never making a mistake doesn’t make you a good developer – learning from your mistakes does