I'm primarily a small company kind of guy but I've done a couple of big enterprise gigs now. Currently I'm working for a large multi-national retailer and... well, it doesn't bring me a lot of joy. And why is that? Well, not because we're using .NET, although we are, and not because I'm surrounded by "derpy enterprise developers", because I'm not. In fact, I'd go so far as to suggest I'm in a derp free zone, yet it's still hard to get anything productive done.
Why is that? Well, here are a few issues:
- Culture,
- Politics and egos,
- Legacy - just tons and tons of legacy,
- Complex business requirements, often poorly or incompletely understood by everyone involved,
- Distributed teams,
- Sheer weight of numbers in terms of people and projects (remember Fred Brooks),
- Meetings, meetings, meetings,
- BAU,
- I could go on.
The current choice of technology stack doesn't even factor into the equation.
Legacy itself is a complex issue that goes way beyond technological concerns and can cut right through to how the business makes money at a fundamental level.