"I Design Representations"
"And now for something completely different..."
It was late afternoon on a Friday and, against my better judgement, I'd agreed to meet some friends at their favorite geek watering hole. Even at this early hour, the place was packed with twenty-something cube-rats eager to get a head start on the weekend. I had the misfortune of being the first of my clan to arrive so I waited quietly at the bar; nursed my beer, ignored the pudgy guy next to me, and kept an eye on the entry-way for a recognizable face.
"So, what do you do?" pudgy finally asked me as he slurped his whiskey on the rocks.
I gave him a quick look. Balding, cheap sport jacket over khakis, rumpled shirt, and an ugly tie. "I design representations for a living," I responded bluntly.
"A designer, eh? 'Fashion Forward' and all that?" he asked waving his drink in my direction.
"Representations," I repeated, leaning in to be heard over the thin gruel of 80s rock pouring from the docked iPod behind the bar. "I work with representations." The smell of burnt pizza lifted from his sport coat.
"Oh, I get it," he nodded. "My brother in-law is a lawyer. Represents sports celebrities. Lots of negotiations and stuff like that."
"Well, I work with content negotiation, not contracts."
'Pizza 'n Whiskey' shot me a puzzled look. "No law degree?"
"Nope. Computer Science."
"Ah! Computers!" he intoned as he took a gulp of brown liquid. "All about outsourcing nowadays, eh?"
"I do Resources, not outsourcing."
"Yeah, we're in the same game," he continued, ignoring my last remark. "I'm a Program Manager on that big integration project up at the university." Proudly stabbing the air with his free hand, he told everyone within earshot, "My team 'owns' the middleware!"
"Oh, yeah. Over ten months to spec it out; coming in at two years for the first release. Huge project." He stretched out the word 'huge' and ice clattered in his glass as he carefully traced a giant circle in the air between us.
"Sounds like exciting work."
"Never-ending work is more like it," he replied, turning to me and squaring his shoulders. "See, we barely get one part of the system done and then the users tell us they need some other piece of data on the screen or report or something. That means I gotta tell the programmers in India to start all over again." He counts out on his fingers. "New data tables. Rebuild the object layer. Update the business rules. Change the UI. Compile it. Test it. Deploy it. That stuff takes time, right? Hell, before it's all done the customer wants something else!" He paused, hitched his thumb under his belt and added, "Of course, we bill by the hour, so..."
"And lucrative." I was egging him on, now.
"Say, you're a computer guy!" His eyes lit up. "You know anything about ORMs? We could use another ORM guy. The last one quit on us."
"No, sorry. I'm an HTTP guy."
"Oh, well hey! We got HTTP stuff, too. All 'Ajax' this and 'Two-Dot-Oh' that." He used 'air quotes' to punctuate the buzz words for me. Then, as if taking me into his confidence, he reached up and put his arm around my shoulder offering me another hint of pizza and said quietly, "Frankly, I think that's all just fluff but the customers love it."
"Heheh, that's OK," he backed up and tossed me a big smile. "Every time they ask for that 'webby' stuff we end up bulding a whole 'nuther set of middleware." He waved his hands in the air, saying "One for the desktop, one for the browser." He looked like Moses parting the Red Sea. "It's great for the monthly billings, but a real mess on the back end." His voice trailed off as he contemplated the dwindling whiskey at the bottom of his glass. "Yeah, sometimes this web stuff can be a real pain..."
I felt a bit sorry for him. "It doesn't have to be that way, you know."
"I know. I know," he confessed. "I keep sayin' we need some way to write just one set of middleware that everyone can use. But every time we try it the Web guys complain, the desktop guys are unhappy, no-one can agree on a single data format, our perfomance metrics go to hell... Plus, every little change means we have to re-write all the client code, do a crap ton of tests again..." He slumped against the bar and stared off into space. "If only there was a way to do middleware differently. One that scaled well, didn't take forever, and let everyone get data the way they wanted."
After a short pause, his eyes slowly narrowed as he pointed his glass at me and asked, "What is it you do again?"
"HTTP. Resources and Represenations, remember?"
"Huh... Damned if I even know what that means." Shrugging his shoulders, he thrust his right arm out at me and we shook hands. "Take it easy, kid," he said as he tossed back his last bit of whiskey, turned around and leaned over the bar waving his empty glass as a signal for a refill.
I took that as my cue to head for the exit. I had some representations to design.