I have something I need to get off my chest. This blog entry is targeted squarely at the ColdFusion community and, I think, should be kept exclusively within the ColdFusion community. I know I’m writing this on a public blog, but, let’s face it, not many people other than Adobe webstack developers are goign to read this.
What I want to say is that I really hope ColdFusion programmers can find it within themselves to stop trying to convince other programmers that ColdFusion is not dead. I’d link to examples, but I don’t want to raise their page rank any higher than it may already be.
ColdFusion’s not dead, it’s operating in Stealth Mode. The general perception of ColdFusion’s demise is our greatest asset.
I’m going to go out on a shaky, rotten, limb here and say that according to stereotype, most ColdFusion programmers can’t code their way out of a paper bag. Think about it. How many of you out there started out doing something completely different than programming ColdFusion? Then, one day in the early 2000s, you were tasked with creating an “intranet” for their company and putting an obscure database online.
Most of non-programmers in this situation first discovered Dreamweaver and and quickly learned that they still needed a server-side solution to do the job. Conveniently, Macromedia also had this thing called ColdFusion that made it really easy to do what they need. Presto-bango, 15 minutes later a new Intranet was born into the world! Cool! But not really. Now this uneducated office dweeb is labeled the Web Guru (or worse yet, the Web Master) and they get tasked with more and more projects like these.
The next chapter in the story is tragedy: Bad code. Cashing servers. Headaches. And, to be fair, we all did it. That intranet, over the following years, evolved into an unmanageable beast. Changes in one place would break code in other places. The code became a tangled mess. The entire thing gets thrown out and rebuild a few times. The Web Guru (now the Senior Web Guru) would institue standards midstream (you must indent in this pattern, you must name variables in Hungarian notation even though it doesn’t make sense, you must write your code in Comic Sans, etc, etc) in the misguided attempt to make the code more manageable. But it doesn’t help. Eventually this person quits in frustration and gets a job somewhere else.
Now, this is where the image problem forms. (Excuse me, I mean that his is where the advantage for you and me forms.) The next person on the project usually spends a little time going through the code before throwing their hands up in the air and saying, “This is a bloody mess!” They go to their boss and say one of two things:
ColdFusion is bad.
We need to move to .NET/Java/Perl/Smalltalk/CGI/Ruby/Whatever Or…
This code is bad.
We need to improve the code and hire better programmers.
This is a generalization. Clearly some CF projects go away because the company decides they need to standardize on something that’s not CF. (This is dumb! Why throw away all that money? And what happens 5 years from now when there’s something new you want to move to? Do you rewrite again?) Sad as it may be, some projects do get moved to other platforms.
But those sites that do not get moved (and the new development opportunities) are why I wish the ColdFusion pontificators would just be quiet. Clearly some people understand that ColdFusion has some amazing features that make things that would be very time consuming or expensive in other environments extremely easy.
Companies that choose ColdFusion and hire good programmers ultimately save time and money. This lends to competitive advantages. Think about supply and demand. We as ColdFusion programmers intuitively know that there is plenty of work out there. ColdFusion is not dead. There are lots of new projects (especially with Flex integration), lots of old projects to maintain, lots of government work, lots of private work, and more. The problem (I mean advantage) is that it’s hard to find good ColdFusion programmers. If there’s high demand for skilled programmers (even if the demand is small compared to the demand for something like .NET or Java) and a small supply that drives prices up. Programmers make more money because of how others perceive ColdFusion.
Despite the fact that the ColdFusion server is comparatively expensive when compared to other choices and that good ColdFusion programmers are costly, ColdFusion brings enough to the table to generously compensate. Forget about the admin-assistants turned pseudo-programmer. Forget about .NET and Java. Focus on strengths. ColdFusion programmers should play to their niche. ColdFusion should play to its strengths. Companies should take advantage of the power and flexibility of the language and skills of their programmers to keep raking in profits.