Design for the Future
by in Feature Articles on 2011-05-31There are dark things lurking in source control. There are blocks of code so twisted and ill-conceived, so warped that any unlucky programmer that happens upon them is sent screaming and gibbering to the pages of a CodeSOD. There are also subtle horrors; evil squirming things that lurk beneath simple, normal facades. Or perhaps not so normal; beware what waits inside a VB6 front end and a DCOM back end.
Rick had once browsed through some application code to estimate some minor upgrade to the Contract Manager application. The code, of course, was a proxy for documentation that didn't exist. There wasn't much to it; a small server side DCOM library with a handful of classes and a VB6 client with a small army of pretty straight-forward looking screens. In production, the client and server would communicate across a moderately slow WAN. He made his assessment and forgot all about it. The customer decided the changes weren't worth the cost, and Rick didn't hear of the application for some time.

Among the fringe benefits offered by John Ashby's company was the "employee discount purchase program." It's commonplace in many large organizations, and basically allows employees to use the company's bulk-buying discounts for personal computers and the like. The prices were rarely that great, especially when compared with what one could get at the local office warehouse with a coupon, but no matter – it was a popular program, especially for managers, and especially for their printers.
After 18 long months, it was finally time to celebrate. David M. and his fellow dev team members received word that their latest build had passed QA testing and was ready for delivery.
R. Young got his first job as a developer right out of college. He was a Programmer Consultant I, which meant that he'd be sent to a client site to fix bugs in some old system. But on his first assignment, he got lucky: the client actually wanted him and the junior-level programmer to develop a small application.