Preheat the oven to 350 F (176 C).
Wash, peel, and grate your carrots (we use the coarse side of our grater) and set aside until ready to add to the batter.
Add your eggs and both sugars to the bowl of a stand mixer.
Using the whisk attachment (you can also do this using a handheld mixer!) beat the eggs and sugar together until light in color, and about doubled in volume. The mixture should also thicken, and when you lift the whisk out of the mixture, the mixture that runs off back into the bowl should sit on the surface for a second before sinking back in - this is ribbon stage!
In a separate bowl, combine the dry ingredients (flour, baking powder, cinnamon + additional optional spices, and salt) and whisk together really well.
In a liquid measuring cup or bowl, mix together your milk, oil, and vanilla extract.
Add half of the wet ingredients to the egg and sugar mixture in the mixer and mix on low for 10-15 seconds.
Add half of the dry ingredients to the bowl of the stand mixer and mix on low for 10-15 seconds, until incorporated. Scrape down the sides of the bowl if needed.
Repeat adding the remaining wet ingredients and mixing, and adding the remaining dry ingredients and mixing. Give the mixture a few folds with a rubber spatula at the end to make sure nothing is stuck on the bottom.
Add in your grated carrot and gently fold into your batter.
Grease and line two round baking pans (we used two 9 inch (~23cm) diameter pans) with parchment paper.
Divide your batter evenly between the two pans.
Put them in the oven on a center rack (next to each other) to bake for about 25-35 minutes. The cakes will be done once a knife/skewer inserted in the center of the cake comes out clean.
Once the cakes are baked, let cool in the tins for 5-10 minutes, then turn out onto a wire rack, remove the parchment paper from the bottom, and leave to cool completely.
While the sponge is cooling, prepare the cream cheese filling. Add butter to the bowl of a stand mixer and whip until it becomes lighter in color and texture.
Add in the powdered sugar, a pinch of salt, vanilla extract, and orange zest (if you want to). Continue to whip this until it's a light and fluffy consistency.
Add the cream cheese in two batches, mixing until well-combined, and this should give you a smooth, lump-free cream cheese frosting.
When the cakes have cooled, you can decorate however you would like! We made this into a layer cake by trimming off some of the rounded tops.
Slice each of the cakes in half so you have four cake layers.
Place the first layer on a plate or cake stand. Add icing to the top and spread in an even layer (keep in mind that we will have four layers of icing, including on the top, a little bit left for the sides, and some extra for piping on top as well, so divide the icing accordingly!)
Add another cake layer, and repeat with icing the top, until you get to the last layer! Add icing on top of that layer as well.
Using a bit of icing on an offset spatula or knife, fill in the gaps around the edge, but leave the cake edges bare (for a bit of a "naked" cake look!)
We like to use the rest of the icing to pipe dollops in a ring around the edge on the top. You could also just add this icing all around the edge instead!
Add any additional decoration, such as sprinkles, slice, and enjoy! Make sure to store this cake in the fridge.