Preheat oven to 350 degrees. Grease and flour three 9-inch cake pans.
Using an electric mixer, cream together butter and sugar. Add eggs one at a time, beating well after each addition.
Stir together the flour and baking soda. Add alternately with buttermilk to sugar mixture, being sure to begin and end with flour.
Stir in vanilla, coconut, and nuts. Pour into prepared pans. Bake for 30 minutes, checking cakes after 20 minutes. Don't over bake!
Allow to cool 5 minutes. Invert onto rack and cool completely.
Meanwhile, to prepare frosting, cream together cream cheese and butter. Add confectioners' sugar and almond. Beat until smooth. Stack cakes into 3 layers; spread frosting between layers, on sides and top.
Helpful hint! If you don't have buttermilk on hand, your can make your substitute by mixing 2 teaspoons of vinegar or lemon juice into 1/2 cup milk. I like to use lemon juice! For this recipe, you would double that...4 teaspoons into 1 cup of milk!