Programmer is not responding on Serial Arduino

Just in case I'm not the only one to be caught out by it, I'll draw attention to a far simpler cause of this "programmer is not responding" error:

When the GUI says "RESET the board right before exporting", it means press reset and then export immediately. Do NOT wait on the board appearing to "come back to life" - by then the upload opportunity will have passed.

To clarify the upload procedure:

You should press the reset switch on your board and IMMEDIATELY run the upload. If you leave it more than a few seconds after pressing reset, the existing program will start up again or, if there is no program on the board, the bootloader will resume blinking the LED. (~3Hz on my new board)). At this point, the board will have ceased listening for your upload, and the upload task will eventually terminate with "programmer is not responding".

It caught me out until I read the bootloader behaviour documented here: