I've been using Spectacle [1] for 3 years now and it's been great. Note: it appears to have been discontinued in favor of Rectangle [2]
It's the first thing I landed on after switching to primarily OSX at work (I used i3 when I had a Linux dev box) so I'm not sure if it's the best among the alternatives; but I've been pretty happy with it.
Another great tool is Hammerspoon [1] for Mac. It has a lot of plugin and allowed me to get rid of a lot of small tools. It’s free and open source. It allows me to set key shortcut for my app, windows manager, timer “à la pomodoro”, caféine (screen does not go to sleep), etc... cannot live without it!
I am using Amethyst [1] right now as a "tile" window manager which is easy to set up and works as intended.
[1] : https://ianyh.com/amethyst/