Companies will often post the requirements for their “perfect” candidates but are always willing to compromise for good people. It’s usually enough to prove that you understand the pressures associated with working to a tight deadline and shipping a software product, and that you can learn the rest on the job, so don’t let that stop anyone applying. An ex-Microsoft employee will do just fine
I used to work as a recruitment consultant and I now work as an IT consultant where headhunting is rife and people often change companies every 2-3 years, and I’ve never seen a successful candidate check every box like that.