Was speaking with a friend back home today who works for a very large financial institution. They currently have a major investment in the Adobe stack of technologies, including ColdFusion. However, the decision was recently made – as usual, at a business level – to become a Microsoft shop.
One of the critical elements in this was the fact that ColdFusion developers, specifically highly talented ones that can architect enterprise level applications, simply did not exist in the marketplace. There are too few of them, and they are all currently employed, and the cost of developing someone of this caliber was simply too high and would take too long.
I’ve read far too many times in the past 12 years about how Allaire/Macromedia/Adobe does not make the appropriate efforts to get the ColdFusion development platform into the hands of kids early, when they are learning development, so that when these kids coming out of college enter the workforce they know Microsoft or Java technologies, or both, and then may possibly, occasionally, touch upon a couple of features of the ColdFusion platform years later.
The result is more and more business decision makers not even considering it as an option. Technology aside here people, look at it from a business perspective. Ok, fine, ColdFusion is a great platform. It has lots of features and is easy to learn.
So what?
I need to hire 9 people right now who have vast, deep experience in building mission critical applications that perform at the highest level, scale with the organization and the user base, and are extensible so that we can keep making it better.
Having gone through this process many times myself… I’m sorry but ColdFusion doesn’t cut it. I love the platform, I love the people, and the community, but if I got funding to build a major application or system, and needed a large, experienced development team, I would not choose ColdFusion.
Now, once the system got off the ground and the underlying architecture was solid and we needed to start expanding the system, making sub-projects from it, then sure I’d consider hiring a few ColdFusion developers because you can build applications very quickly with and perform some integrations more easily.
Bottom line is that, while I’m sad to see another promising ColdFusion shop being slowly dismantled over the next two years, I can’t say I disagree with the decision.
It sucks.
17 Responses for "Another ColdFusion Shop Bites the Dust"
This is exactly why Sid and I started up CFdevCamp.
It was last Saturday and a great success in getting about 40 new people into ColdFusion.
The hope is that there will be other CFdevCamps across the planet to start bringing new people into the language and start creating the high level CF developers that get their first taste of how easy CF is.
There were a few very talented Java developers that are very interested in CF now and had a blast coding with it last weekend.
http://www.cfdevcamp.com
Maybe what ColdFusion needs is more web/internet entrepeneurs to choose CF as a platform to develop their startups. The more startups that use CF, the more chances that someone will succeed, which in turns generates more visibility to their architecture choices, ergo more people will start saying “oh look at company X, they built this awesome startup, lets use the same tecnology!!”, in part thats how Rails became so popular, its not just that its a nice framework or Ruby is a pretty language, its the commercial/public success that generates the attention and the “me too!” factor.
There are usually many reasons why businesses make decisions. The public reasons are many times not the same as the private reasons. There are a lot of ColdFusion people unemployed or underemployed. I don’t buy the argument that a it is cheaper to hire .NET or Java developers than CF developers. That isn’t true in my region from what I can tell. In general, the .NET folks are raking in the dough.
I see more groups going the Microsoft route due to the same faulty reasons that IBM was once the overwhelming choice. There was a saying during those times that “You don’t get fired for buying IBM” and now it is the same with MS. They have the ears of the C-suite and it is an uphill battle to go with other technology.
I also would say that Adobe needs to spend some time promoting their products with the management types as well as the cool kids. It would be a long process, but is necessary to compete.
Engaging developing software engineers early in their education is a great idea, but there is a significant problem. There are not any free or ridiculously cheap ColdFusion host providers for the language.
So as a college student rapidly prototyping an application, ColdFusion is not even an option. They will turn to .Net, php, Ruby, you name it, but not CF.
The CF community is missing the earnest commitment from Adobe. Free CF hosting would be very attractive for small, blog and personal websites and it might put CF back on the Internet radar.
This is exactly why adobe should open source coldfusion and dump jrun. Then they could get a much broader scope of developers.
This really shouldn’t be a “ColdFusion OR …” argument, and .NET really should not be the answer on the other side of the argument.
If you outgrow what CF provides out of the box, fine. Can’t find CF developers, but Java developers are readily available, fine. If shops want to move beyond CF, they should take a hard look at Java. You can move to Java, and still leverage CF. Running WebSphere, Tomcate, JBoss, etc? Fine. Deploy CF on top of it. Use CF’s RAD capabilities where it makes sense. Use Spring where it makes sense. Load your spring objects/beans inside a cf template/cfc where it makes sense.
My point is that there’s a whole world of Java developers that should take a serious look at CF to extend their current applications. With CF9 out and supporting true scripting, adding CF into the mix should be easier than ever.
If anyone ever feels they have ‘outgrown’ CF, the most logical direction to move towards is Java, hands down.
@Roger: Good point, but in this specific case, education of the business leadership was not needed. They already were familiar with ColdFusion’s capabilities and had invested in it for years.
Apparently their needs grew beyond their existing capacity and they simply could not find qualified people.
Steve,
I completely agree that it is almost impossible to find high caliber CF developers who can build large scale enterprise applications. I found myself in a situation where we have been looking to hire good CF talent for a while with no luck. Even our management has started considering alternate options to avoid this situation in future.
Thanks for a well written post on a topic that closely relates to reality that many organization face these days.
Being on the other side . . . maybe companies need to bite the bullet, hire developers who may not quite have what they need, and spend some money bringing them up to speed.
Steve, good point.
That is just one of many reasons why Adobe needs to make CF platform free for use and to charge exceptionally(!) good IDE. Also, they can rip of goodies from CF (document/pdf management, charting, office tools, etc) and charge them separately.
I have impression that Adobe doesn’t invest enough in CF marketing.
From what I’ve seen, it looks like they invest 70% in Flash, 29% graph tools (where they, btw, have monopoly) and 1% on CF. They rely too much on what community will do.
Second problem is certification. People don’t see a viable reason why to certificate in any of Adobe technologies.
I had high hopes that some of these things going to change with release of CF9 and CF Builder, but no.
However, it is, always, going to be difficult to find experienced developer in any field. Especially unemployed or not-expensive.
To me, being experienced means that you succeed to persist for long time in different (difficult) environments. It means that you are capable to change, adopt and communicate on satisfactory level, through time. Those characteristics are rare enough by itself.
@Lola: Bringing someone up to speed means going through the process of many, many mistakes, a lot of time and a lot of money. When organizations start the hiring process, that means that there is an existing deficiency or need in the organization that needs to be filled immediately. Rarely does a manager or director get the chance to say, “Well, I feel like hiring someone who can’t perform the job duties, but may be able to 9 months from now.”
@Steve – I’ll respectfully disagree about training CF developers. Sure, if you find someone off the street w/ just HTML knowledge, it’s going to take a while for them to get up to speed. However, if you are hiring intelligent developers, it shouldn’t matter the language. In my personal experience, a mid/senior Java developer can be productive w/ ColdFusion in less than 30 days.
You company is part of the problem, not the solution. Adobe can only do so much to expand the community (it’s nearly doubled the size of the community since 2006) But guess what, all those new developers only have a few years of experience. I don’t know how you measure “deep experience”, but it sounds like your definition is many years coding CFML.
How can we attract new developers if all the job opportunities require 5+ years of experience?
Anyway, it’s disheartening to hear that your company is moving away from ColdFusion. Please post back in a year and lets us know how it’s going. More often than not, customer who decide to move to .NET/Java come right back to CF when they realize that it’s hard to find “deep experience” regardless of the technology.
Also, please let your existing CF staff know that there is a world of opportunities out there for them. It’s a great time to be a CF developer and it would be ashame to spend time replacing existing skills (.NET over CF) when they could be learning complementing skills (Flex, AJAX, ORM, etc).
On a final note. Adobe/MM/Allaire have done a poor job in pushing their community to grow their technical skills. To remedy this, we are completely re-writing all of the ColdFusion course ware (which will be freely available) to a higher standard. We’re also rewriting the certification test to ensure that ‘Advanced’ means advanced. All CF developers will be taught and expected to know about CFCs, ORM, Caching, etc.
-Adam Lehman
ColdFusion Product Manager
We’ve had a tough time finding people with good experience tackling tough systems, too. We’ve adopted the stance that a great programmer can become productive in CF rather quickly, so we started looking outside the CF community for people. Our last hire, in fact, was a Ruby guy who had some CF experience, and he’s worked out quite well for us.
@Adam: Hey there Adam. Just wanted to make it clear that this is not my company that we’re talking about.
And deep experience is, obviously, a subjective term. For me, it means that the person has worked on high transaction, business critical applications for at least one full year, and had an integral part in solving real business problems.
I don’t want to get into some kind of argument here. That’s not the point of my article. I’m truly sad when large CF shops decide to move on, but given my own experience trying to hire someone with ANY ColdFusion experience, I’m just not that surprised any more.
This is SO true at this given time. We have just finished trying to hire a seasoned ColdFusion developer, and found the canidates extremely lacking. Even the ones who claimed to be proficient, really didn’t know CFML. We ended up changing the position to a .NET role and were flooded with qualified candidates. I am much like you, in that I love ColdFusion and the community, but if I had to choose right now at a pure business level, I would go in another direction.
I agree with Adam and Marc. Don’t hire CF developers (I mean, feel free if there is one that meets your needs). Hire web developers. Ideally a Java developer with some experience of either Ruby or Groovy (or maybe with a background in Smalltalk at college). That way they’ll be comfortable with the Java environment, but will still “get” dynamic languages. Anyone with that background will be productive in CFML within a week or two (and will be delivering code in the first couple of days).
It’ll take them a *little* longer to get the ins and outs of the frameworks, but there really isn’t much to getting started with ColdFusion. Plus by hiring non-CF devs we’re growing the market.
The problem I find is that companies don’t know how to hire good CF Developers. They give these annoying technical question type interviews where they ask you some scenario (over the phone mind you) and expect you to have the answer. Sorry, don’t do that! I’m visual. Or they’ll ask you questions about CF tags or functions you will never use in the real world. The kind only someone who writes a CF book would be able to answer. Sorry, I won’t write you a Coldfusion book either, or teach a class on Coldfusion. However, if you are looking for a Senior Coldfusion developer with a Bachelor’s Degree in MIS or CS, loads of experience (small & large companies), profeicint at other web languages (HTML, CSS, JS, MS Office Suite, Adobe Creative Suite), knows SQL backwards and forwards, and has a stable work history (and a DOD TS Clearance)… then I’m your developer. Just no tests, look at my Resume and see who I’ve worked for and then call them and then look at how long I’ve been at each job.
Leave a reply