How We Got Started in ColdFusion
On the first day of last month, we had a fun "How I Got Started in ColdFusion" day. The response was much bigger and better than I expected. Including blog entries, "How I got Started" stories in comments on different blog entries, and one Google+ entry, I have found and compiled 110 responses (sortable and filterable page of all stories I have found so far).
Where I could determine the answer, I tracked what version of ColdFusion each person was using and which year they started (though I did not attempt to determine one from the other). I also tracked broad categories of how people got started. One interesting thing that came from this was to see that there are really two different ways people get started in ColdFusion.
- People who decided on ColdFusion
- People who used ColdFusion because of a decision someone else made
Most people, myself included, fall into this category. Basically, most of us learned development in a company that used ColdFusion or got jobs where that was the language in use. While these stories are still very interesting, they may be of a little bit less value in learning how to spread the word than those stories of people involved in the decision themselves (who in turn, likely brought ColdFusion to people like myself).
In the precient words of Greg Moser:
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.
So, how did those people who actually decided find ColdFusion? Here I will break the numbers out in slightly broader categories than I did on the page linked to above:
- Recommendations: 22
- Research: 12 (I tried to be as generous as possible in assigning stories to this category)
- Bundling: 8 (usually "O'Reilly WebSite Pro", but also any product or acquired not for ColdFusion that came with it in some fashion)
- Class: 5
Another interesting fact that came up is that nearly everyone cited "easy" or "natural" as what attracted them to ColdFusion and nearly everyone started off using MS Access as their database (myself included) nad most expressed dismay or embarrasment about this in retrospect.
People who remembered roughly when they started are grouped heavily in the years from before 2001. Whereas people who remember the first version that they used mostly started in the 3.1 to 4.5 range. At first this seems to indicate that most people using ColdFusion started using it a long time ago and that since then uptake has declined. While that may be the case, I suspect that this better indicates that the (very small) data sample here is skewed towards more experienced ColdFusion developers. After all, one would assume that the roughly active 100 ColdFusion bloggers (estimating that most, but not all of whom participated and that some of those who particulated are not actual bloggers - as their participation was in the form of comments on another blog) would be, on average, more experienced than ColdFusion developers who do not maintain a blog.
So, what conclusion can we draw from this? I'm sure others will have better insights than I would, but I would say we start with a few take-aways:
-
Discuss and recommend ColdFusion to people not already using it
See Brian Rinaldi's great The Adobe Community Needs to Reach out blog entry. It is really brilliant stuff.
-
Ease up on demands that new ColdFusion users do things the "right" way
I'm not actually suggesting that this has been a problem in the community, but it is certainly worth considering that most of us got our start using Access and probably wrote some crappy code. But it was easy and it got the job done.
This does, of course, mean that there is a lot of crappy ColdFusion code out there which can give off a negative impression of ColdFusion. I'm not sure what the balance is there, honestly.
-
Create ColdFusion software that make people want to adopt ColdFusion to use it
This is a tall mountain. I'm making my run at that mountain, which I have discussed a little bit. Hopefully I will have much more to show on this topic in the weeks and months ahead.
That is all that I have for now. I look forward to reading your thoughts and ideas as well.
I instinctively agree with your point about relaxing over "doing things properly". Many of us picked up CF because we didn't have rigorous CS backgrounds and yet it allowed us to produce amazing things on the web. Remember Marc Funaro's blog post a while ago bemoaning the loss of the pure joy of making stuff work with a few tags as soon as DAOs, beans and DI frameworks became "de rigueur".
I wouldn't be without those tools and concepts now, but even though my code's much better these days in so many ways, those moments of excitement at getting a file to upload or a search result are rarer.
On the other hand, I have seen signs that things are going in a positive direction for our little community. Just last week I was at MuraCon in Sacramento and had the pleasure of meeting a bunch of CF developers that I'd never met before who are not part of the "established" CF Blogosphere/Twitter community. A lot of these people were using CF because they love Mura CMS. So I think that Greg's observation is right on the money. The key to growing the CFML community is to develop great applications.
But I'll be honest, I get a lot of push back on Adobe ColdFusion because it's a commercial / proprietary product. All the folks I deal with are working in open source technologies (let's face it: apart from Microsoft, no one is doing proprietary software development now). If I change the pitch to be a JBoss community project, a Free Open Source implementation of CFML, then folks are much, much more open to hearing about it.
I've managed to get a number of Clojure and Java developers to download Railo and try it out. They're mostly quite impressed. But then they want to know how to integrate Spring Security and all sorts of "Java Enterprise" questions... :)