Как сделать социальный сайт и убить зайца с отсутствием навыка его разработки?
Ну давайте попробую ответить на часть ваших вопросов )
Начнем с главногоКак их [frontend и backend] вообще связывать?
Бэкенд - это то, что работает на сервере, фронтенд - то, что работает и отображается в браузере. Эти вещи разнесены в пространстве и времени. Общаются они между собой по протоколу http. Браузер отправляет запрос, сервер его получает, обрабатывает и выдает ответ браузеру. Тут вроде бы все должно быть понятно? Запрос-ответ в простом текстовом формате (http - hyper text transfer portocol). Вам этот протокол зубрить не нужно, браузер все делает сам. Просто для понимания.Как делать backend?
Это просто программа на каком-то языке. Чаще всего php. Подавляющее большинство шаред-хостингов предоставляют вам именно php. Самый низкий порог вхождения у php. Вот и начинайте с php. Пусть говорят, что он "умирает", что php гавно, и т.д. Зато на нем можно в максимально короткие сроки запустить сайт человеку никогда этого не делавшего.Как выбирать хостинг
Хостинг выбирают под сайт. Средне-статистический говносайтик (коих большинство в интернете) вполне себе нормально уживутся на дешевом шареде за 200-300 р/мес.
Т.е. идете к любому хостинг-провайдеру и покупаете у него один из тарифов. Многие предлагают покупку и привязку домена, зачастую со скидкой. Вообще ничего настраивать не надо.и как вообще выглядит "загрузка" сайта на хостинг?
У хостера вы получите данные для подключения к вашему серверу по (s)ftp/ssh, параметры доступа к базе данных и т.п.
После того, как напишете свой сайт у себя на компьютере, вы просто откроете ftp менеджер и скопируете файлы в папку на сервере хостера.Какие технологии использовать?
Вот тут интересно =) Технологий море. Океан. Для бекенда, для фронта, для разработки, для отладки, для тестирования, для деплоя... Нужны ли они все вам? 
Думаю на первом этапе не стоит зарываться и делать каждую мелочь по фен-шую. Закопаетесь с головой и не вылезете потом. Начинайте с самого простого - php на бекенде, jQuery на фронте, и простейший деплой по (s)ftp. Единственное, с чем стоит определиться сразу - это основа сайта. Будет это какая-то CMS или фреймворк - неважно. Лишь бы не самописное УГ.
И контроль версий. Сразу осваивайте git.
Остальное тлен. Потом приложится, когда будете получше во всем разбираться.
Вставлю еще свои 5 копеек. 
Если у вас есть команда (хотя бы несколько человек), разделите обязанности. 
Всем в равной степени учить одно и то же, не нужно.
Например пару человек осваивают тот же php, mysql, git (минимальный набор).
Другие пару фронт. html, css, js (что уметь сверстать страницу +- )
И достаточно кого то одного на координацию + роль сисадмина и по мелочам.
Минимальный набор: понимать что такое сервер и уметь с ним работать, проектирование БД,  git... Добавлять можно долго, но этого вроде должно хватить, что б появилось какое то понимание.Я подумал про php, но может есть готовые решения, а я хочу собрать велосипед
Готовые решения в этом случае, это фреймворки. Практически в любом (например Symfony, Laravel), из коробки реализована работа с БД, встроенный шаблонизатор, готовые методы проверки, валидации данных и т.д.  
Если цель, сделать хороший проект, то все что Вам написали выше и может что то из этого.
Если нужно на скорую склепать рабочий вариант, то можно взять какую то CMS-ку и немного переделать. (знания php всеравно понадобятся)