Welcome to my technology, software engineering and Information Technology blog.
Here is a little about… me.
My software engineering career informally began in Primary School when I started learning about coding and subroutines in BASIC and QuickBasic on an Apple II-E and IBM XT machines. Towards the end of Primary School I started playing with Pascal and Terminate-and-Stay-Resident programs (TSRs).
In my early years of High School, I quickly moved to Borland C++ 3.1 and I was interested in writing my own little games and 3-D texture-mapping routines. I then decided that the family 486SX wasn’t powerful enough, and that drove me down the road of learning X86 Assembly Language, delving deeply into optimising code by squeezing out every CPU cycle with hardware-specific instructions, and using Protected-Mode programming to let me effectively use the huge 4MB of Expanded Memory.
I also became lovingly annoyed with my brother who I noticed was accessing my DoubleSpace disk drive without my permission. So, using my TSR and Assembly Language knowledge, I hacked DOS’s Command.Com and injected my own code that prompted the user to enter a password when they attempted to change into my drive. If the password was invalid, then I used an undocumented feature of DOS to change a flag which rendered the drive inaccessible.
Later in High School, I wrote a menu system in C that the school purchased and deployed to their computers, and in Grades 11 and 12 I received the prizes for the computing subject.
After four years of university study, I received First Class Honours in a Bachelor of Information Technology, majoring in Artificial Intelligence and Networks and Communications.
I started my formal career as a Graduate Programmer in a reputable and very successful software development company in Brisbane, Australia, and have been working there since 2000.
I have been involved in both large and small enterprise software development teams, writing Visual Basic 6 Windows applications, ActiveX controls in C++, Optical Character Recognition systems, J2EE web applications, Microsoft .NET Windows applications, ASP.NET web applications, implementing and customising Team Foundation Server, writing a SOA framework that the company uses, and the list goes on… now delving into Silverlight and .NET 4.
All the while, I have endeavoured to keep my knowledge current with industry best practices and design patterns.
From all of this experience, I am an experienced Technical Specialist, Technical Evangelist, Technical Architect, “The Cleaner” of software problems (ala Pulp Fiction), a Behaviour Driven Development advocate, clean code advocate, design pattern advocate, staff trainer, mentor, and more.