Preheat oven to 350 degrees. Grease and flour 3 9-inch cake pans.
Using an electric mixer, cream butter and shortening.
Add sugar and beat until smooth.
Add egg yolks and mix thoroughly.
In a medium bowl, whisk together flour, baking soda, and salt.
Add flour mixture to butter mixture alternating with buttermilk.
Stir in vanilla extract.
Stir in coconut and pecans.
Using a clean bowl and a whisk attachment, beat the egg whites until stiff peaks form. See below for tips on beating egg whites.
Fold in egg whites and pour batter into prepared pans.
Bake at 350 degrees for 22 to 25 minutes. Let cool.
To make frosting, beat cream cheese and butter until smooth.
Beat in powdered sugar 1 cup at a time.
Add vanilla extract and stir in pecans. If too thick you can add a tablespoon or 2 of milk.
Spread frosting on top of bottom layer of cake. Top with second layer. Cover with Frosting. Top with third layer and spread remaining frosting on top and sides. Store in refrigerator.
Video
Notes
Tips for Beating Egg Whites
Separate the eggs while they are cold, but beat the egg whites when they are at room temperature.
Use a clean bowl. Any traces of grease or oil will effect the volume you get in the eggs.
Make sure there are no traces of egg yolk in the whites.
Start slow and then increase the speed to high.
Do not overbeat the egg whites or they can become grainy in texture.
They are ready when you can hold the beaters up and the egg whites completely hold their shape.