Any time I’m discussing coding with a few friends, I find myself feeling like a huge coder-poser for my love of pre-made frameworks and open-source CMS’s. As I get around to showing a client or friend the backend administration area of a site, I always cringe when they love it because I know the discussion will roll around to me saying, “yeah, I actually didn’t code all that but used an open-source content management system.” And they respond, “…oh.. well neat…”
I can fully appreciate the purist folks that, “An 80×88, a monochrome CRT, two 9 volt batteries, and Notepad are all I need to code!” That’s awesome. “I like knowing that I’m not relying on syntax highlighting or auto-code completion to think for me. I could literally go anywhere and code a site.”
Call me a lazy bastard, but if someone has already written a fairly decent framework, for me, I’d rather spend 10-15 hours reworking the way Joomla renders content, or even creating my own content component, as opposed to spending over 25-40 hours writing my own classes and files that would also handle sessions, caching, user management, etc. When you look at the pre-made CMS’s that incorporate database abstraction, MVC architecture, routing & SEO-friendly URLs, and crap-loads of helper functionality like CakePHP or CodeIgnitor, or even a complete content management system like Joomla or Drupal, I don’t really feel the need to re-invent and start from scratch.
Grandma did two things perfectly, homemade maple syrup, and scratch made biscuits for Sunday Brunch. She knew what she knew and she was excellent at what she knew. So I completely understand the pure, hand-coding side of it. You really do write the tightest code for Exactly what you need. There are no superfluous lines in your code. There were no preservatives or ingredients with names sounding more like Klingon than the King’s English in her biscuits. There is no bloat in your code. You know how to work PHP like 18yr. old beer-cart girls know how to work aging, overweight republican’s on a golf course. And Grandma surely knew how to work that egg-beater like a… eh… next.
I believe the point I’m trying to make is, to me, that’s fantastic that you’re Mister go-anywhere coder. You truly know your craft good sir! Huzzah! But ask Grandma to take that syrup-n-biscuit-making-knowledge and scale it from family Sunday Brunch, to, say, inner-city school cafeteria biscuit making. She may make the best biscuits, but if Granny can’t cook the little bread-puck’s fast enough, not even Michelle Pfeiffer could tame those hungry masses. *cue’s Coolio*
Hey whatever happened to Michelle Pfeiffer? Catwoman, Dangeous Minds, then… oh, thank you IMDB. Hairspray, that was the last thing I saw her in. Anyways…
I guess the beautiful thing about the web and coding is that we can faction-up and discuss (argue) the finer points of perfect, precision-focused, efficient hand-coding versus using a pre-made, open-source CMS, or even just a well designed framework. Yes you can write some awetastic scaling php application as good if not better than a Framework, but the key variable in all this is time. And between Jack Bauer and myself… We’re Running Out of it!!
It does make me cringe every time it takes 30 minutes to upload a complete Joomla install to my web server. The point isn’t the dogma of any method. Grandma didn’t hand-make the best biscuits ever to rub it in your face any time you went to Hardees or Bojangles when pressed for time. It didn’t make you less hungry. It doesn’t make you less of a biscuit connoisseur. You don’t think less of friends when they go thru the drive-thru.
The fact is, as a developer, you have options; it’s a toolbox, and you’re the coding genius in charge of picking the right tool for the right job. You have been given a mission. Satisfy this hunger. Develop this site. For the most part, unless you’re designing a site for someone that has a particular bias, whether you choose to hit the drive-thru, or make it from scratch, as long as the food’s on the table by the end of the day, and proper dues have been paid to site security, everyone eats happily.