views:

344

answers:

10

I am a programming student in college. A company that uses ColdFusion has offered me an internship. Would it be a wise move, career wise, to take this internship?

+4  A: 

It would be wiser to take that internship than have no internship/job. However, be aware that ColdFusion isn't viewed ... all that seriously by many in the development community; but many of those who do use it swear by it. So, you will make yourself that much more valuable by having knowledge of a fairly "obscure" language and you may learn a technique/trick/methodology from ColdFusion that you can apply to other languages.

You'll also have the benefit of learning everything else that the company has to offer (engineering best practices, etc.).

Sam Bisbee
i use it, and i wouldn't swear by it.
Kip
Kip, fair enough. :-) Updated the answer to be more friendly to folk such as yourself. However, I will say that the majority of people that I have talked with who use CF are evangelists for it. Maybe it's divided between those who are stuck with the language and those who are evangelists for it? *shrug*
Sam Bisbee
I use CF, and love it for *very specific things*. As a general-purpose language, it's pretty terrible. As an easy-to-use web language, it's pretty terrific. +1 on learning a handful of languages, even if they are not directly useful. If nothing else, it shows htat you *can*.
Ben Doom
"ColdFusion isn't viewed ... all that seriously by many in the development community" -- but yet it's in use at over 12k companies (including more than 75 of the Fortune 100).Lemme break this down at the college level. ColdFusion is to Jay-Z as Kanye is to Ruby on Rails. ColdFusion is the original old school w/ staying power.
Adrocknaphobia
I use ColdFusion and PHP. I prefer CF over PHP.
JasonBartholme
I think ColdFusion programmers are outspoken about it by nature because most people who ask us about it preface the question with some form of "I know it's dying, but ...". :) That aside, I agree with your answer no matter what the language. Knowledge of any given language is an asset, particularly in a career where you can't exactly pick one language and run with it until you retire ... and learning new languages will help you learn other new languages ...
Dave DuPlantis
+2  A: 

If you have never been offered an internship before, then I would say yes.

Rumors of ColdFusion's death have been greatly exaggerated, and some tools that Microsoft created are based on ColdFusion principles.

Robert Harvey
Wouldn't that mean that it *is* dieing though then? If other tools (which are more widely used) are borrowing from it, then that's great, it means it had something to offer, but... those other tools will just get more popular instead of promoting CF.
Matthew Scharley
@Matthew Scharley: that's a play on a famous mark twain quote: "rumors of my death have been greatly exaggerated"
Kip
A: 

In this economy if you don't have any other internships available to you then I would jump on it. That said, you might want to consider what you will get from this versus spending the time on something else. ColdFusion is a fairly old technology but if you are tracking other languages and tools outside of the internship I don't see a major problem with it. There are really too many factors and information that you are not able to provide with your question to give a great answer to this.

BrianLy
CF8 or CF9 (beta now) is not that OLD.
Henry
Well - they're not old at all - "mature" maybe, but not "old". CF itself is the oldest dedicate web development language, but it has been been under continuous development (by Tier One companies).
Jim Davis
+1  A: 

I worked for 5 or so years in a ColdFusion development company now I'm programming in PHP. ColdFusion has been slowly losing popularity over the years but a lot skills you will learn will still be relevant for other web based development languages especially with the growing emphasis on front end code since web 2.0. I found the move to PHP to be pretty straight forward as both languages are basically designed to do the same sort of things.

So I'd say go for it, it will be a good place to get a solid grounding in web based programming and give you plenty of opportunity to learn JavaScript and database code as well. But I would advise choosing a more popular back end language to get familiar with in your spare time as ColdFusion jobs can be a little hard to come by and it might get worse in the future.

Good luck!

Jai
+11  A: 

Take it. ColdFusion may not be a "growing" language to some (it actually is growing in use, albeit slowing), but it's far from unused. In any case learning ANY language is useful - ColdFusion, especially, if you want to focus on Web applications.

Learning ColdFusion (or ASP or JSP or PHP or Ruby or....) well will give you:

+) An understanding about HTTP transport and how it works in an application: what runs where (server/client) and how the two parts interact.

+) An understanding of all common programming constructs: loops, variables, pass-by-value, pass-by-reference, boolean math, etc.

+) An understanding of all common programming methods: procedural programming, OO-programming, recursion, threading, etc.

Learn ColdFusion well and you've more than half learned every other web application language as well - the hard part is always the theory and best practices. Don't get bogged down in the syntax.

Jim Davis
You'll also have the chance to learn a lot about database programming most likely;one of CF's greatest strengths is its data base querying feature set.
Ollie Jones
+2  A: 

Unless you have other offers, I would say to absolutely take it. ColdFusion is a programming language, so you will be getting real-world programming experience to put on a resume some day. Plus ColdFusion experience will train you in web development, and it will teach you the same principles that are used in .net, J2EE, and especially PHP development.

