Sure, but I'm going to move myself into the line of fire by suggesting that some frameworks can encourage the development of bad habits and anti-patterns - especially those that prevent projects from being easily re-arrange-able in the future.
Sometimes the choices made presumes a specific application is built and then a junior developer over-commits to the current state of a dynamic application and thereby precludes the application from easy future repurposing to match the dynamics of the actual products intent.
What do I mean by that? You can call this "concreting the abstractions". The abstractions given by frameworks have to be implemented in a concrete manner in order to build the application - duh.
But then what you often get are ill-equipped abstractions layered on top (square peg in round hole syndrome) and then the concrete implementation on top of that.
Then the rug gets pulled out from underneath that.
The naivete of a Junior Anything is a lack of perception of the nuances of the craft - an ignorance of the consequences of actions - and the wisdom to have the right kind of deductive minimal execution to get from objective to actualization.
All too often, the frameworks give you a bag of hammers and say "alright, figure it out". With This approach, the limits of excellence are quite low.
This matters for the long term with the customers ... you want them ecstatic and to follow you in a near cult-like fashion --- not just merely shrugging their shoulders and cocking their head sideways as they abuse the product in a disenchanted ritual.
Anyone can do that. There's no beauty or value there - and it's not how you create a following. There is a meaning to art and mastery - when you do it right, everyone gets it.
It's the unquantifiable quality that Robert M Pirsig discusses in Zen and The Art of Motorcycle Maintenance, or what Tim Leberecht talks about in the Business Romantic. These things matter - otherwise we are all soulless hacks.
Sometimes the choices made presumes a specific application is built and then a junior developer over-commits to the current state of a dynamic application and thereby precludes the application from easy future repurposing to match the dynamics of the actual products intent.
What do I mean by that? You can call this "concreting the abstractions". The abstractions given by frameworks have to be implemented in a concrete manner in order to build the application - duh.
But then what you often get are ill-equipped abstractions layered on top (square peg in round hole syndrome) and then the concrete implementation on top of that.
Then the rug gets pulled out from underneath that.
The naivete of a Junior Anything is a lack of perception of the nuances of the craft - an ignorance of the consequences of actions - and the wisdom to have the right kind of deductive minimal execution to get from objective to actualization.
All too often, the frameworks give you a bag of hammers and say "alright, figure it out". With This approach, the limits of excellence are quite low.
This matters for the long term with the customers ... you want them ecstatic and to follow you in a near cult-like fashion --- not just merely shrugging their shoulders and cocking their head sideways as they abuse the product in a disenchanted ritual.
Anyone can do that. There's no beauty or value there - and it's not how you create a following. There is a meaning to art and mastery - when you do it right, everyone gets it.
It's the unquantifiable quality that Robert M Pirsig discusses in Zen and The Art of Motorcycle Maintenance, or what Tim Leberecht talks about in the Business Romantic. These things matter - otherwise we are all soulless hacks.