Dopo essere cresciuto calcisticamente, prima nel Maichingen e dopo nel Reutlingen 05, nel 2011 arriva nelle giovanili dello Stoccarda. Il 18 dicembre 2013 fa il suo esordio con la maglia dello Stoccarda II militante nella 3. Liga, terza divisione del campionato di calcio tedesco; in occasione della sconfitta esterna, per 1-2, contro il Borussia Dortmund II.[2] Il 26 aprile 2014 mette a segno il suo primo gol in carriera che permette alla sua squadra di vincere, per 0-1, contro l'Heidenheim 1846.[3] Con la conclusione del campionato lo Stoccarda II si piazza al 15º posto e il giovane difensore tedesco totalizza 6 presenze e 1 gol.
Grazie alle sue buone prestazioni con la maglia della seconda squadra, l'8 novembre 2014 fa il suo esordio, con la prima squadra, in Bundesliga; scendendo in campo, al 65º minuto al posto del compagno di squadra Daniel Schwaab, nella sconfitta esterna, per 2-0, contro il Werder Brema.[4] Il 23 novembre successivo gioca la sua prima partita da titolare, con la maglia dello Stoccarda, e per tutti i 90 minuti di gioco nella sconfitta casalinga, per 0-1, contro l'Augsburg.[5] Conclude la sua prima stagione da professionista con un bottino di 20 presenze.
La seconda stagione tra i professionisti non è delle migliori poiché nell'arco della stagione subisce vari infortuni che lo costringono a stare fermo ai box per parecchio tempo, in più la sua squadra si piazza al penultimo posto con la conseguente retrocessione. Chiude la stagione con 21 presenze.
Il 4 dicembre 2016 mette a segno la sua prima rete con la maglia degli svevi in occasione della trasferta vinta, per 0-4, contro l'Erzgebirge Aue. Il 21 maggio 2017 insieme ai suoi compagni conquista il primo posto nella 2. Fußball-Bundesliga riportando così lo Stoccarda in Bundesliga.[6][7] Conclude la stagione con 30 presenze e 1 rete.
Il 28 aprile 2018 disputa la sua centesima partita con indosso la maglia dello Stoccarda, in occasione della vittoria, per 0-1, contro il Bayer Leverkusen. Conclude la sua quarta stagione con la maglia dei rossi con 31 presenze.
PSV e prestito all'Union Berlino
Il 25 luglio 2019 passa a titolo definitivo al PSV per 10 milioni di euro. Il giocatore firma un contratto quinquennale, valido fino al 30 giugno 2024.[8]
Dopo due anni in cui ha trovato poco spazio viene messo sul mercato dal club olandese,[9] che il 1º luglio 2021 viene ceduto in prestito all'Union Berlino.[10][11]
Il 14 giugno 2022 il prestito viene prorogato per un'altra stagione.[12][13]