Tuesday, September 4, 2012

Deployment will Eat Your Lunch

They generally tend to congregate in Starbucks, Brooks Brothers outlet stores, and marinas – the business-person who gazes longingly, nay desperately, at his comrades using an user-friendly uber-trendy iPhone while he keys away on his standard-issue company Blackberry. Our friend’s golf-buddy observes his plight, and raises his eyebrow in just subtle enough fashion to perfectly communicate the commentary, “Blackberry? How very 2003.” The tragic part is that this is not our unfortunate friend’s fault. He didn’t choose to organize his work life using the mobile equivalent of MySpace and LA Gear – his employer simply issued him this sidearm because that was the company standard, and nothing so gauche as an iPhone could ever be allowed to connect to the corporate network.




Code Only a Mother Could Love: Writing Enterprise Software

If you ask a group of computer science students what they think they’ll be working on once they exchange tuition for paychecks, you’ll generally hear a mix of dreams and ambitions about projects and organizations that will allow them to impress members of the opposite sex at parties:


    Your company is not on this list

In reality, however, most of us will not end up writing software that the collective population of the computing world installs on their desktops, targets military drone strikes, or occupies the free time of a significant chunk of the world’s population. Instead, most of us end up writing Enterprise Software. On the face of it, we don’t think of enterprise software as being very hip – sure, you can feel good when you say you write mission critical “Enterprise Level” business apps, but does your mom get excited when she tells her bridge buddies that her baby boy spends his days writing a program that migrates sales data from Initrode, LLC’s online storefront to its data warehouse?

Well, maybe your mother’s catty friends won’t appreciate the finer points of a Multi-Tier Service Oriented Business Intelligence portal, but that doesn’t mean you won’t grow to love your bouncing baby codebase. Deep down, the reason we love developing software has very little to do with what our application actually does in the real world. No, our love of coding springs instead from something deeper – the process of creating something out of nothing with only our keyboard and compiler, and all the analysis, problem solving, and skill enhancement that comes along for the ride. That’s why we can have the time of our lives writing an Online Portal for Vendor Authorization Requests or some such nonsense.



Does this look familiar?

Unfortunately, most of the blogs out on the interwebs about writing software seem to ignore the lowly Enterprise Application, instead focusing on small start-ups, products downloaded by thousands of people, or public web applications. Enterprise Apps have their own set of issues, challenges, and considerations.

I intend for this blog to tackle the broader issues of software development from the perspective of The Rest of Us – those who labor long hours to build systems that less than a hundred people will ever use, who measure the install base of our products on one hand, who can talk to every one of their customers at the company picnic, and who regard the acronym “UAT” with equal senses of excitement and dread. The applications we write aren’t glam, they’re not cool, and they’re certainly not sexy, but we’ll agonize over a performance issue and hunt down a bug like it was a space shuttle launch controller. This blog is dedicated to Code Only a Mother Could Love.

Cross Posted at the Computer Technology Solution Blog