My interest in computers began when my uncle bought my cousin a Amstrad CPC 6128. My cousins and I played the games that came on the rigid diskettes that came with the system all the time. The family favorite was Chuckie Egg. I was around 8 or 10 at the time. Somehow I realised that all the games that came with the Amstrad were just a collection of instructions, in what I later found out was written in something called ‘Basic’. I started modifying the source of the poker game so that when you started you had a bigger holding. It was a silly little hack but it was the first little taste of the feeling that every developer gets when he or she writes software: the feeling that I told the computer to do something!
In 1995 mum bought me my first 8086 based computer: a 486 DX4/100 with a whopping 8 megabytes of ram! Of course I played doom on it for a months. I got a job and was able to buy myself a 28,000 bps internal modem and an Internet account with The Hub. I followed the instructions they gave me on A4 and downloaded Netscape from their FTP server. As a result of being exposed to the seemingly endless array of subject matter I became interested in making mods for Doom. That progressed to following the tutorials from a popular (at the time) demo group and began experiment with writing computer graphics programs. I remember wasting up to 5 hours at a time, in between lectures at uni, trying to get my 3D square not to warp on the screen due to an error in my matrix multiplication code. I remember the day I regrettably gave up on the demo stuff; I reached a point in my project where my code was writing past it’s allocated heap memory into DOS’ memory and as a result rebooted the machine. After 50 reboots I decided I had to give it a rest for a while and actually do some uni work! I never got back to it
University was interesting. My first year I passed all subjects with flying colours. Universities were still teaching C then and I loved it! Pointers were a non-issue and I actually liked the responsibility of dealing with managing memory myself. Second year wasn’t so good as personal issues got in the way. After second year I changed from the Software Engineering major to the Computer Science major. CS was really interesting. Most of the subjects in second and third year were really just introductions to the concepts but there was still enough meat in the subject matter. Things like compiler design, image processing, graphics and networking were all covered.
I got a job at Ozlinx and became convinced that I should get real-world experience while studying so I started studying part time and working part time. As the years progressed I changed jobs and my university studies went from 2 subjects per semester to 1 subject. I completed the degree in 2005; 8 years after I started! Given the blessing of hindsight I do wish I had studied full time until I completed the degree.
I became interested in photography and even wanted to change careers to become a wedding photographer. For now the idea is shelved. I really want my heart and resources to be in it before trying to cross that bridge. Right now I’m just really into programming and shooting someone’s wedding requires you to be really into the art and to know what you’re doing.
At the moment I’m trying to learn as much as I can about .Net and C#. Despite my early love for low level systems-like programming it’s obvious my career is following a more application developer/analyst path. I think the .Net world suits that better for me than other technologies I’ve gained experience in.