Combine the rice, milk, granulated sugar, cinnamon, cardamom, ginger, and salt in a medium saucepan. Bring the mixture to a gentle simmer over medium heat, stirring often.
Reduce the heat to low and cook for 20 minutes, stirring every few minutes until the rice absorbs most of the liquid and turns creamy. Remove the pan from the heat and stir in the vanilla extract.
While the pudding simmers, preheat the oven to 350 degrees. Toss the pecans with the brown sugar, butter, and a pinch of salt on a small baking sheet. Spread them in a single layer and bake for 10 minutes, stirring once halfway through.
Spoon the warm pudding into bowls and scatter the candied pecans over each serving.