Паттерны, ПОТОКИ (блокировки, мьютексы, критические секции и прочее), конкьюрентные (поточные) коллекции, особенности тех-иных-других БД. Сокеты, весь стек TCP/IP, подробно. Написание тонн тестов. Довольно глубокое понимание языка (Java, С#). Код-то этот не циферки сортирует в массиве же. От фротенд до бекенд где-то 3-5 месяцев переходить, но это если в рамках компании, где ты уже работаешь. При условии, что ты тянешь хотя бы на джуниор-бекенда.