Preheat oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a large bowl, whisk together the flour, sugar, cocoa powder, baking soda, baking powder, and salt.
In a separate bowl, whisk together the eggs, buttermilk, oil, and vanilla extract.
Add the wet ingredients to the dry ingredients and beat on medium speed for 2 minutes, or until just combined.
Carefully stir in the boiling water. The batter will be thin.
Pour the batter evenly into the prepared cake pans.
Bake for 30-35 minutes, or until a wooden skewer inserted into the center comes out clean.
Let the cakes cool in the pans for 10 minutes before inverting them onto a wire rack to cool completely.
Prepare the German Chocolate Frosting
In a medium saucepan, combine the butter, evaporated milk, and brown sugar. Cook over medium heat, stirring constantly, until the sugar is dissolved and the mixture is smooth.
In a small bowl, whisk the egg yolks. Gradually whisk about half of the hot sugar mixture into the egg yolks to temper them. Then, pour the tempered egg yolk mixture back into the saucepan.
Cook, stirring constantly, over low heat until the frosting thickens, about 8-10 minutes. Do not boil. Remove from heat and stir in the vanilla extract.
Stir in the chopped pecans and shredded coconut. Let the frosting cool slightly before spreading.
Assemble the Cake
Place one cake layer on a serving plate. Spread about half of the frosting over the top. Top with the second cake layer and spread the remaining frosting over the top and sides of the cake.
Chill the cake for at least 30 minutes before slicing and serving.
Notes
This cake is best served at room temperature. Store any leftovers in an airtight container in the refrigerator.