Preheat the oven to 350F. Line two baking sheets with parchment paper.
Place the butter, brown sugar, and granulated sugar in a large bowl. Use a stand mixer or hand mixer to mix until combined, about 2 minutes.
Add the molasses, egg, and vanilla extract. Mix until combined, about 1 minute.
Add the flour, cinnamon, ginger, baking powder, and salt. Mix on low until the flour is just combined.
Dump the dough out on a lightly floured surface. If the dough is sticky, add a sprinkle of flour on top of the dough. Use a rolling pin to roll out the dough until it’s 1/4-inch thick. Use cookie cutters to cut out the dough. Once you’ve cut as many shapes as you can fit, re-roll out the scraps and cut out again until all the dough is used.
Transfer the shapes to the baking sheets, spaced at least 1/2-inch apart. Bake for 6-12 minutes, depending on how large the shapes are. Bake until the center of the cookies are just set in the middle. Let the cookies cool on the baking sheet for 5 minutes, then transfer to a cooling rack to cool completely.
Once cooled, make the icing. Add the powdered sugar, milk, and vanilla extract to a bowl and whisk until smooth. If you want to use the icing to draw on the cookies, start with 1 tablespoon of milk. If you want to dip the cookies, start with 2 tablespoons of milk. Adjust as needed. If the icing is too runny, add more powdered sugar, if it’s too thick, add more milk. Decorate the cookies and enjoy!