Pour the entire gallon of milk into the stock pot, add the sugar, and stir to combine. Set the mixture over high heat and keep an eye on it so you can catch it before it boils over. This should take 20-30 minutes. Meanwhile, mix the baking soda with 2 tbsp warm water and set aside.
Once the milk comes to a boil, remove it from heat. Slowly add the baking soda mixture, just 1/2 tsp at a time, waiting 30 seconds between each addition, so that it won't boil over. Give it a very gentle stir (again, to avoid causing the milk to boil over) and immediately return to medium heat.
Allow the milk to simmer, uncovered, without stirring for at least 3 hours. You can certainly cook the dulce de leche at a boil in less than 2 hours. Cooking it at a lower temperature, however, will give you a deeper, more complex flavor.
Once you hit the 3 hour mark, stay close to the pot. The dulce de leche should be a deep brown color and have reduced by over half. Watch for it to start boiling slowly, like molten lava. This is the point where you have to start stirring. Use a wooden spoon to stir continuously, for 10-20 minutes, constantly scraping the bottom of the pan, to allow the dulce de leche to continue to thicken without burning.
The dulce de leche will be properly thick when: 1. As you quickly scrape the pot, you can see the shiny metal bottom for a flash of a second. 2. It coats the back of the spoon without running off. 3. It is a very dark brown, almost the color of melted dark chocolate.
Turn off heat and allow the dulce de leche to cool for 10 minutes before pouring it through a strainer into a medium bowl. You should have between 5 and 6 cups. Stir in the vanilla and salt and adjust to taste. For an extra smooth product, run a stick blender through it for 30 seconds. If you don't have a stick blender, a regular blender or a food processor will work just fine. Pour the dulce de leche into heat-proof containers and allow to cool on counter completely before refrigerating. Dulce de leche will keep well for several months in the fridge but there's not much chance it will be around for long!