3

I want to make my career in ColdFusion. I'm trying to learn ColdFusion with this Book "Adobe ColdFusion 9 Web Application Construction Kit, Volume 1 - Getting Started"

So far I've reached Page - 350.

Anyways. I want a serious suggestions for making career as a ColdFusion Developer.

I need answers to these questions: (What I was really asking)

1) How much time would it take to master ColdFusion?

2) What frameworks are best?

3) What other technologies are required with ColdFusion?

4) What are your personal experiences as a ColdFusion Developer?

EDIT:

I know little bit of php and Java and when I compare it to ColdFusion, then ColdFusion seems to be a billion times easier than php. It's not that I don't like php, but just saying.

As I have some experience with Java I think it can help me with ColdFusion Development.

I planned to learn a new language once I do average with ColdFusion Development. Like Objective C. I don't know whether ColdFusion and iOS Development is a nice combination or not.

baburao113
  • 785
  • 2
  • 8
  • 12
  • 4
    Is there a reason you are wanting to become a cold fusion expert... It's questionable whether it will really last a language long term. The jobs are fewer, and very competitive - the language doesn't have a large open source community like python or php (from what I can find anyway, perhaps looked in the wrong places) and my personal bias; it just feels wrong as a programming language :D – Trent Jul 04 '13 at 16:36
  • I agree with Trent, what made you choose ColdFusion over other technologies/languages? – MrCode Jul 04 '13 at 16:39
  • 2
    @MrCode It does seem odd at first to those not familiar with CF, but it's come a long way since even just a few years ago. It's a great programming framework / language to learn for a beginner and onwards. But, to the OP, I would compliment your learning with something like PHP to see where the pro's and con's lay. Personally, I don't like PHP, but due to its popularity, it makes sense to look into. ColdFusion is a niche, sure, but you can also improve your CF skills by learning other languages too...as odd as that may sound. – Michael Giovanni Pumo Jul 04 '13 at 16:44
  • @Trent I chose ColdFusion because its easy to learn and easy to implement, write once run on multiple platforms with same output, built upon Java, ability to build enterprise applications, easy reporting charting, generate pdf reports on fly. Now with ColdFusion 10 we have HTML 5 support too! What else do we need here? – baburao113 Jul 04 '13 at 16:45
  • 2
    I can sense that this Q will be closed soon. Please consider posting at http://programmers.stackexchange.com/ for questions like this? – Henry Jul 04 '13 at 17:10
  • 1
    To non-CF people, see http://getrailo.org for an OS CFML engine and http://riaforge.org for OS CFML applications. – Peter Boughton Jul 04 '13 at 17:12
  • To baburao113: 1: It depends (on the dev); 2: It depends ([here's some](http://stackoverflow.com/questions/3361951/picking-a-coldfusion-mvc-framework)); 3: It depends (what you're doing with it). As Henry says, try Programmers.SE or [cf-talk](http://www.houseoffusion.com/groups/cf-talk/) for gathering opinions / discussion. – Peter Boughton Jul 04 '13 at 17:13
  • 2
    @MichaelGiovanniPumo that's the reputation it has though, easy for beginners. Kind of like comparing VB6 to C++. As a non-CF guy, I don't know if that's true in practice or whether it's just those that are biased say that. The question is, in 5 years time will you be happy you chose to learn the simplest/easy option or might you regret putting those 5 years experience in something else? Anyway, in answer to the question, as with any programming language, it takes some commitment, time, experience with real projects or real-like, trial and error, asking questions etc. – MrCode Jul 04 '13 at 17:30

4 Answers4

10
  1. Programming is both an art and a science. I suggest you will never "master" it, and you should take on a mindset of always learning and growing.
  2. A framework is a tool. Use the right tool for the job. Frameworks like FW/1 and Coldbox, though completely different, each serve a purpose.
  3. You should probably spend some time learning about the environments you will run in. Web servers like Apache, Nginx, and IIS. ColdFusion runs on Java, so it wouldn't hurt to learn more about Java as a language, as well as Java EE servers like Tomcat, etc...
  4. I make a living as a full time ColdFusion and .NET developer. CF doesn't always have a stellar reputation, but it can do job very well like most other web-based languages.

I would advice you never limit yourself to just one language/stack/OS/technology. Seeking out other perspectives only enhances your experience and ability.

Arjan Tijms
  • 37,782
  • 12
  • 108
  • 140
Adam Presley
  • 537
  • 4
  • 4
  • First of all thank you for taking time to answer. Yeah, I was planned to learn a new language once I do average with ColdFusion Development. Like Objective C. I don't know whether ColdFusion and iOS Development is a nice combination or not. And What are the most commonly used frameworks? – baburao113 Jul 04 '13 at 16:42
  • +1 nice answer. Seeking out other perspectives is a good point, but nobody wants to hire a developer that's a beginner in 10 languages and not intermediate/advanced in any. It's important to have or work towards solid knowledge/experience in one. – MrCode Jul 04 '13 at 16:43
  • @baburao113 Off the top of my head FW/1, ColdBox, Mach II, and Fusebox (older), and CFWheels come to mind. I even have one on Github called CF-Basis. – Adam Presley Jul 04 '13 at 17:14
  • @MrCode Very true. Experience has taught me, coupled with interviewing potential developers, that having solid experience is a huge factor. Past that it doesn't hurt to expand your horizons. I have interviewed more than one dev who did the same job for 10 years who knew nothing of what we needed cause they never took the personal time to grow. – Adam Presley Jul 04 '13 at 17:16
  • Agree with that, even if you don't get chance to use anything else in your employment, it's worth having a play around with other stuff in spare time. Not saying dev's should be coding 24/7 obviously but it doesn't take much time to dabble. – MrCode Jul 04 '13 at 17:19
4
  1. I was able to create useful things in one day. (Thank you cfinclude). After 15 years, I am still mastering it. ColdFusion is a part of a technology stack. One does not learn ColdFusion on its own. It is ColdFusion + HTML, ColdFusion + SQL, ColdFusion + jQuery, ColdFusion + Java. Some of the more interesting recent (July 2013) work I have seen is ColdFusion + angular.js.

  2. FW/1 works great for me

  3. See 1 above. In 2013, the place where ColdFusion shines, is it can bring very diverse technologies together in a clean format.

  4. This ColdFusion developer has had to deal with "Isn't ColdFusion dead?" for many, many years. At one time ColdFusion pushed the envelope in what was possible. Today, it doesn't. In many ways it is dead. Sure, Adobe is maintaining it. Railo is working on a very good clone. The momentum is not there.

James A Mohler
  • 11,060
  • 15
  • 46
  • 72
2

In response to 3) What other technologies are required with ColdFusion?

A typical ColdFusion application will include a database. Learn data modelling. It's the most important piece of the puzzle. A good database design will make everything else so much easier. To this end, I've heard good things about the book, Database Design for Mere Mortals.

SQL is also important. If your applications include a database you will have to write queries. I've also heard good things about the book, Teach Yourself SQL in 10 minutes, by Ben Forta, who also wrote your WACK.

A typical ColdFusion application will include web pages. Learn html, javascript, and css.

Good luck.

Dan Bracuk
  • 20,699
  • 4
  • 26
  • 43
1

It very much depends what type of work you want to do. If you want to build websites then cf is not the best solution as it lacks just about everything in thia area fue to lack of open source apps and creates more work for you as a result compared to php, you would be better off mastering the popular cms and open source systems and things like jQuery, css, bootstrsp etc.

If you want to build bespoke applications and work on backend systems then cf is perfect for that type of work as you are builfing something from scratch so cf still gives you the RAD advantage. If you like cf then you should Also should take a look at groovy, grails and railo.

I would suggest you look at what jobs are available in you area first before making a decision.

The other technologies you should learn depends again on what you want to do, front or backend. At the very least ajax, jquery, sql, html and css need to be learnt, you can't do much webvwork without those.

snake
  • 732
  • 1
  • 6
  • 11