In principle, your circuit is correct.
I would add a protection Zener 3.3V, in parallel to resistor, reduce the resistor value from 10K to 4.7K , add a 10 ohm series resistance immediately after switch, between Zener and Switch, and add an additional P6KE6.8AZ TVS diode , in parallel to Zener, for additional protection and implement debouncing in software, if application warrants it. Thats about it. This is based on my vast experience in designing such systems.
Please award me the contract if you are satisfied with this.
Thanks