Blueprints do have their purpose as well. I suggest you make sure the programmer knows which variables and processes you want to keep exposed in blueprints. If you hard-code too much then you’ll be reliant on a programmer to make any balancing tweaks you want to make.
I would actually argue that the more you move into blueprints the better, as it means you can quickly and easily tweak things such as jump height, player health, rate of fire and so on. C++ should cover all the “behind the scenes” stuff that you would never need to modify, like the jumping logic, networking (if you’re doing multiplayer), damage routines etc.
I guess the rule of thumb is “if I think I am likely to modify it for any reason, keep it in a blueprint, if not then put it in C++”.