In a medium saucepan, whisk together the brown sugar, cornstarch, and salt.
Gradually whisk in the milk until the mixture is smooth and free of lumps.
In a separate bowl, lightly whisk the egg yolks.
Slowly add a small amount of the warm milk mixture to the egg yolks while whisking continuously.
Pour the egg mixture back into the saucepan and whisk to combine.
Cook over medium heat, stirring constantly, until the mixture thickens and becomes creamy.
Remove the saucepan from the heat.
Stir in the butter, vanilla extract, and heavy cream until completely incorporated.
For an extra-smooth texture, strain the pudding through a fine-mesh sieve.
Pour the pudding into four serving bowls or dessert cups.
Serve warm or cover and refrigerate for at least 1 hour.
Add whipped cream, chopped nuts, caramel sauce, or a pinch of sea salt before serving.