Dans ce cas, voici une liste non-exhaustive afin de mener à bien ton projet :
-Architecture réseau : client/serveur
-Protocole réseau TCP (Nagle etc.)
-Base 2, opérations binaires de base (décalages etc), endianess
-Comprendre un paradigme de programmation (fonctionnelle ou orientée objet, voir un mix des deux comme le fait c#, rust..)
-Comprendre ce qu'est un test unitaire, un test d'intégration et un test end-to-end
-Comprendre des dizaines de patrons de conceptions (Strategy, ECS...)
-Programmation concurrente (threads, async, actor model) ainsi que leur primitives respectives
-Principes SOLID
-Probablement un ORM + des connaissances sous le SGBDR sous-jacent
-...et des dizaines d'autres choses
Je recommanderai probablement le Kotlin ou le C# pour ce projet. Elixir peut aussi être un excellent choix.
Bonne chance !