Position a rack to the center of the oven and preheat to 425°F. Place your 12-inch cast iron skillet in the oven to preheat.
Shuck the corn and cut all the kernels from the cob. Set those aside.
In a large bowl, whisk together the 2 cups of cornmeal, 2 teaspoons salt, 1 teaspoon baking soda, 1 teaspoon cumin, 1 teaspoon paprika, and ½ teaspoon black pepper.
In a small bowl, whisk together the egg and the ¼ cup of cool water. Add this to the cornmeal.
Add the 2 cups of buttermilk to the cornmeal mixture. Whisk everything together until smooth.
Cube the ½ cup of chilled butter into 1-centimeter cubes. Reserve two cubes of butter for greasing the pan, and fold the rest of it into the batter.
Mix the corn kernels into the batter.
When the oven has finished preheating, pull out the preheated cast iron skillet and add the 2 cubes of butter that you set aside. It will immediately melt, but swirl it around to grease the sides of the pan.
Pour in the cornbread batter and smooth it out. Bake the cornbread for 20-23 minutes, or until just beginning to turn golden brown. Be careful not to overbake, it might give you a really nice golden crust, but it will dry out the center.
While the cornbread is baking, finely chop the 1 cup of cilantro and add it to a medium bowl. Thinly slice the serrano peppers and add them to the bowl. Zest in ½ teaspoon of lime zest, and squeeze in the juice from the lime (about 1 tablespoon).
Add in the vinegar and olive oil to the cilantro mixture. Season with a large pinch of salt and mix. Taste and add more salt to taste.
When the cornbread is out of the oven, spoon half of the serrano cilantro dressing on top of the cornbread. Save the remaining half for serving.
Scoop the cornbread out with a spoon. Serve with the dressing on the side so people can add it as they please!
