Why some developers are still hesitant to make the leap to MVC
I am a web developer. In a career where everyone is normally of above average intellect, well informed on the latest technologies and driven to write the most optimal and clean code that they can possibly write, prying the cold, dead corpse of an old framework or design pattern can be a near insurmountable feat. Why? Because it opens us up to one thing: vulnerability. And I don't just mean XSS and CSRF attacks - this is personal. All the sudden the proverbial rug (code behind) under which all our mess (3000 lines of business logic, data access, excessive event handling) was swept has been ripped out from under us!
I can only imagine how many developers, as they read this, are thinking, "this is 2012 and this guy is writing about switching to MVC. What a newb." As right as this statement is, it's just that sort of thinking that can paralyze us to hesitate to move on to bigger and better things.
It made me feel better that Scott Hanselman also worried about this sort of 'I'm a phony' mentality. A vast majority of developers have an elitist air about them, and in our field, it's a benefit. It is what makes us excel. We all like to code better, faster and stronger than the next guy, and we love to point out when a well-known blogger uses Close() and Dispose() instead of a using statement, but it also breeds an unavoidable insecurity when we want to switch to something new. It tells us that if we don't know a new technology from the inside out, we shouldn't switch.
- "Didn't we try this with classic ASP?"
- "Who is going to judge me when they see all this spaghetti Razor code?"
- "What is with all these helpers?"
- "What about security?"
- "But I just spent 1/5 of my life wrapping my head around Web Forms and the Page Life Cycle!"
- "Where does my business logic go?"
- "Name something I couldn't do with web forms in one tenth of the time it would take me to learn and write elegant code in MVC."
- "Why can't I just find ONE blog that tells me how to organize this crap?"
We forge our list of beliefs, and it keeps us safe from advancing our careers. Drew Greenwell, one of the senior Interactive Developers at LEAP, recently made a comment about ignorance being the cause of most security risks. A good point, and it's obvious that there is some front-loading that needs to happen when you do make the jump to a new framework, and that's why you don't go programming your bank's software in MVC the second day you're working with it. I could take all day justifying the hesitation ad nauseam, but instead, I want to answer those questions above. In part two of this two-part series, I will do just that.
Contributed by Tony Mayes, Interactive Developer