How can I change the priority of number and symbol keys? I am a programmer and I use symbols more often than the number keys. I'd like to change the priority of the top row keys so that hitting "1" gives me "!", and holding shift and pressing "1" gives me "1".

I'd prefer a built-in solution even if it requires more effort.
To make the keyboard behave differently, you need a different keyboard layout.

You could create one by editing an XLM file manually, or you could use a third-party tool to create the keyboard layout (you don't need to be running a third-party program indefinitely once they layout is created and installed).

Ukelele is known for making it fairly easy to create new keyboard layouts for the Mac.

In any event, you want to switch the number keys (0-9) and the symbols attached to them. Save your new keyboard in ~/Library/Keyboard Layouts, and then select it as your keyboard.