The mandate for the modern developer is mastery first in OO design, second in 'language' syntax. Indeed Agile practices cannot succeed without systemic team-wide mastery in design or you iterate to a dead-end' more then not.
Sure the first release may get released, but it has no chance of longer term strategic viability to the organization, and that is where we are measured now. The 'throw-away' software project is not for us, as we have much larger work to do.
It's astounding how many fight these facts and attempt to hold onto the past history of failure around 'Visual Basic' driven one-off development. Far too many in .NET still behave this way and indeed have no knowledge of a 'better way'.
You just found a way to fix that.