Welcome!

ColdFusion Authors: Yakov Fain, Pat Romanski, Liz McMillan, Maureen O'Gara, Greg Ness

Related Topics: ColdFusion

ColdFusion: Article

Industry Viewpoint: The ColdFusion Knowledge Gap

"Will this gap fill overnight? No. Will it fill over the next six months to a year? Maybe."

This is something that has been simmering below the surface for a while, but needs to come out in the open.

There is a knowledge gap in the ColdFusion community and it is only getting wider.

There are a lot of what would be considered "entry-level" or "junior" developers out there. These people can use a good bit of the database functionality that CF offers, but don't push it much beyond a way to display database tables and insert and update data. Inline queries are the norm for this crowd and they rarely, if ever have anything to do with CFCs. Some of these people have been using ColdFusion for a LONG time, but they are not what we would consider an advanced developer despite all the time in the trenches. This group of people have been using CF the same way for years and are very comfortable where they are, in regards their skill level. They are not the type of developer who you can count on to design and architect an enterprise level application, but are very strong in maintenance roles.

The other side of the spectrum are your advanced developers. People who push ColdFusion to the limits of what it can do and beyond. These are people who architect applications from the ground up. These are developers who recognize the power of objects and what they can bring to a ColdFusion application. They tend to look at a project from a much higher level and can abstract concepts much easier and quicker than the previous group. They have embraced CFCs and gateways and exploited all that CF can do, plus tried to push ColdFusion to its limits and beyond.

Why is this even an issue?

The ColdFusion market is BOOMING right now. Look at Monster, HotJobs, etc. Everyone wants a ColdFusion developer right now. A lot of people want an entry level developer, or a junior developer. Who, but someone fresh out of school, is going to call themselves a junior developer? Most people who have been in the game for a few years consider themselves senior-level, or highly experienced ColdFusion developers. But are they really?

It doesn't take long for a ColdFusion developer to ramp up. I believe that someone who has a decent grasp of programming concepts (procedural or OO) can become a decent ColdFusion developer in 2 months. The problem comes when they reach a certain plateau of their skill set. At this plateau, they can use the basic functionality that makes ColdFusion viable and make a decent living. They do not much more with ColdFusion than your rudimentary database tasks.

The other option is for them to push themselves and their skill sets with regard to ColdFusion. This is where that divide begins to get filled in as you have developers who push themselves past the rudimentary ColdFusion skill set and explore objects. They don't have to master a framework or break some new ground with ColdFusion, they just have to break out of that skill plateau that has been good them up to now.

One of the great strengths, and possibly weaknesses, of ColdFusion is that it allows for this divide to be created. Developers can code in a procedural manner, or they can embrace the object-oriented methodology. Cries of developers complaining that ColdFusion is becoming too much like Java can be stopped with one sentence: You do not have to use the new functionality if you don't want to use it. Plain and simple.

Will this gap fill overnight? No. Will it fill over the next six months to a year? Maybe. It's up to people to want to increase their skill sets and break out of their comfort zones to fill that gap. Until developers are ready to break out of their comfort zone and venture into space they have not before, this divide will remain.

Are you ready to push your limits?

More Stories By Andrew Powell

Andrew Powell has been architecting and developing Web applications for over 10 years using ColdFusion, Java, ASP.NET and ASP. His background includes experience running IT Departments for firms in the executive search and aviation consulting fields. You can read his blog on everything ColdFusion, Java, Flex & AJAX at www.infoaccelerator.net.

Comments (3) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Marc 01/13/07 06:42:03 PM EST

Andrew,
I am one of those cf developers having + 1 year of experience. I know how to find my way in CFML. Most stuff I read about using CF (eg the Directory Watchers article) I find not too complicated and easy to understand. I could easily apply these in existing or new sites. But that doesn't make me an 'advanced developer'. What does is being able to architect webapps and being able to abstract things like you say.
I want to bridge that gap. So I would like to know: what specifically sets an advanced developer apart from the novice / intermediate in your view?
Can you give examples how your advanced developer would create a system like say, a CMS, a web based calendar, a chat system or even a simple online file repository? Are there resources like articles / books you can point to? It would be really appreciated - not only by me!

Marc

cvestal 10/30/06 12:12:57 PM EST

I think everyone should be thankful that ColdFusion is very robust, yet remains accessible to designers and others who do not necessarily come from a programming background. The line you primarily use to delineate between "junior" versus "advanced" is not realistic. OO versus procedural is a preference - and there are valid situations where procedural programming would be better to use with all factors weighed.

Personally, my current focus is on learning Java. I believe this would be a much more valid separation between those who are happy at a surface level versus those who want to delve deeper. Don;t get me wrong. I believe one of the best selling points for ColdFusion is its ease of use and relatively small learning curve compared to other languages.

The absolute worse thing that could happen to the CF community would be for "advanced users" to claim they are elite because of their programming preferences. As far as employers, they are more interested in results and the experience behind the results. More importantly, they are looking for people with a good attitude, willingness to learn, and good people skills working on a team.

CV

Phil B 10/30/06 08:23:47 AM EST

What is the best way for people who have settled in to the old ways cf coding to learn how to take advantage of todays CF capabilities? I want to increase my skillset. I attended CFUNITED this year. It was informative, but afterward, when you have noone around that is capable of helping you work through the tough stuff, it's difficult to advance on your own. I have found it difficult to learn how to take advantage of CFC's, Flash Forms, and actionscript on my own. Please Point Me In The Right Direction.

Thanks,
Phil B
Maryland