The current state of enterprise software requires us to spend an inordinate amount of time simply keeping the stuff running. Not to disparage, as most of us are highly capable and intelligent, but seriously, it doesn’t take a rocket scientist to do most of this stuff. The development tools and methodologies provided by the enterprise software industry are absurdly inefficient and one could make the case they are complex for complexities sake (read J2EE, .Net, etc.). The packaged “solutions” are no better. Both support a robust consulting (and internal) work force whose goals are rightfully to keep bodies on site. Unless we start contributing beyond simply keeping the ship going, our jobs are doomed. Did Scotty ever get to beam down and get the beautiful alien girl? No, he spent his time up to his elbows in muck and duct tape keeping the ship going. I’m surprised they kept him – some engineer he was. I’d have kicked him and his shoddy workmanship to the curb a long time ago. Our only chance for keeping our jobs is to become innovators who find ways to enhance and automate business processes. We have to be profit, not cost centers. We have to be more efficient, which demands better development methods and packaged solutions. Why should it take weeks or months to build a new report? We can no longer accept the crap we’re given simply because “This is our development methodology, app server, database, etc. of choice". If we stay complacent and simply keep the ship going, our jobs will be outsourced to people who can do the same shoddy work we’re doing for a lot less money.