This is a couple of years old, but I really enjoyed this piece on Code-first vs Product-first programmers. It is true that some programmers are more focused on the code itself, its design and elegance, and not on the product they are building and the problem it solves.
It is easy sometimes to think “life would be so much better without any users!” But I’ve written code that ultimately wasn’t used by end-users and it is sad and soul-sucking. This has happened multiple times in my professional career as a consultant, which always surprises me, because why would anyone pay extra for something that doesn’t get used? But of course that wasn’t the plan, the project sponsor was convinced this was worth the time and money spent. Did we build the wrong thing? Probably.
Perhaps if cared more about the elegance of the code these situations wouldn’t be so painful. But I care about efficiency and productivity, and building applications that go unused is such a waste. Since I was part of those projects, I clearly was part of the problem, although generally speaking I took direction from project sponsors. As I’ve matured as a developer this has happened less and less, as I’ve gained more confidence to drag sponsors towards solutions that are more useful.
It is easy to get intimidated by the code-first programmers. (Oh dear, I’m not following the latest “best-practice” architectural guidance or pattern or whatever.) But then I remember: users don’t care about these things. Does it work? Does it solve a problem? Are people using it? YES!