For someone who knows nothing about self-hosting, where should I start? I'm a self-taught junior dev but haven't had a chance to dabble with any aspect of deployment yet... willing to learn though.
Setting up your own DNS like pihole and a personal vpn to enable you into your home network when outside is usually a good starting point. Or even simpler and potentially useful setup your own gitea instance, it's easy just use the sqlite backend.
Set up a basic web server, then try something like WordPress/Drupal (with some database backing it)... then maybe SMTP/IMAP with spam/av filtering and a web frontend (roundcube/squirrelmail)... that will probably keep you busy for a few months :)