In a large bowl, soak the rice in 4 cups water for for 25-30 minutes. Drain the rice and reserve the soaking water.
In a large sauté pan over medium heat, melt 2 tablespoons of butter. Add the shallots and cook until soft, 3-5 minutes. Add the drained rice to the sauté pan and cook and stir until the rice crackles, about 2 minutes.
Add the reserved cooking water, along with the salt and pepper, and stir gently to combine. Bring to a simmer, then turn the heat to low and simmer, uncovered, for 12-15 minutes, or until rice is tender. Do not stir.
Remove the pan from the heat and spoon the rice into a large bowl.
Return the pan to the heat and add the remaining 2 tablespoons of butter. When the butter is sizzling, add one cup of the cooked rice back to the pan. Cook until the rice is browned and crispy, about 5 minutes.
Stir the crispy rice back into the cooked rice. Add additional salt and pepper, if needed, before serving.