Grease and flour three 9-inch round baking pans and preheat the oven to 350 F.
Using a hand held or stand mixer, cream together the butter, shortening, and sugar until light and fluffy.
One at a time, beat in the egg yolks and vanilla extract. Measure the flour in a separate bowl and mix it with the baking soda.
Alternately add the flour and buttermilk in various additions to the butter/egg mixture just until combined.
Whisk the egg whites in a separate bowl until stiff peaks form.
Fold the whipped egg whites, chopped pecans, and shredded coconut into the batter and divide it evenly between the prepared cake pans and bake for 20-25 mins or until a toothpick inserted in the middle comes out clean.
Let the cakes cool down for 10 mins before removing from the pans. Let them cool completely on a cooling rack.
Make the frosting: beat the softened cream cheese and butter using a handheld or stand mixer until fluffy. Beat in the powdered sugar and vanilla extract until fluffy.
Spread frosting over the top of one cake, place another cake on top of this one, spread frosting over the top cake, then top this larger cake with the last of the cakes. Frost the entire cake, top and sides, until fully covered.
To garnish: toast 2 cups of coconut for 3-4 minutes in a 325 F oven, and sprinkle this plus ½ cup chopped pecans on the sides of the cake. Store the cake or any leftovers in the fridge for up to a week.