What makes you a good ColdFusion programmer?

CFUnited , ColdFusion Add comments

What makes you a good ColdFusion programmer?  This is a question that came up recently over a couple of beers with some CF developers I really respect.  This is something I always get pretty passionate and defensive about. Our talk evolved from a discussion on the CF Community in general, and being at CFUnited right now it seemed really important to talk about with the rest of you.

I've always felt that the great transitions ColdFusion has made from simple tag language to one with rich object-oriented tools has left a notable proportion of the CF community feeling a little disenfranchised, or at least that they had 'fallen behind'. Shifting from simple 'include' architectures to rich, OO-driven frameworks has changed the way many CF leaders approach problems and discuss solutions, and many resources typically focus upon the more advanced styles of development.

The result is, whenever I've gone to conferences there has always been a significant proportion of CF developers who were shy about discussing their skill level, or revealing much about their coding style. If the conversation progresses far enough, it usually becomes evident that it's because they consider themselves ColdFusion "hacks".  What defines a hack?  I suppose its somebody who doesn't bother with conventions, or frameworks, or understand database normalization, or bother with the various myriad of OO concepts and definitions.  Maybe they don't use CFC's ... hell, maybe they don't even understand what they are for.  They could possess a mixed bag of skills, from basic spaghetti coders who have integrated a bean factory to those who write pristine sets of well commented code that is cfinclude'd ad infinitum.

Or, they could just be what other 'elitist' types don't consider worthy of the title "programmer".

The fact is, the two most successful (or at least the wealthiest) ColdFusion programmers I know would both comfortably, happily call themselves hacks.  Both have made millions via their code, and neither of them have ever used a CFC, much less employed a framework.  Sure, they fret and swear every time they have to make a significant change to their code, and yes probably it takes them many times longer to do than if they had done it 'properly' in the first place, but in the end they've done more with their limited CF skills than most of the knowledgeable developers I know.

I also know several 00-purists who struggle to make a living, and occasionally suspect that it's their "by-the-book" approach that damages their productivity to the point that their projects take twice as long to complete.  While it leads to many enjoyable and heated discussions about 'correct' vs. 'works well and takes half the time', I do feel for these guys who are so passionate about their tools that they lose themselves in the process of making a living.

Of course I'd encourage any CF developer to expand his/her horizon.  ColdFusion OO takes some mental pushing & shoving to get a handle on, but it'll be worth the effort.  Frameworks too will enrich your life and (once you are used to them) make your development faster and cleaner.  Then there's ORM, caching, event-based development and a host of other skills that can make your development sing.  But do you need them?  Are they what will finally define you as being a ColdFusion developer? No.

The fact is, if you use <cfset>, you're a ColdFusion programmer.  If you treat your code with respect (comments, organization), and your clients with respect (testing, thoughtful interfaces), then you are a good ColdFusion programmer.  If you get excited about ColdFusion, and get a little tingle down your spine when your application updates database content from a form, you're my kind of Coldfusion programmer. If you share your passion and excitement for the things you've done with CF, from the tiniest form post to the biggest ColdBox/Grails integration, then you're the kind of ColdFusion programmer our community needs.

Welcome to the club!

(By the way, if you are looking to improve your skills ... just saying, no pressure ... check out Charlie Arehart's cf411.com site.  It's a great place to start)

8 responses to “What makes you a good ColdFusion programmer?”

  1. The Gneech Says:
    As a hack who's always trying to improve, thanks for the comforting words!

    -TG
  2. brian Says:
    Unless you can actually talk in 1s and 0s then chances are that compared to someone out there you're a hack.

    Strive to be a better programmer while being as productive as you can be.
  3. Lee Says:
    I find that while many fret over methodologies, languages, etc., I like to start at the true source point for success - your customers. Do they receive solutions that meet their needs, in the desired time frame and budget, with minimal issues (either implementation or ongoing maintenance)? Your customer doesn't know or care about CFCs. What ever you are doing, if you do it really well through the entire application lifecycle, then you are fine.
  4. John Sieber Says:
    @Grant- Thanks for the inspiring as well as educational post. I agree with your statements for sure.
  5. DJonesAX Says:
    I loved this article. This is exactly the reason why even being a programmer myself, I dislike programmers. :-) Ask any C programmer and they will say VB programmers are not true programmers. There is a right tool for every job and a right way to code which is subjective to the job. If the app works as the customer requested, performs well, is secure, stable, and won’t cost a million dollars to maintain then who cares about frameworks, CFCs, and so on... Like Lee said, your “customer doesn’t know or care about CFC’s”, but judgmental programmers do! I don’t know how many times as a Lead developer I had to reign coders back in because they were spending way too much time on items that only satisfied themselves personally. Soap box dismounted!
  6. JAlpino Says:
    While I beleive that skill set has something to do with making someone a 'great programmer', I think their level of Passion and Interest are more defining.

    On a side note, the comment that you made regarding folks that you know who had made millions(kick ass!!) and have never touched a CFC vs. those you know who are purists and struggling, is proof positive that skillset has no bearing on your ability to monetize your work.

    One lesson that I learned early on in transitioning from a programmer to an entrepreneur (still transitioning btw) is that your code usually accounts for 5% of your product's success. This can be debated but ultimately your clients, management and customers don't care what framework you have used, what design patterns you have incorporated or that you have objects like AbstractDelegateServiceFactoryInterface, but rather that you have produced a product that works, meets expectation and was completed in a timely fashion.
  7. Lola LB Says:
    Thanks for this post! I've always felt a bit insecure about my coding skills. I didn't major in computer science, and I'm not a "numbers" person. Sometimes it takes me a while to completely understand stuff. But I do have great respect for others who are smart enough to create all those frameworks and such. I'm here at CFUnited and it's great learning new stuff.
  8. Shawn Holmes Says:
    A good ColdFusion programmer is one who *knows* when s/he is making a bad decision in code.

Leave a Reply

Leave this field empty:

Powered by Mango Blog. Design and Icons by N.Design Studio
Clicky Web Analytics