How to remove a column from the backend product grid for a particular backend role programmatically?

Step 1

Define your custom column.

Step 2

Handle its visibility.
You can do it both on the server side and on the client side.
To handle it on the server side, use a custom PHP class for the column.
To handle it on the client side, use a custom UI component for the column and handle its visibility.