Back in May at cf.objective() I was sitting around after one of the BOF's with Steve Bryant & Tony Garcia. We had just finished a lengthy debate over CFML Apps and how they can help to get new developers involved with CF. One of the things that was coming up in the debate was this notion of "Well if we just had more instruction, or training, people would become CF developers instead of PHP developers". However Steve, Tony & I all agreed that we didn't get involved with CF by sitting down one day and objectively analyzing the different server-side options and selecting the one that meet all of the criteria... no most of us were tossed into it for one reason or another and we fell in love.
Well, we talked about this idea of encouraging people to get their stories out on blogs at the conference, and luckily Steve actually made something happed and has suggested August 1st as the "How I get Started with Coldfusion" day... and I couldn't be happier about it. Here is my story, and I hope that all the other CF developers will do the same and post their stories today.
It all started in 2009 for me (yep that's right I only got started in CF two years ago). I had been hired by Nytro Multisport as a consultant at first to help them roll out a new online store with a new platform. We had just purchased an integrated POS and eCommerce system called Celerant, and I was going to work with the Web team at Celerant to design and implement this new online store. Well the site went live in July of 2009 with something that I considered to be about 95% done. There were a handful of additional features that I still wanted to add, but the core was there to get up and running.
As I'm sure many of you know - and may be guilty of (myself included) - once a website is launched, the motivation to update it isn't the same as pre-launch. All of a sudden a simple task like "Hey can we change the title on that page?" turns into 3 weeks worth of e-mails back and forth asking about when it will be done.
I started doing web development in 1996, so while I had never programmed in Coldfusion before, I had spent a lot of time working with Pearl, PHP, ASP & ASP.NET. In fact it was my poor experience in all of those other languages that made me say "I'm not a programmer anymore, I'm a 'Consultant'". My intention in this new role at Nytro was to not have to type a single line of code, and that's why I didn't care what language Celerant was coding in.
Well after three months of waiting on what I thought were simple fixes, I decided to open up my IDE and just 'take a look'. I remember that the first thing I needed to do was change the <title> tag on a particular group of pages to something a little bit more SEO friendly. That is when I opened up one of the template pages and saw this:
<cfif url.page eq "xxx">
I said to myself... no c'mon it can't be THAT EASY! Sure enough I did a couple searches on google, learned a little bit about if statements and within a couple of minutes had solved my problem. From that day forth I was hooked.
Fast forward a couple more months of working with this platform I decided that we needed to roll out a CMS, so I stumbled across Mura CMS after a couple google searches and fell in love with that as well. Now that I had a CMS, I wanted to integrate it with our eCommerce platform for things like search results and whatnot. Well I scrapped the existing eCommerce codebase for something a little bit more object oriented that I whipped up, and the next thing you know I got some help from the community to improve upon it.
Now that story is more than just "How I Got Started" but also how I got to where I am today. You see, in the course of just 2 short years, I have gone from being a user of a couple CF apps provided to me, to being a full CF developer and contributing to a handful of open source projects.
In my mind, people don't become CF developers because they want to learn a server-side language; they learn the language of the application that was put in front of them for one reason or another. Now we just need to put these great applications in the hands of the newest breed of HTML developers.