If a user does not have a role, keep redirecting them to the same form until they complete it? I have a form/node that I want all users to complete after logging in for the first time.  When the user completes the form (saves the node), they are automatically awarded the completed role.

If a user does not have the completed role, I want to keep redirecting them to the form no matter what links they click.

In Drupal 7, I could do this with Rules (event: content is viewed, condition: user does not have role, action: redirect).  However, in Drupal 8, Rules is still in alpha and I can't get it to work without crashing my site.  So what hook should I use to do this programmatically? (what's the hook for "user views a node"?)
You can use hook_entity_view, this is called when a user views any entity type, also hook_ENTITY_TYPE_view can be used if you want to redirect on specific entity type view like node.