Preheat the oven to 400 degrees.
In a saucepan, heat the butter, water and salt over high heat and bring to a rolling boil.
Remove the pan from the heat and add the flour all at once stirring quickly until the dough comes together and forms a ball.
Let the dough cool for 5 minutes.
Add the dough to the bowl of an electric mixer. Or you can just use a hand mixer with the dough still in the original saucepan.
Add the eggs one at a time mixing in between each addition until the dough is smooth and silky. Be careful not to over mix the dough.
Scoop or spoon the dough onto cookie sheets that have been lined with parchment paper leaving enough room in between each since they will puff up.
Dampen your finger into a bowl of water and then smooth out the tops of each mound of dough.
Bake for 15 minutes in a preheated 400 degree oven.
Then reduce the oven temperature to 350 degrees and bake for an additional 30 minutes or until they are golden brown.
Pull the trays out of the oven and using a wooden skewer poke a couple of holes into the sides of each puff. This will allow the steam inside the puffs to escape so they can dry out and bake on the inside.
Return the trays back to the oven, only turn the oven off, and keep the door ajar for an additional 10 to 15 minutes or until they sound hollow when you tap on them.I use my metal kitchen tongs to keep the door ajar. Let the puffs cool completely on a baking rack before filling with pudding or whipped cream. Drizzle with melted chocolate or dust with powdered sugar before serving.