There will be some cross platform compatibility issues. Interpreted languages hide the CPU (think Python, Ruby, Node) but their extensions in C could need some extra work that not all of them require now.
On the other side there will be the rise of the ARM servers. Apple is notoriously not interested in running server farms for their customers but I expect that the big cloud providers will start offering ARM servers.
It could be the x86 developers to have to fire up an ARM VM on the cloud to be able to work in ARM Macs heavy teams.
Apple already has an x86 build chain that cross compiled to ARM.
Virtualization extensions have been available since the Cortex A15 or thereabouts.
Linux supports normal KVM on both ARM32 and ARM64 although there are mutterings about dropping support for ARM32.
In practice, the hypervisor is usually already grabbed by the platform (e.g. on Android/Snapdragon it's taken by the TrustZone driver and can't be used yourself, even if you rebuild the kernel with CONFIG_KVM).
Also, the move to Catalina helps to check how fast app developers and users switch to new hardware.