Craft is caring about the x in y = mx + b, while the so called "it's a means to an end" care about the y.
The difference between "craft lovers" and "doers" is that one operates at a better fitting abstraction (that is more aligned to the values of capitalism).
You can say "doers" are just "craft lovers" in and of itself - there is little distinction between them - this is just reiterating the change from binary to high level languages.
I like that description. Maybe use y = f(x); now craft lovers care about the f, while doers care about the y. You usually cannot do much about the x.