To make the cake, pre-heat the oven to 350 degrees. Grease and flour three 9-inch round cake pans.
In a medium bowl, mix flour, cinnamon, salt, and baking soda until incorporated. In a mixer fitted with the whisk attachment, combine the sugar and the oil on low-speed. Slowly add the eggs to the bowl mixing well on medium speed. At this point, you can’t overwork the batter. Make sure the eggs are completely incorporated. Remove the bowl from the mixer and add the flour in two batches mixing until incorporated, but not overworking the batter. Gently fold in the carrots and the nuts.
Bake at 350 degrees for 25 minutes or until the cakes are golden brown and begin to barely pull away from the sides of the pans. Place the pans on a wire rack for about 10 minutes, then turn the cakes onto cake racks to completely cool.
Meanwhile, combine the cream cheese and butter into the mixer fitted with the whisk attachment and mix at medium speed until mixture is light and fluffy, about 2 minutes. Add the confectioners’ sugar and the vanilla, and mix until completely incorporated. Add juice if it the frosting seems too thick.
Place one of the cake layers onto a cake stand, top side down (this creates an even surface for the icing). Cover the layer with icing, then add the next cake layer. Continue adding the icing and layers, then place icing over the entire cake. Refrigerate the cake for about 20 minutes or until the frosting is set.