Using a stand mixer with paddle attachment, cream the butter, eggs and sugar together. You can use a handheld mixer or rubber spatula if you don't have a stand mixer.
Add milk and vanilla to the butter and sugar mixture, continue to mix until combined.
In a large mixing bowl, whisk together the flour, baking soda, salt, and set the bowl aside.
Make a well in center of flour mixture and pour in the wet mixture. Use a rubber spatula to combine the flour with the wet mixture. Lightly flour your hands and form the dough into a ball.
Place the ball of dough on a floured surface, knead the dough 4 or 5 times and roll it out using a rolling pin. The rolled out dough should be ¼-inch thick.
Use a small cup to stamp the donuts and then use a bottle cap or the wide end of a pastry tip to punch a hole in center of each donut. Place each of the donuts on a large metal baking sheet.
Cover the donuts with a kitchen towel and let them rest for 1 hour.
Heat the oil to 350°F and drop the donuts in. Fry them in batches of 4. Keep an eye on the oil temperature. Adjust the flame to make sure the oil temperature doesn't exceed 365°F.
Fry the donuts for about 1 minute on each side or until golden brown. Use a metal slotted spoon to flip the donuts and transfer them to a cooling rack or a plate lined with paper towels.
Prepare the calda de caramelo and dip the top of each donut in halfway or submerge completely. While the caramel is still warm, top the donetes with shaved coconut (optional).