Per prefigurare la mia risposta dirò che ho lavorato nel settore finanziario, quindi inizierò con una breve lezione di storia prima di approfondire il motivo per cui dovresti imparare il C ++.
Prima della versione di Java C ++ era la lingua utilizzata principalmente per le applicazioni bancarie, specialmente quando si trattava di situazioni a bassa latenza come HFT. Quando Java è diventato abbastanza stabile con lo slogan "scrivi uno, esegui ovunque" che le banche hanno iniziato ad adottare come nuova lingua predefinita per le applicazioni più piccole e, quando le prestazioni sono migliorate, hanno iniziato a usarlo per le più grandi.
Con questo in mente dovresti anche sapere che le banche hanno l'abitudine di scrivere entrambe le proprie cose di default (con alcune eccezioni) e non riscriverle se funziona solo a farle guadagnare; vedi molte applicazioni legacy che richiedono versioni antiche della JVM o una certa quantità di magia per funzionare, ma aggiungono valore per il business. Le versioni precedenti della JVM presentavano prestazioni allucinanti rispetto al C ++ al momento e, in effetti, le VM di generazione corrente, pertanto la scrittura di un sistema in tempo reale a bassa latenza non era probabilmente considerata particolarmente valida dal punto di vista delle prestazioni.
In altre parole, è probabile che manterrete una piattaforma esistente che probabilmente è stata scritta quando il C ++ era la lingua prescelta. Alla fine della giornata sarà Java o C ++, potresti incappare in qualche C o addirittura in un assemblaggio (improbabile). Inoltre, anche se l'applicazione è Java, è possibile richiamare JNI in C ++ per eseguire il sollevamento pesante, quindi imparerei il C ++ al punto in cui posso fare qualcosa di utile.
In termini di padronanza di C ++ su Java o viceversa: apprendi sia al punto che puoi passare un colloquio, ci saranno piattaforme là fuori che hanno Java, la padronanza verrà con l'uso.