Для написания сложного бек-енда рекомендую C++ или Rust, а на Java/Kotlin можно только фронт сделать. Не фронт-енд. А фронт часть бек-енда.
Java или Kotlin? - Enterprise консервативен, а больше нигде не нужны ни J ни K, так что думаю все же Java.
Это на Android принято, чтоб все было последней версии, да и сам гугель прилагает большие усилия для пиара котлина и вытравливания джваы.