This article, as with many, seems to be rediscovering a pilot system. There are even shades of second-system effect concerns.
Hmm... I find myself on both sides, though I prefer the second option by far. "Beautiful code" is indeed one phrase I use a lot :)
And of course this definition isn't black and white — there are people who fall on different sides of the line at different times, so it is more like a spectrum.
;)
Initially v1 is better because it is here and it works.
Later on, when v1 becomes a bigger mess with just a few critical additions, v2 will be worse because: v1 was supposed to have the faster development rate, right? Now we can't afford v2.
Management's initial love for v1's speed of delivery will make it impossible for v2 to actually deliver anything useful (with comparison to v1's current feature set.)
I find this v1/v2 idea ridiculous. I also find the idea of v1 programmers vs v2 programmers too apologetic. There are cowboy coders who write spaghetti code and are damaging to well functioning teams. And then there are real professionals with varying degrees of meticulousness. But real pros always end up defending and building v2 software.
That doesn't mean spike experiments and prototypes are bad. It is just that you don't present them to a management who's likely to try to promote them to production status. Good management would recognize prototypes as prototypes and demand production quality code for production.
I guess my point is; there are no v1 or v2 programmers, there are v1 or v2 companies/managers.
Fire Mary. Communicate reasonable constraints with Melissa and stay out of her way. She doesn't need your mentoring.