Alt+3 no longer types ‘#’, types ‘£’ instead I turned on my Mac one day and found that Alt + 3 no longer types a hash (#) symbol, but types a pound (£) instead.

I’ve checked the keyboard input source in System Preferences and it’s set to U.S. (which is to be expected). I’ve also found I can type a hash symbol with Shift + 3, but this is undesirable as I’m a website developer, use hashes frequently, and it’s in my muscle memory to hit Alt + 3 for a hash.

What would affect this?
The only keyboard layout that has Alt3 as hash # is the one called British: all others have Shift3 

So you need to change the input source to British.

Note most developers have the opposite issue and want to match US and all Windows and Unix keyboards to have Shift3 as #