It's up for debate, but I would define "staff" as "here is a vaguely understood problem we believe has to be solved; find out what it is, whether it actually is a thing, why it happened, whether it is worth the time to solve, and finally guide others to solve it for us." It can get manager-like, but the lack of direct person oversight is distinct enough IMHO.
The creators of the software you mentioned are rarely in a role defined as such. If you really want to go the hard-core coding path, the startup scene is the best place to look.
> I would define "staff" as "here is a vaguely understood problem we believe has to be solved; find out what it is, whether it actually is a thing, why it happened, whether it is worth the time to solve, and finally guide others to solve it for us."
I would define that as "software engineering". What else are any of us doing all day? The compiler's job?
The creators of the software you mentioned are rarely in a role defined as such. If you really want to go the hard-core coding path, the startup scene is the best place to look.