Preheat the oven to 325°
1. Butter two 9-inch cake pans; line the bottoms with parchment. Butter the paper and flour the pans shaking out excess flour.
2. Spread the pecans on a baking sheet and toast for 8 minutes, until fragrant. Cool and finely chop the pecans.
3. In a bowl, whisk the flour, baking powder, baking soda, cinnamon and salt. In a small bowl, whisk the oil, buttermilk and vanilla. In a large bowl, using an electric mixer, beat the eggs and sugar at high speed until pale, 5 minutes. Beat in the liquid ingredients. Slowly beat in the dry ingredients just until moistened. Stir in the prepared carrots and pecans. Divide the batter between the pans and bake the cakes for 55 minutes to 1 hour, until springy and golden. Let the cakes cool on a rack for 30 minutes, then unmold the cakes and let cool completely.
4. For the frosting: In a large bowl, using an electric mixer, beat the butter and cream cheese at high speed until light, about 5 minutes. Beat in the vanilla, then the confectioners' sugar; beat at low speed until incorporated. Increase the speed to high and beat until light and fluffy, about 3 minutes.
5. Remove parchment paper and invert one cake layer onto a plate. Spread with 1 rounded cup of the frosting. Top with the second cake layer, right side up. Spread the top and sides with the remaining frosting and refrigerate the cake until chilled, about 1 hour. Slice and serve.