Heat the oven to 350 degrees F.
Into a large mixing bowl, sift together the flour, sugar, brown sugar, baking powder, baking soda, cinnamon, nutmeg, ginger and salt.
In the bowl of a stand mixer or in a medium bowl using a hand mixer, whip the eggs until they thicken and ribbons form when the beater is lifted, 3 to 5 minutes. Slowly add the oil and vanilla extract to the whipped eggs.
Gently fold the liquid mixture into the dry ingredients to form the batter; it may feel a little thick. Add the shredded carrots and gently but evenly fold them into the batter.
Pour the batter into two (8-inch) round pans lined with parchment. Bake until the cakes are puffed, golden and set, and a toothpick inserted comes out clean, 35 to 45 minutes. Rotate halfway through for even baking. Remove and set aside on racks to cool before unmolding.
In the bowl of a stand mixer or in a large bowl using a hand mixer, beat the cream cheese and butter until well blended and lightened in texture. Beat in the vanilla until blended.
Slowly beat in the powdered sugar until the icing is smooth and spreadable, then frost the cake.