Bloom the yeast: In the bowl of a mixer, add the warm milk, brown sugar, yeast and stir it with a fork slightly. Let it stand for about 5 minutes. If the yeast is good, the mixture will get all foamy as the yeast dissolves. It could take a bit longer but if your yeast does not dissolve, see recipe notes.
Make the dough: Add the flour and salt to the bowl. Using the dough hook, mix on low speed for about 5 minutes until the dough is smooth and very soft. I used about 3 1/4 cups of flour, but if you need more because the dough is too sticky than just add more, about 1 tbsp at a time. You might want to start with 3 cups and add as needed. Remove the dough from the mixing bowl and knead for a couple more minutes on your working surface. The dough needs to be soft and slightly sticky. Place the dough back in the bowl, wrap it with plastic wrap and refrigerate it for an hour.
Prepare the butter: While the dough is chilling, prepare the butter. Arrange the sticks of butter horizontally on a piece of plastic wrap. Cover the butter with another piece of plastic wrap. Pound and roll out on both sides until the butter forms a nice 8 by 5 inch rectangle. Cover with plastic wrap and refrigerate until ready to use.
Laminate the dough: Flour your work surface lightly then roll out the dough into a big rectangle that's about 16 by 10 inches. Place the butter directly in the center of the dough and fold the dough as you would a letter, bottom third of dough over butter, then top third down over the dough. If you have any excess flour, make sure you brush that off.
Turn the dough so that the short side is nearest you and start rolling it another 16 by 10 inch rectangle. Fold in thirds like a letter again. This was the first fold. Wrap it up in plastic wrap and chill it for another hour.
Repeat as above. With the short side near you, start rolling until you get another 16 by 10 inch rectangle. Fold it in thirds again, wrap and chill for another hour. Repeat this 3 more times so that it will make a total of 5 folds. After the last fold, refrigerate it over night or at least for 8 hours.
Shape croissants: Cut the dough in half, freeze half if you're only going to use half of it. Roll out each piece of dough into a long rectangle, so that it's about 1/4 of an inch in thickness. I found it easier if I cut the piece into 3 pieces, so that I work with 3 squares. Using a pizza cutter, cut each square into 4 triangles.
Using one triangle at a time, start rolling from the wide side, at the same time, stretching the end of the triangle. Continue rolling the croissant, and as you'll notice because you stretched into a long piece, you'll be able to roll the croissant a few times.
Repeat this with remaining dough and place the croissants on an ungreased baking sheet, with about 1 to 2 inches in between them.
Let the croissants sit for another hour, you'll notice they'll rise a bit, then brush them with egg wash. You can make the croissants ahead of time and refrigerate them for up to 18 hours before baking. If you're making them ahead, make sure to cover the baking sheet with plastic wrap.
Bake croissants: Preheat your oven to 400 F degrees. Place the baking sheet in the oven and bake the croissants for 8 to 12 minutes at 400 F degrees then turn down the heat to 375 F degrees and bake them for another 8 to 12 minutes. You want to make sure they are nice and golden brown.