Saturday, August 20, 2011

Programmer's rage and being thrown in the deep end

You're sitting at your computer trying to debug your program. There's a line or section of code somewhere in there that's causing the delete button to not work. After several hours of combing through your code and the error logs you find that the click listener wasn't added properly (and raging about it in the process). So you go and consult the (presumably) all-knowing Google. After a few more hours of trying various search combinations, you throw in the old towel .

I've had too many of these programming-induced meltdowns that I'd care to remember - the earliest of which I can trace back to my first semester of uni. Back then I'd come into an IT degree not knowing the first thing about programming. So it was very much a case of being thrown straight into the deep end. I spent much of that semester floundering around trying to figure out the Java syntax - I haven't even heard of Java until I started uni.
By the following semester, I was a little more OK with working with Java. I was doing another Java-based programming subject in that particular semester, which dealt with more Object Oriented (OO in programmers' speak) concepts.

But what does this have to do with programming-induced rage?

In those early days, when I was trying to find my way around programming and I'd hit a dead end, I'd try and brute-force a solution and rage like there was no tomorrow if I couldn't figure it out.

It was a slightly different story when I was learning C#. It was, for all intents and purposes, a new language to me. The difference there was that I wasn't being forced into the deep end. I actually learnt the basics of C# programming through a tutorial on the Home & Learn site. Since I had time to play around with things at my own pace (and had a tutorial to guide me through), I had a much easier time with C#. I don't remember having those full-on rages with learning C# that I'd previously had learning Java.
The same could be said for WPF.

For the better part of my uni career, whenever I wanted to learn a new programming concept, I'd google tutorials for it.

When I started Mobile Applications Development this semester, I would be learning Android development - the framework is based on Java. In a lot of ways, it felt like I was being thrown in the deep end again - I was learning a new framework for a uni subject. But this time the framework I'd be learning was based on a language I was already familiar with. We were told in the first class that past students have spent, on average, 8-15 hours each week outside of class getting familiar with the Android framework. To be honest, I've been putting aside a lot of the work from my other subjects so I could get up to speed with Android development. I learnt about working with databases in Android through a tutorial I'd found online.

3 comments:

  1. I have been a professional developer for a bit over 9 years now and I still find myself getting frustrated with issues. Quite often being issues that do not follow logic (or my understanding of logic at that time). But it does get better with time, you start learning what symptoms go with what issues and where to start looking. You'll get better at debugging/error trapping and wont run in to so many rage inducing issues. Good luck and keep up the spirit! Programming isn't for everyone but if you love it, you love it deeply.

    ReplyDelete
  2. I started uni in 2008 and got into IT because that was the subject that I did best at in my HSCs. Most of the stuff that I learnt in high school was completely irrelevant to what was being taught at the university level. I hated programming during my first year, but later on I started to enjoy the creative process involved.

    ReplyDelete
  3. Most people do not think of development as an art. They think there is no creativity involved. They are so wrong!

    ReplyDelete