Having full-time working experience on your resume helps a lot when you graduate, to give you an edge over other students who may not have working experience. Plus, you'll have other languages (Java? C++? C#?) that you are using in your college courses, so it's not like ColdFusion will be the only language you're capable of using.

In my own experience, I had a summer internship in an IT department where I learned a lot of Access and SQL stuff, which happened to land me a co-op job the next summer as a software tester at a cell-phone company which happened to want someone cheap to build an Access database for them. The next summer, with two full-time internships under my belt, I had an edge over other students in applying for another co-op position at IBM, where I was a WebSphere tester. Even as a tester at IBM, I got the chance to write Java code (to test WebSphere you have to write WebSphere apps). So by the time I graduated, I had a full year's worth of experience, which stands out for someone hiring an entry-level employee. In fact, my manager at my first job after college specifically told me (after hiring me) that one of the main factors in her hiring decision was that I had experience at a 40-hour-a-week work for a similarly-run corporation.

Now, of my three internships, only one touched on any actual programming, yet it helped me greatly to get where I am today as a programmer. So I'd say an internship where you are actually doing programming, even in ColdFusion, is a great idea for your future.

Kip
+1  A: 

I cut my teeth on CF for server-side programming (just before 4.0 came out, and it was still owned by Allaire)

From what I've heard from old coworkers, it's still kicking some ass.

It's an internship. Try to get a sense of how smart the non-interns are. If they're smart, and it's your only current opportunity, jump right in.

I managed to very painlessly move from CF to Perl/PHP/ASP (classic in those days) nearly 10 years ago.

Server-side programming is server-side programming. Especially when you're young and inexperienced, don't fret about the language.

Instead, take an internship where you'll work for smart people who know their poop and can teach you. You're there to learn big-picture stuff, not become a niche specialist.

timdev
+5  A: 

Take it!

Take this opportunity to learn these skills, concepts and tools while you get paid, how nice is that!

  • How Session work over HTTP
  • Practice writing good SQL
  • web app security (XSS, SQL Injection, DB, etc...)
  • MVC pattern (any MVC framework like Model-Glue or ColdBox)
  • learn to use SVN or Git or whatever source control they use
  • ORM like Transfer, Hibernate if they're using CF9
  • jQuery!!!! LEARN IT! You'll need it sooner or later
  • DDD (Domain Driven Design), if you get to design anything
  • Unit Test (with MXUnit or CFSpec)
  • Setup Eclipse with CFEclipse and other useful plugin's
  • IoC (aka ColdSpring), if you get to design anything
  • explorer the power of typeless language (e.g. Duck Typing)
  • Watch as much UGTV and Adobe TV on CF as you like or when u have time.
  • If you need help or any question, ask here (stackoverflow) or the CF Twitter Army, I'm henrylearn2rock btw. You're welcome to follow me :)
  • Learn RIA (Flex & AIR with CF + LCDS / BlazeDS) for awesome desktop experience

You see? Many of these are high level enough that you can learn and carry over to many other web-programming languages!!!

If you have time, join some CFMeetup LIVE session, very cool, FREE! http://www.meetup.com/coldfusionmeetup/

Henry
Most of those points are not implied by "uses ColdFusion"
David Dorward
doesn't matter, the original question is looking for values in taking a ColdFusion job, not just "uses ColdFusion".
Henry
ColdFusion is just a tool. What one should learn in the job is how to be a professional software developer who specializes in web-programming.
Henry
One should, and hopefully the job will provide those opportunities, but there is a good chance it won't.
David Dorward
:) you never know. I landed myself a job like that right after college.
Henry
give CFWheels some love :)
rip747
+2  A: 

Granted, I work for Adobe as an evangelist, but I say go for it. I would repeat a lot of points made here. Especially that we have tripled the size of our developer base in the past 4 years to the tune of 778k.

That being said, I would throw in that interning in a ColdFusion shop is not going to limit you to only learning ColdFusion. You don't typically just use ColdFusion to exclusion of all other tools at every level; there are several technologies that tend to be used with ColdFusion that are also valuable to learn:

  • HTML
  • CSS
  • JavaScript
  • Some flavor of SQL
  • Flex
  • Ajax Libraries (JQuery, ExtJS, Spry being the most used in this space)

So, as an internship, look at the entire stack you get to play with, not just one piece of it.

Terry Ryan
+1  A: 

Coldfusion experience pays quite well. Most Coldfusion developers are busy and can take on only so much work, there is always extra work in CF for some reason, which is great for new developers.

At the end of the day a language is just syntax. Learning to solve real world problems with appropriate architecture, processes, etc., is invaluable that you will take to any lanugage. I would not look at life as only learning or working with one language.

Good luck!

Jas Panesar