We have hired a developer who we communicate with via upwork. We want him to be able to make any changes to the site, except to boot us out! Which Role should we assign to him - Admin? If so, is there any danger if we are Super Admins? Thanks for all thoughts.
"Developer" implies that he will have access to the code - in which case he has carte blanche to do whatever he likes.
If you actually mean he just has access to the site admin - and I assume this is multisite as you mentioned being a Super Admin - then a site Admin cannot remove a Super Admin / Network Admin.
Capabilities are very atomic - meaning if you wished to you could create a custom role with just the caps you want him to have access to.