A livello giovanile, Rubin ha giocato per i Westside Metros, prima di entrare nella IMG Soccer Academy. Successivamente è stato ingaggiato dagli olandesi dell'Utrecht, per cui ha avuto l'opportunità di debuttare in Eredivisie in data 17 agosto 2014, schierato titolare nel successo casalingo per 2-1 sul Willem II.[1] Il 29 novembre successivo ha trovato la prima rete, nella vittoria per 1-5 in casa del NAC Breda.[2]
Il 31 gennaio 2017, Rubin è stato ceduto a titolo definitivo dall'Utrecht ai danesi del Silkeborg.[3] Ha debuttato in squadra il 2 marzo, sostituendo Robert Skov nella sconfitta per 5-0 contro l'Aalborg, sfida valida per la DBUs Landspokalturnering 2016-2017.[4] Il 5 marzo ha giocato la prima partita in Superligaen, subentrando ad Andreas Albers nel 2-0 inflitto al Randers.[5] Ha chiuso la stagione disputando 4 partite tra campionato e coppa.
Il 29 luglio 2017, i norvegesi dello Stabæk hanno reso noto che Rubin si era aggregato al resto della squadra per sostenere un provino, nell'ottica di valutarne l'ingaggio.[6] Il 4 agosto ha firmato ufficialmente un contratto col club, valido fino al termine della stagione in corso.[7]