Preheat your oven to 350°F (175°C). Grease and flour three 9-inch round cake pans.
In a bowl, whisk together the flour and baking soda. Set aside.
In a large mixing bowl, cream the butter and sugar until light and fluffy. Add the egg yolks one at a time, beating well after each addition.
Alternate adding the flour mixture and buttermilk to the butter mixture, beginning and ending with the flour mixture. Stir in the vanilla, coconut, and pecans.
Pour the batter into the prepared pans. Bake for 25-30 minutes or until a toothpick inserted into the center comes out clean. Let the cakes cool in the pans for 10 minutes, then remove to wire racks to cool completely.
For the frosting, beat the butter and cream cheese until smooth. Gradually add the powdered sugar, beating until light and fluffy. Stir in the vanilla.
Frost the cooled cakes, stacking them as you go. Garnish with additional coconut and pecans if desired.