Heat the oven to 425°F. Line a baking sheet with parchment or baking mats. Cut the butter into small pieces — this makes sure it melts quickly and evenly.
Bring the butter, water, and salt to a rolling boil: Combine the butter, water, and salt in a saucepan. Place over high heat and bring to a rolling boil. The butter should be completely melted by the time the water comes to a boil; if not, reduce the heat until the butter has melted to avoid too much water evaporating, then bring it back to a boil.
Add the flour: Take the pan off the heat and add the flour all at once.
Stir vigorously to form a dough: Make sure all the flour is worked into the dough and no more dry flour remains. Once ready, the dough will resemble mashed potatoes.
Cook the dough on the stove: Place the pan back over medium heat. Stir the dough, mashing it against the sides and bottom of the pan and then gathering it up into a ball again — this dries out the dough and cooks the flour. Some starchy buildup on the bottom of the pan is normal. Continue cooking the dough for 3 to 5 minutes. The dough is ready when it pulls away from the sides of the pan to form a ball, the surface looks shiny and glossy, and it’s thick enough that you can stand a spoon upright in the middle.
Cool the dough: Transfer the dough to the bowl of a stand mixer with a paddle attachment. Beat on medium-low speed until the dough is just warm to the touch. The outside of the bowl should also be just slightly warm to the touch. Alternatively, you can cool the dough by hand with a stiff spatula.
Add three of the eggs: Whisk the eggs together in a small bowl. With the mixer on medium-low, add the eggs to the dough in four separate additions. (This can also be done by hand with a stiff spatula.) As each addition is worked in, the dough will at first become stringy and goopy, then will form back together into a soft dough. Scrape down the sides of the bowl as needed between each addition.
Check the dough: After the third addition, check the dough before adding the fourth. When the paste is ready, the dough should be soft, creamy-colored, and very smooth. It should also hold its shape when scooped. If you scoop up a little bit with your spatula and let it slide back into the bowl, it should leave behind a little “V” of dough on the spatula. Add the fourth egg, or just half of the fourth egg, if needed.
Portion the dough onto the baking sheet: Scoop the dough out onto the baking sheet. You can also transfer the dough to a piping bag to pipe into a ball shape. Piped or spooned dough should be about 2 to 2.5 inches in diameter. Space the puffs slightly apart on the baking sheet.
Brush the tops of the puffs with egg wash: This makes the puffs golden.
Bake for 12 to 15 minutes, then turn down the oven temp to 375°F: When the pastries look puffed, after 12 to 15 minutes, then lower the heat to continue baking.
Bake another 18 to 20 minutes: Exact baking time will depend on the size and shape of your puffs. Bake until the puffs are slightly puffed, golden-brown in color, and dry to the touch. They will detach easily from the parchment and feel hollow and light when you pick them up.
Lower the heat to 300°F and dry out the puffs: Continue baking the puffs to dry them out another 15 minutes or so. If you break one of the puffs open, it should not be wet or eggy on the inside; bake a few more minutes as needed.
Poke the puffs with a toothpick: Transfer the puffs to a cooling rack and poke each one with a toothpick or the point of a paring knife. This releases any lingering steam from the inside and helps prevent the puffs from getting soggy.
Cool the puffs completely: Once completely cool, the puffs can be filled or used for any recipe. Unfilled puffs can be kept in an airtight container for several days, or frozen for up to 3 months.