- Architects are more skilled in PowerPoint, than popular Java IDEs (OpenOffice ist still rare in real world :-))
- It takes several DVDs, sometimes hours, even to install the basic infrastructure (like appserver and database)
- Some popular servers take several minutes to start and deploy - you have to repeat this procedure several times a day
- It takes longer to open a case (and reproduce a problem) for a bug of the appserver, than fix it by yourself (of course if you had the source :-))
- It is hard to find developer hardware, where the "enterprise" development tools run efficienlty - ...and because they were expensive, it is hard to get rid of them...
- The architects love layers and tiers - several mapping procedures are needed just to pass a persistent entity from the persistent layer to the presentation
- Everything is configurable, replaceable and mockable. The XML overhead is huge. The question is: When did you really needed to replace something in your passed projects?
- Either it is waterfallish, or agile with all buzzwords and strange rituals. Both sides could be extremely inefficent. It seems like sometimes it is hard to be just rationale...
- Developers are sometimes too extreme: either everything is overengineered with millions of patterns or best practices, or hacked down in "go to spaghetti" fashion
- "The thrill is gone..." many developers, architects and managers just lost they enthusiasm and passion. This is one of the main reasons, why many projects are just so inefficient...
- HA, Clustering, etc. is used even for "guestbook-like" applications. Complexity rules!
- Strange QA rules (like documenting obvious getters/setters) drive the development and maintenance costs
Just my observation hacked down in 2 minutes in Starbuck/Munich :-) What's your favorite? Do I missed something?
NEW: Effective Java EE 7 -- Available For Streaming