Ontem uma série de novidades no ecossistema .NET vieram à tona:

Semana passada, no blog do Azure, saiu uma série de como rodar e gerenciar Linux e Unix, e outro post sobre como rodar Debian no Azure.

Essas novidades são somente as gotas mais recentes de uma tempestade que está varrendo a plataforma Microsoft há pouco mais de dois anos. E a tempestade é só a parte mais visível de uma gigante mudança climática que está vindo. E ambas são positivas, massivamente positivas.

Elas são emblemáticas sobre o momento atual. Notem: um protocolo aberto (SSH), normalmente somente visto em Linux e Mac, agora é suportado em um servidor de Git que roda no TFS, no Windows, e em breve será suportado no Windows em geral, abertamente, o que permitirá administrar servidores Linux a partir de uma máquina Windows e vice-versa, nativamente, sem necessitar de um Putty, por exemplo. Uma nova IDE pra C#, multiplataforma, feita em Java. E uma aplicação de referência na plataforma .NET, com pouco esforço, acaba de ser portada para rodar em outras plataformas. Isso muda tudo.rider navigate to

Ainda hoje, trabalhar com a plataforma Microsoft significa, em grande parte, rodar servidores Windows localmente ou na nuvem, gerenciá-los com janelas ou para pessoas mais sêniors com Powershell, hospedar aplicações com IIS, desenvolver usando Visual Studio e C# ou VB e praticamente sem usar a linha de comando. Esse não será o cenário que veremos em alguns anos.

Em poucos anos, trabalhar com a plataforma Microsoft significará uma mistura de diversas tecnologias vindas ou não da Microsoft. Rodaremos .NET no Linux usando um servidor Nginx e compilaremos ObjectiveC, criado inicialmente para uma app iOS, para uma app UWP Windows. O desenvolvimento de uma app que rodará no Windows poderá ser feita no Mac ou no Linux, além do Windows, com IDEs tão boas (ou quase) ou até melhores em alguns aspectos que o Visual Studio (startup time, anyone?).

ObjectiveC no Visual Studio

Uma grande parte disso já vem acontecendo. Na Lambda3, parte da equipe que desenvolve com Cordova roda Windows, parte roda Linux, compartilhando código. No meu projeto atual, o Vinicius Quaiato desenvolve com Visual Studio Code, e pode inclusive usar o Mac, enquanto eu trabalho no Windows (viram a série sobre o Code que ele fez aqui no blog?).

Docker on Windows

E essa mudança não está acontecendo somente para desenvolvedores. Ferramentas que antes viviam somente no mundo Linux, hoje estão presentes no mundo Windows. Docker, por exemplo, é praticamente uma obrigação para um sysadmin, e contêineres rodam em Windows e Linux, e podem ser administrados por Windows, Linux e Macs. Conhecer Bash e SSH não é mais somente para quem administra Linux. Desconhecer o terminal/linha de comando, antes algo opcional até para um sysadmin sênior, hoje é absolutamente obrigatório, sendo impensável considerar um administrador de sistemas que não conheça, no mínimo, Powershell, da mesma forma que era impensável considerar um administrador de sistemas Linux ou Unix que desconhecesse Bash. O novo Windows Server Nano não tem login local, somente remota, e não tem interface gráfica.

resistance is futile

E esses são somente os últimos dois anos, e revolução ainda nem se consolidou. Ela ainda vai se aprofundar muito antes de termos algo razoavelmente estável. Está na hora de olhar em volta, o seu emprego de amanhã vai demandar conhecimentos que você provavelmente ainda não possui hoje, e que você não vai encontrar procurando nos mesmos canais. Você pode tentar resistir, mas isso só vai resultar em um salário menor em alguns anos.

As mudanças já chegaram onde você trabalha? Conte aqui nos comentários.