Combine the water, sugar, and salt in a mixing bowl until the sugar and salt have dissolved, then sprinkle the yeast on top. Allow to sit for 5 minutes, until the mixture begins to foam.
Add the flour and butter. Use the dough hook attachment to mix on low speed until all of the ingredients are combined. Increase the mixer speed to medium and knead until the dough is smooth and pulls away from the side of the bowl, about 4 to 5 minutes. (Alternately, you can mix the dough with a wooden spoon until it comes together, then need by hand for 5 to 10 minutes, until the dough is smooth and just slightly tacky.)
Place the dough in a clean, oiled bowl. Cover with plastic wrap and place in a warm spot until the dough has doubled in size, about 45 minutes to 1 hour.
Preheat the oven to 450 degrees F. Line 2 baking sheets with parchment paper or silicone baking mats; set aside.
Combine the water and baking soda in a large, wide pot (a Dutch oven works perfectly for this). Bring the mixture to a boil.
In the meantime, turn the dough out onto a clean work surface and divide into 8 equal pieces. Roll out each piece of dough into a 24-inch rope. Make a U-shape with the rope, holding the ends of the rope, cross them over each other twice and press onto the bottom of the U in order to form the shape of a pretzel. Place onto the prepared baking sheets.
Gently lower the pretzels into the boiling water, 2 at a time, for 30 seconds. Remove them from the water using a large, flat spatula. Place the boiled pretzels back on the baking sheet, brush the top of each pretzel with the egg wash or melted butter (see notes) and sprinkle with coarse salt.
Bake until dark golden brown, about 12 to 14 minutes. Transfer to a cooling rack for at least 5 minutes before serving. Soft pretzels are best eaten fresh, but leftovers can be stored in an airtight container for up to 3 days.