I admit was really impressed when I discovered that I was compiling and installing binaries in userspace by default. With makefiles you can just "make install", it could be problematic just with libraries that need to be eventually symlinked in root. Binaries can be installed to .local/bin in userspace and most of the time they just work, you need to see if the path is exposed as env variable and they will act as expected and even pop-up in the various DE- menus...