Why would you want to program in C++ if you’re not able to find your way around a C++ project? Finding the C++ function behind a blueprint function is trivial. Most of the time it’s the exact same name minus spaces, sometimes you might have to look up a DisplayName instead.
This kind of goes without saying nowadays, but get yourself Visual Assist X if you haven’t. Learn to use Open File (Alt+Shift+O), Find Symbol (Alt+Shift+S), Goto Related (Alt+Shift+G), etc. I can easily look at an unknown node in a blueprint example, hit Alt+Shift+S, then type in the first few letters of the node to instantly find it.
The look of blueprints has evolved over time and with lots and lots of UX feedback. The current look isn’t just a whim, I’m pretty certain this is what Epic has found works best over time. There are many options in the Graph Editors preferences tab where you can tweak the look as well.
Graphical scripting is always going to look a bit like spaghetti. Just like there are many coding styles, there will be different blueprint graph styles. But don’t discredit the entire concept on the simple basis of “it’s visually messy”. Even as a heavy C++ user, I still use blueprint a lot in some cases when it can severly reduce the amount of boilerplate required. After a while you start getting used to making quick judgment calls as to whether something would be faster to make in C++ or in blueprint.
EDIT: This choice of wording just kind of clicked in my head:
Surely you’re not directly copying the contents of blueprint functions into your own code? All blueprint functions can be called in native and you are doing yourself a huge disservice if you’re not making use of this.