Take the pork shoulder, cut it into 4-6 pieces, season with salt and ground black pepper, and let it marinate for 30 minutes at room temperature.
Meanwhile, whisk together the BBQ sauce ingredients and set aside. Then, combine together the dry rub ingredients also set aside.
Preheat the oven to 135C (270F).
Take the pork shoulder pieces and rub them with the dry rub mix.
Melt some butter in a Dutch oven (4qt/4 liters) over a medium-high heat and brown all pieces of the pork on each side. When done, remove the meat from the Dutch oven and place it on a clean plate.
To the same Dutch oven, add extra butter if needed and cook the onions and garlic until slightly browned. Then, add a splash of water to deglaze the bottom of the oven and place the browned meat back. Stir the meat, onions, and garlic together.
Add the beer and beef broth to the meat, cover the Dutch oven with a lid, and place in the preheated oven for 2.5-3 hours or until the meat shreds easily.
After, remove the Dutch oven from the oven, open the lid and - using 2 forks - shred the meat. Add the BBQ sauce, stir everything together, and return to the oven for 30 mins to 1 hour with the lid off.
Serve it hot topped with chopped cilantro and lime wedges.