How you do this depends on what you mean by “files”. For programs that you’re writing, non-sensitive configuration files, or notes, consider using Github. Apps, images, movies, music and other large files should be backed up as much as you possibly can. I run my own cloud service with Nextcloud and use this to duplicate almost everything I save on my computers. Movies and music go straight to the same server which also runs Emby so that I only need to store media in one location. When I finally get a backup service like Crashplan, I’ll only have one computer that needs backed up. This isn’t a cheap or simple solution, but it’s robust.
Since it seems you’re using macOS, you can automate almost everything in Bash. You’ll also likely be able to leverage some sort of package manager so that you don’t need to back up many apps or settings. I have an install script in my dotFiles repo that will detect whether I’m running on Mac or Ubuntu/Manjaro/Arch and install everything I need to get going. For the Mac specifically, I’ve got a separate setup script that takes care of most of the settings I like. i3, Gnome, and KDE settings can be stored in files so I don’t bother with a Linux setup script.
Thanks to the combination of offloading large files and automation scripts, I can go from a fresh new computer to something that feels like mine in less than an hour. To me, that’s much better than having a complicated backup solution. Still, don’t discount the usefulness of Time Machine to do this stuff, too. Spring for a Time Capsule, make sure everything you care about is covered and rest easy.