It’s usually an all-around headache-fest for newborn developers.
I don’t like developing for enterprise. That’s probably a clear and well-established fact already. I don’t like the way things go, how they’re supposed to work. I don’t like the amount of planning that is not as much required as it is implied it’s imperative you do. I don’t like the companies it is written by, nor the companies it is written for. I don’t like the way big companies work, I don’t like big companies, I don’t like.
With that out of the way, let’s dig into the meat of the matter. I am by no means an expert on the matter, and this post is more of a venting outlet than it is a serious writeup up my opinions and both sides of the coin. I’ll do a half-assed attempt at making it that, but you know me, it won’t even get close.
Yeah, enterprise software development. You’re working with “the big names” now. What does it mean, though? It means a lot of shit.
Development is spread out over so many people that the design documents, class diagrams and whatever else you once thought “but I’ll rarely ever need that” are not unlike a giant sticky spiderweb holding everything together, yet still so flimsy thin it can be torn apart with one wrong move.
All those people need to work on the same code, but different parts. This often means putting every single bit of functionality in a separate file, reinventing the wheel three times, writing a billion tests for trivial functionality that could very well be tested by taking one look at the application and clicking one button only once.
Oh and don’t forget about “muh frameworks”. Larger big companies don’t use them so they can retain control over every little thing (which is actually good), but smaller big companies do. And enterprise frameworks are pretty damn rough to work with. Separate everything from everything, do this and that in an overly complicated way, include this everywhere because you never know when it may be needed, boom.
Now, throw all those methodologies and ways of working onto some kid who’s only been programming for a year now, and you’ll see how disastrous it can be.
Again, this is not stuff I’ve (often) experienced, it’s just the tiny bits of enterprise I’ve encountered here and there. Still, my opinion stands.
Author’s note: I wish I could write decent articles, but I am lacking in both time and knowledge. Apologies to anyone who came here expecting a good and solid write-up on the evils of enterprise.