A quick list of five reasons I'd hire a candidate with framework experience over one without. This isn't to say I'd avoid candidates without framework experience - if I could find someone with really good anti-framework reasoning, they'd probably be displaying most of these five!
Leading up to the Fusebox and Frameworks conference later this week, there's been discussion over whether or not "frameworks" are a good thing.
In accordance with my last post, I'm going to run the following statement before I keep writing:
<!--- define "framework" for the scope of this post --->
<cfset var framework = "Fusebox,Mach-II,Model-Glue" />
There's a set of business reasons as to why I'd hire a candidate with framework experience, and a desire to do more framework-based development, over a ColdFusion developer who purposely avoids using frameworks.
1. Common vocabulary
Before anything else, I know that a framework-based developer is going to "speak the same language," to some extent. Much like design patterns, that vocabulary of frameworks give developers common ways to simply convey complex concepts.
2. Safe cross-cutting implementation
Inside of the "big three" CF frameworks, I can rest assured that a developer can add cross-cutting concerns (examples: security, logging, behavioral changes) while performing minimal (or no) changes to existing code. This is an obvious benefit in terms of risk.
3. Community involvement
Unfortunately, I think there's a large population of what I call "ostrich" developers. These are developers who learned to write a basic CRUD application, gained self-confidence, then lost all interest in seeing how anyone else does anything, sticking their heads square in the sand.
My experience has been that someone with an active interest in frameworks is likely to be more interested in finding different or better ways to do things than their current skill set allows. Please not that this is statement is recognition of correlation, not causality. I didn't say that being a framework-based developer causes people to find better ways of doing things.
4. Portability
Working in the CF frameworks, people are going to encounter many of the same concepts that apply to other framework-based development environments (ASP.NET, Cairngorm, Rails, Struts, etc.). Therefore, it's probably going to cost me less money if I need them to work on a non-CF project.
5. Enforcement of better design
Using frameworks *forces* developers to think about how to do something. The rules of a framework exist for a reason - while some people may feel they're restrictive, it's usually because they haven't hit a point where the rules have come back to play in their favor.
9 comments - Posted by Joe Rinehart at 8:34 AM - Categories: ColdFusion MX | Model-Glue