Monday, February 15, 2010

ColdFusion needs a rebirth

I have had a lot of struggles with getting a job in coldfusion, I have a part time one now.

But I really love the language, working with it, learning what more I can do.

But I keep re-reading about the death of CFDJ, and it really get's to my heart, yes they didn't always
do things very wisely, and their site really sucked with video ads.

But it was really nice to have a print magazine, i can collect, review, and re-read...

Now it feels like their is no printed history of coldfusion...

And I keep reading on Stackoverflow.com how many people think coldfusion is dead, and doesn't need to be learned or used.

To me that's utter bullocks.

But they are right about 1 thing, how we package coldfusion is pretty horrible.

How we make this as a server product, instead of a language product, makes it a horrible bite to get people into coldfusion.

I think we need a totally rethink of how it is sold, advertised, packaged, and discussed in the community.

Also we need a new approach to education and mentoring, because if people are writing horrible applications, it doesn't make us look good.

Also we so seem to focus on the niche aspects of coldfusion, that so many people/programmers/companies barely have the grasps of the basics.

The Basics:

1. Project Management - Tracking assignments, due dates, priorities

2. Planning - Planning your assignments, making sure they are clear, and identify obstacles to clarity, so that everyone know's exactly what is going to be delivered.

3. Source Control - Use something to control revisions of your code and database changes.

4. Back Ups - Always take backups of code, and database, gives you the ability to restore in case of hard drive or hardware problems

5. Error/Bug Tracking - Making sure bugs are tracked, not just ignored in the cfadministrator.

6. Looking at the log files from web server/database server/coldfusion server, regularly to see if users are having problems.

Joel Spolsky called this his 12 step test.http://www.joelonsoftware.com/articles/fog0000000043.html

But what percentage of coldfusion users, actually pass more than 1 of this checklist, I'd bet it's a lot lower than most advanced programmers think.

And this is what has frustrated me, for the last several years, when people focus on what is the fads or trends, rather than the basics, which yet again get overlooked, unused, unmentioned, and companies creating bad cf apps or code, and make us look bad.

We should be seriously focused on generating great coldfusion programmers, that get fully trained and mentored to be great programmers, no matter what language they use...

We should have a far better documentation pages, that hatefully always force frame usage, that is so annoying. Does anyone actually do any usability testing on actual users?

Does anyone at Adobe care about their end users?

Or is coldfusion just a stepping stone for you to move on to better languages?

I can't get over my love for coldfusion......and I want to help if I can improve it.

I am so sick of all the skepticism, it is time for leadership...

4 comments:

  1. I agree. Even certification is claimed to be flawed by many. I would love for there to be a proper certification, even levels of certification, (that was usefully and impressive to hold) - one with deep focus on the core programming features and the language and OO programming, advanced underlying Java hooks, server management, optimization and maintenance. Anything that is regarded as a tool or extension can be additionally learnt but a solid base that encourages application architecture and strong programming patterns, I would snap up. A developer focus like that of MS Developers. We need to compete and impress, not just talk about it.

    I know that all sounds a bit specific, but I just agree that it would be good for other to recognise us as 'proper' programmers using a language (and feature pack) that lets us doing RAD things! We shouldn't really be relying on blogs for so much support :)

    Cheers.

    ReplyDelete
  2. Thanks for this post. I do feel the same as you, and until I read this I didn't even know about CFDJ dying. Instead of just taking about these things over and over again, I too want to do what I can to help.

    Do you or anyone else have interest in creating something similar to Why's Guide To Ruby but for ColdFusion? http://mislav.uniqpath.com/poignant-guide/

    All of the topics you covered and more could be discussed/explained in a fun and informative way. A return to the basics? It's something I've been thinking about for a while now.

    ReplyDelete
  3. I just want to make a few points:

    1) You said "How we make this as a server product, instead of a language product, makes it a horrible bite to get people into coldfusion." But, Coldfusion IS a server product, and it is used to process the CFML language. There are also 2 free open source CFML engines that process CFML as well. People just have a tendency to associate the product (ColdFusion) with the language (CFML), which is understandable. It's just up to us as CFML developers to re-educate everyone.

    2) Don't put too much stock into what you see/hear on Stackoverflow.com. I've noticed a good bit of CF-hate on there. So much so that a few weeks ago I decided to abandon the site completely. I'm not going to waste my time trying to help people just to be chastised or ridiculed for my choice in programming language. I can't prove it, but I think (as do some other people that I've talked to) that there are people on there that are going around down voting anything that relates to CF.

    3) "We should be seriously focused on generating great coldfusion programmers, that get fully trained and mentored to be great programmers" I couldn't agree more!

    ReplyDelete
  4. Shhh...don't tell anyone that ColdFusion is not really dead. I prefer that the IT community think it is, so they stay off my turf. Yes, there are a lot fewer ColdFusion jobs these days, then say, the year 2000, but there are even fewer ColdFusion developers, since most of them jumped ship when ASP.net came into vogue. Ask any ColdFusion hiring manager...CF developers are VERY hard to find. For the last several years, I've been trying to make the switch to another language, but I keep getting hired for ColdFusion.

    If you're having a hard time getting a ColdFusion job, trying applying for openings all over the country, and explain that you're willing to travel and/or work remotely, but you're not willing to relocate. If you're resume is halfway decent, you'd be surprised how many companies are desperate enough to make a deal.

    ReplyDelete