Last week's Microsoft announcement is very interesting.
If you are using .NET today, you will be happy to learn that anything non-UI could target Linux or MacOSX platforms, but this leaves the crucial question unanswered. Which is whether you want to run a garbage collected runtime environment on devices that were not designed for this, and whether you want to run software that was designed for Windows on another operating system. It does not make a freaking sense from a performance/reliability point of view, which happens to be the bread and butter of Apple operating systems for instance.
If you are using C++, Microsoft is also offering some Visual Studio environment for running/debugging code on Android systems. Again, this is a thin layer on top of Android's NDK, which means why on earth would you want to add such layers? And Microsoft top reason for using it (their emulator seems faster to trigger than the one coming with the Android development environment) forces you to target x86 code, even though NDK lets you target ARM, x86 and MIPS, and that the vast majority of Android devices use ARM. So using Microsoft's thing automatically restricts what you can do to target Android.
So definitely you should avoid it at all costs, unless you have a lot of time to waste and are ready to support additional third-party layers for testing your software and at the same time restricting your software to whatever Microsoft decides to support. You might just as well stop working as a software developer and perhaps find a job elsewhere.