Rinse chicken inside and out and pat dry with paper towels. Season generously with salt and pepper on all sides and a generous pinch on the inside too. Stuff cavity with vegetables if desired. Transfer to a large plate, wrap loosely, and place in the refrigerator at least 3 hours before cooking or ideally up to 24 hours before.
Heat oven to 475°F and arrange rack in middle. Place an oven-safe, large (at least 12-inch) frying pan in the oven as it heats up. Remove chicken from refrigerator and pat dry. Let sit at room temperature while oven and pan are heating.
Carefully remove pan from oven and place chicken, breast-side up, in pan. Chicken will loudly sizzle and pop, this is what you want. Return to oven and roast for 30 minutes. If the chicken isn't browning and sizzling within 20 minutes, raise your oven temperature to 500°F. If the chicken starts to char or the fat starts to smoke, lower the temperature by 25 degrees.
Remove from oven and turn chicken over so it is breast-side down. The hot pan should prevent the chicken from sticking. Return to oven for 20-30 minutes more. Remove from oven and turn back over. Roast 5-15 minutes more depending on the size of the bird. This last bit in the oven is to crisp the breast skin and finish cooking. You want the juices to run clear and a thermometer inserted in the thickest part of the thigh to read 165°F.
Remove chicken from the oven, lift from the pan and set on a plate. Carefully pour the clear fat from the roasting pan, leaving the lean drippings behind. Add about a tablespoon of water to the hot pan and swirl it. Slash the stretched skin from between the thighs and the breasts of the chicken and let those juices drip back into the pan and any juices that have collected under the chicken. Place over medium-low heat and stir and scrape up any browned bits stuck to the bottom. Cut chicken into pieces and serve with the pan sauce on the side.