In my formative years my passion was for music, and I set out to study Recording Engineering when I landed at university. Within the first couple semesters I rediscovered a fascination for information technology, software development, and networked computer systems. That set me on a path that started with part-time software and web development, evolved into network engineering and operations, and presently technology consulting and reselling.
I spent a number of years doing the network operations and architecture thing at a Global 25 company which exposed me to the world of mostly Cisco-based enterprise infrastructure. I spent many long nights and weekends studying and experimenting in the lab to hone those skills.
In parallel I ran into inefficient ways of doing things or gaps in how we managed our infrastructure that none of our tools were addressing. I started writing scripts and basic tools to make my life easier. Initial Perl scripting led to a desire to wrap a web interface around the logic so that others could benefit from the work I was doing. I started with PHP initially but something never felt right about it. This was in the procedural days before PHP 5 was released and object-oriented concepts were being embraced. I moved on to ColdFusion and found the Fusebox framework which exposed me to the MVC (Model View Controller) pattern.
That worked for a while, but ColdFusion’s strong ties to the Windows OS (still early days for Java multi-platform support) made it difficult for me to introduce servers into the environment at work. According to corporate policy Windows servers had to be joined to the corporate Active Directory domain, with the “Server Team” owning admin rights, with “patch Monday,” and constant security scans by InfoSec. That drove me to find a Linux only alternative I could lock down. I also didn’t like way Fusebox handled Object-Relational Mapping. In researching alternatives I stumbled on a very new framework named Ruby on Rails shortly after the first public release in July 2004. For whatever reason the patterns, DSL, and conventions of Rails just clicked for me, and I learned a new programming language, Ruby, to port the applications I was developing over to it. I ended up writing a couple dozen utilities and apps over the years, but it was always a side hobby to my network engineer day job.