Executando verificação de segurança...
-3

Boa meu caro! O Desenvolvimento Desktop é algo que fica um pouco ofuscado hoje em dia por conta da grande maioria das soluções estarem na Web, mas se faz necessário ainda, de certo modo. Na minha opinião, o desenvolvimento de soluções unicamente para desktop como sei lá, desenvolver um programa de computador que funcione como um player de música, que seja um organizador de arquivos, ou qualquer outra coisa desse tipo, está de fato morta. Não olhando do ponto de que não existe mais desenvolvimento para isso, mas sim que esse setor está dominado e monopolizado por grandes empresas. Pense comigo, você sendo um user padrão de Windows talvez, baixaria um player em um site "aleatório" que nunca ouviu falar, ou usaria a solução nativa que já vem instalada.

Dito isso, existem alguns caminhos;

  • Trabalhar em uma empresa que faça desenvolvimento desktop legado
  • Trabalhar com foco em empresas que cloud pública (SysAdmin)
  • Olhar muito para o futuro e aprender Rust
  • Desenvolvimento de jogos
  • Embarcados
  • Desenvolvimento para mobile

Com isso em mente, e respondendo sua pergunta:

1 - Eu estudaria Rust e C++ caso estejamos falando de PCs mesmo, ou Kotlin e Objective C para Mobile. Todos são complexos, mas me garantiria estabilidade e possibilidade de encontrar vagas. Não usaria nunca tecnologias que foram feitas para Web no desenvolvimento desktop e/ou mobile. Quando se cria ferramentas que rodam no cliente, você busca acima de tudo, eficiência e performance.
2 = Gerenciamento de memória eficiente, profiling, protocolos de comunicação, sistemas operacionais (windows, unix e mac).
3 - Depende. Como eu disse, não vale a pena olhar para desenvolver coisas como "um Word da vida", mas existe demanda sim para a área.
4 - Os mesmos fundamentais de início. Faça também um portifólio, tente lançar algum produto desktop.

1