Preheat the Oven: Heat your oven to 350 degrees Fahrenheit.
Mix Ingredients: In a mixing bowl, combine 1/2 cup softened butter, 1/2 cup shortening, and 2 cups sugar. Mix until fluffy and smooth.
Incorporate Egg Yolks: Add the egg yolks to the butter mixture, then mix in 1 tablespoon of vanilla extract.
Combine Dry Ingredients: Beat in the buttermilk, flour, and sodium bicarbonate until well combined.
Add Coconut and Walnuts: Gently fold in the shredded coconut and chopped walnuts into the batter.
Whip Egg Whites: In a separate bowl, beat the egg whites at high speed until stiff peaks form. Fold egg whites carefully into the cake batter.
Prepare Cake Pans: Evenly layer the batter into three well-greased 9-inch cake pans.
Bake: Bake in the oven for 25-30 minutes or until a toothpick inserted in the center comes out clean.
Cool: Allow the cakes to rest for 10 minutes before removing them from the pans, and let cool completely on a wire rack.
Make the Frosting: In a bowl, mix the softened cream cheese, 1 teaspoon vanilla, melted butter, and 4 cups powdered sugar until it's smooth and spreadable.
Assemble the Cake: Frost between each layer and cover the top and sides of the cake with the cream cheese frosting.
Garnish: Lastly, garnish with additional chopped pecans and shredded coconut if desired.