Summarize:

Bring to a boil, stirring until the butter has melted. Take the saucepan off of the heat and leave to cool slightly for 2-3 minutes. Add the flour to the butter mixture and beat with a wooden spoon or whisk until everything comes together. Put the saucepan back on the heat and beat vigorously until everything is off the sides of the saucepan. The dough will lump together and there will be a film on the bottom of the pan. Transfer the mixture to a large bowl or the bowl of a mixer. Add the eggs one at a time, beating well with a wooden spoon or electric mixer after each addition. It may seem like the mixture will not come back together, but don't worry, it will - just keep beating. Line a baking sheet with parchment paper, then transfer the warm mixture into a pastry bag. Pipe approximately 18-22 drops of pastry onto the baking sheet, about one inch apart.  The pastry drops should be about 1 1⁄4 inches (3.2 cm) wide and 1 inch (2.5 cm) high. If you do not have a pastry bag, you can use a spoon to place drops of pastry on the baking sheet. Moisten your finger with water and use it to lightly press down the swirl at the top of each puff. At this point you can also brush the pastries with egg wash, if you would like them to be shiny after baking. Place the baking sheet in an oven preheated to 425 °F (218 °C). Bake for 15-20 minutes until they are puffed and golden brown.  Prick each profiterole once with a skewer, then return to the oven to dry for about 3 minutes, propping the oven door slightly ajar. Cool on a sheet of baking paper on a wire rack.
Put the water, butter, salt, and sugar in a saucepan. Add the flour. Add the eggs. Transfer to a pastry bag. Smooth the peaks. Bake the pastries.