August 1, 2011
Steve Bryant started a meme encouraging those involved with ColdFusion to post their personal story of how they got involved with the language. Here's mine.
I first fell in love with computers during the summer of 1982. I was 10 years old and my parents signed me up for a summer program to teach kids Basic programming. I spent that summer learning to hack Basic on a terminal connected to a mainframe. The following year my elementary school got a dozen or so Apple IIe computers and I was hooked. From there I got my first home computer – a Commodore Vic 20 with 2.5 k of RAM. I still remember sitting in my room painstakingly typing in game code from the latest issue of Compute magazine. I'd often leave the computer running for days as I didn't have any way to save the programs at the time and retyping everything would take me hours. I'm pretty sure this is where my debugging skills were forged as I hunted through program code trying to find the typos I had made while transcribing from the magazines. It wasn't long before I scraped enough money together to buy a tape drive, allowing me to save my programs. As technology marched forward, so did I. My next home computer was a Commodore 64. I must have spent thousands of hours on that machine programming, playing games, and immersing myself in the world of computers.
When I got to high school, Apple was out and IBM was in. My high school didn't allow freshmen to take computer classes, so I had to wait until 10th grade for any more official instruction. That year I learned Pascal. In my junior year, my computers teach got me an after-school job with a local engineering firm. They were looking for someone to build and maintain some applications for them. I interviewed and got the job. I still remember my first day – sitting down at the leased 286 with an orange monochrome screen. My boss dropped off a big box of discs and manuals for something called Ashton Tate dBase IV. He then said he wanted me to build them a database for all of their pumps and related devices. After looking through the manuals the rest of the day, I stopped in to my boss's office to let him know that I thought I might be in over my head. "Nonsense", he told me. "Why don't you take a few weeks to read the manuals and play around with the software, and if you still feel the same way, then I'll understand and we can part ways with no hard feelings." Turns out dBase wasn't so hard to work with after all. That job lasted me the rest of my time in high school and provided a lot of great programming experience as I built and maintained several networked client-server applications for the company.
As much as I enjoyed computers, I still couldn't see making a living working with them. I had considered doing a degree in computer science, but everyone I knew who had gone that route hated it (granted most of my friends were only a year or two older than I was, so most of them were still working through the fundamental classes). I had this idea of writing snippets of large programs as part of a team of people with little satisfaction. I'm not sure exactly where I got this idea from, but it's something that I just wasn't interested in doing. Computers were always fun for me and I just couldn't bear the idea of taking all the passion out of something I loved by making it into a full-time job for the rest of my life. So instead of computer science, I forgot all about computers for a few years and pursued a double major in political science and sociology. I also enlisted in the Air National Guard as a means to pay my way through school.
Toward the end of my time at the University of Delaware (around 1993) I saw my first web page. I was instantly hooked. From there I started spending more and more time online and eventually started a small consulting company with two other guys I knew. Our main focus was web design and development for nonprofits. Looking back, we were way too early for the market we were primarily targeting. Most of the nonprofits we talked to were just learning about the web and had no idea how to really take advantage of it, let alone a budget to work with. Luckily we had a few small business clients that kept things going and allowed me to develop my skills. I was also working construction at the time to make ends meet.
By 1996 it was clear that the consulting company wasn't going anywhere. My two partners had full time jobs and families and the business just wasn't a high enough priority for them. My girlfriend at the time (now my wife), seeing that this was the case finally told me "you need to find a real job." I started looking in the newspaper the next day and found several promising leads for companies looking for someone to work on the web. After several interviews I happened on an ad for a small electronics company in West Chester, PA looking for a Webmaster to build and manage their corporate web site and intranet. I applied, had an interview, and was hired shortly after. This was early 1996.
I got to work immediately building out their website and intranet with a combination of static HTML and Perl for handling basic tasks like emailing form content. This worked well for a while, but it was only a matter of time before I was asked to add some dynamic content--the request was to "web enable" our corporate address book, which was stored in a Microsoft Access database. My first reaction was to develop the application in Perl. However, at the time, building an application like this in NT Perl (all of our web servers were NT based) wasn't feasible, so I began looking for other solutions.
I first tried a product called DB Web, from a company named Aspect Software that had just been acquired by Microsoft. After a bit of experimentation, I realized that DB Web wasn't what I was looking for. It was more of a tool for querying data from Microsoft Access databases (it wrote VB code on the back end) than a real application development platform. (As a side note, Microsoft stopped supporting DB Web shortly after I evaluated it and rereleased it as ASP (Active Server Pages) a few months later.)
Frustrated, I decided to look into another product I had been hearing about on a web development discussion list. The product was Allaire's ColdFusion (Cold Fusion at the time), a rapid application development platform for creating and deploying dynamic server-based web applications. Within hours of downloading the trial version of the software, I had created a proof-of-concept for the corporate address book application.
Fast forward 15 years and it's almost funny to imagine that I fell in love with a programming language that had just over 30 tags and functions in the 1.5 release. At the time, though, ColdFusion had enough power to handle any web programming task thrown my way. And as the tasks have become more complex, ColdFusion has kept pace. Although I no longer develop as part of my day-to-day responsibilities, I'm still heavily involved with ColdFusion and the ColdFusion community and I can honestly say that with each new release, ColdFusion contains features and functionality that seem to show up just as I find myself needing or wanting them.
Beyond what I think of ColdFusion as a technology, though, is what ColdFusion has provided me personally. Not only has it enabled me to earn a living, it's also been the catalyst for a lot of personal growth. Because of ColdFusion I have had the opportunity to write two books (on ColdFusion, of course), speak at countless user groups and conferences around the world, and literally meet hundreds of passionate, smart people who share my love of technology. Thanks ColdFusion!