There are exceptions: (Protools, Solidworks) but I think that most of the time the best of breed ends up being built by its users, not as a product for sale to some users (VLC, Blender, Pandas, ...). Not to mention all of that software that just doesn't make sense as a product to begin with (Linux, TCP, Kubernetes...).
Focusing on software products, rather than on whatever the actual job is, creates a mountain of distractions related to marketing and billing and shareholder fluffing such that we'd have a lot more talent to apply if we stopped playing games with moats and applied ourselves instead to, you know, the tangible things that need to get done. We're on an increasingly inefficient path here, it seems like the available work gets less meaningful each year.
As for fragmenting the expertise pool... I'm not sure which represents more fragmentation:
- specialist users, together with their associated tool specialists (a.k.a. software engineers) such that the software folk are separated from each other
- tool specialists separated from the people who need those tools, such that the software folk are together
One group is split, but the other is unified, seems like more or less a wash to me. Or it did, pre-LLM. But now that AI is rather applicable to software problems I think it makes more sense to use it as a bridge between the software engineering diaspora such that they're as close as possible to their users (if not just being the users themselves).
Ask anybody who is not a software person: software people end up increasingly disconnected from reality the more time they spend in the company of other software people. It's why we have this: https://xkcd.com/2030/. We're better of helping the others, not helping each other.
Focusing on software products, rather than on whatever the actual job is, creates a mountain of distractions related to marketing and billing and shareholder fluffing such that we'd have a lot more talent to apply if we stopped playing games with moats and applied ourselves instead to, you know, the tangible things that need to get done. We're on an increasingly inefficient path here, it seems like the available work gets less meaningful each year.
As for fragmenting the expertise pool... I'm not sure which represents more fragmentation:
- specialist users, together with their associated tool specialists (a.k.a. software engineers) such that the software folk are separated from each other
- tool specialists separated from the people who need those tools, such that the software folk are together
One group is split, but the other is unified, seems like more or less a wash to me. Or it did, pre-LLM. But now that AI is rather applicable to software problems I think it makes more sense to use it as a bridge between the software engineering diaspora such that they're as close as possible to their users (if not just being the users themselves).
Ask anybody who is not a software person: software people end up increasingly disconnected from reality the more time they spend in the company of other software people. It's why we have this: https://xkcd.com/2030/. We're better of helping the others, not helping each other.