How did I get here?

The more I mull over ideas regarding what to blog about, the more I come to conclusion that I can’t get into what’s going on today without talking about how I got here.

My first exposure to programming came in the 6th grade, at Beaumont Middle School, where I took an Introduction to BASIC class.  The next year, I was grasping at ideas for a science project when I realized that the library where the science fair was being held had an Apple IIe computer located front and center.  I figured I could take the easy way out and whip up some quick BASIC scripts to do something cool and be done with it.  Somehow I stumbled on some examples of how to draw colorful shapes on the screen, which intrigued me.  My “shortcut” project grew in scope and I ended up creating a few pretty interesting scripts that drew very colorful pictures.  (Imagine the classic “Pipes” screensaver)  At any rate, from that point on, I felt comfortable with computers.  I wasn’t hooked on programming by any means, but I gained a confidence such that it was no longer a magic box, but another tool that I could make use of.

I ended up attending Portland’s technical high school, Benson Polytechnic High School, which had many different “majors” or tracks you could elect to specialize in.  After taking the requisite introduction classes, I selected Computer Aided Drafting (CAD) with an emphasis on Mechanical Engineering.  While not programming per se, I was working with computers on a daily basis.  During my sophomore year, my family also purchased our first PC, an x486 from Gateway, running Windows 3.1.  Over the next few years, the commercial internet was born and I, along with all my classmates, was taking it all in.  I remember when “the internet” stopped meaning AOL’s pages and expanded outside of its walled garden.  I remember a classmate turning me on to this new search engine called, “Google” which he read about in a Internet for Dummies book.  Looking back, it must have been pretty turbulent times for society, trying to make sense of it all.

When it came time for college, I enrolled at Georgia Tech to study Mechanical Engineering.  Living on campus gave me access to the campus computer network and high-speed internet.  This meant no more AOL at all.  Just open up Internet Explorer 4 (the only truly viable browser at the time) and away you go.  As this was new territory all around, I learned much about the nuts and bolts of the internet.

I enjoyed my engineering classes very much.  GT’s program was very well rounded, making me take classes not only in physics, calculus, and chemistry, but electrical theory, materials science and fluid mechanics.  In addition, they had recently arrived at an interesting decision where they began to require undergrads to present lab reports not as PowerPoint presentations,  but as micro web sites.  We received crash courses in HTML and were told to use Microsoft FrontPage to get the job done.  It didn’t take many times of FrontPage’s WYSIWYG editor tweaking the HTML I had written by hand to kick it to the curb and hand write everything.  As I progressed towards graduation, I began creating sites for fun and then for various groups I was involved with.  Coding became a hobby.

After graduation, I went to work as a design engineer for a small manufacturer near Portland, Oregon.  This was the same time that ADSL services became available for commercial and residential customers.  As my employer adopted networked computers into their business processes, I took on responsibilities to build and maintain their network, in addition to my design role.  When I hinted that I could build the company a website, they agreed and my life as a “professional” web developer was born.  They allowed me much latitude.  So long as my design work got done, I was able to pursue my burgeoning IT side.  I ended up building an external product catalog and an internal CRM/Customer Support portal, self hosting both, plus email, in-house on custom built Linux servers.

During this time, I had more time than money, much more in fact.  I started offering my services, finding work with a few local photographers.  I built a few sites that were met with decent response and the thought of writing code full time became entertaining.  When the atmosphere went south at my day job, I made the jump.  It was a very exciting time.  While I was saddened by the end of my engineering job, it was thrilling to find new web development projects.

I found Craigslist to be a great source of work.  I was able to link up with a few local ad agencies which led to interesting projects involving local brands.  I developed a knack for creating near pixel perfect web reproductions of the agency generated comps using XHTML and CSS.  These technologies were fairly cutting edge at the time, so these projects helped me land larger projects from clients wanting to use the latest and greatest.

Eventually, I connected with a great local digital design agency called Pinpoint Logic (now Pinpoint), again via Craigslist.  I learned a lot about being a developer and a freelancer working with Pinpoint.  My last project with Pinpoint was a long-term engagement with a company back east.  When the project came to an end, that company approached me about coming to work for them full time as a front-end developer.  They had a team of ASP.NET developers building projects for the government, but they didn’t have anyone comfortable with developing user interfaces.

This was a tough transition as I had to adapt to working remotely.  Its not for everyone, but it has ended up suiting me very well.  I also struggled to adapt to the ASP.NET world.  I had come up as an avid LAMP (Linux, Apache, MySQL, PHP) developer and fervent web standards practitioner.  Initially it felt like selling out, especially with my initial experience with Microsoft’s web tools back in college, but as I’ve become acquainted with ASP.NET and .NET has made great strides as a platform, I’ve become a big fan.  I also realized that this was a great opportunity to bring web standards and cross-browser, usable interfaces to a space where they were sorely lacking.

So here we are, over six years into my stint with CALIBRE, primarily working as a frontend developer, but getting my hands dirty in the backend, as well.  It has been a long, strange journey and its nowhere near over.  I’m looking forward to where it goes from here.