Hi mates,

Firstly I'd like to apologize if the forum is wrong but I can't find the forum for my topic.

I'm a software engineering student from Turkey and I'm trying to lead my career as best I could.

A software engineer should have knowledge of any technology, C, C++, Java, C#, Linux, Windows etc. But a human can't be a real professional at all of them. They are technology oceans continuously grow...

For a software engineering student who wants to work firstly in Australia or Canada, after if they can't happen Usa or Europe what would you suggest, trying to be a professional on Microsoft solutions like C#, .NET, Silverlight, SQL Server etc or trying to be a professional on open source solutions like Linux, Java, MySQL etc...

For example in Turkey C# is more widely used than Java. Corporates prefer Microsoft solutions. What about the countries I've listed above..?
What would you suggest, what would be your opinion?

Also please consider this question in a long time period like 2-3 years, not just for now because everything changes rapidly in software technologies. (I've written this because Microsoft is in a attack of developing new and good technologies.)

Dani AI

Generated

A short, practical add-on to ’s question (and to ’s “Follow Microsoft” take): both paths remain valid long-term — what matters more is which ecosystem you master deeply and the transferable, systems-level skills you pair with it. Recent developer surveys show a stable mix of popular languages (JavaScript, Python, SQL, plus continued use of Java and C#) and rising platform/tool demands that cut across stacks. (stackoverflow.co)

Microsoft today runs a hybrid model: .NET is open-source and cross‑platform (you can build and run C#/.NET apps on Linux, macOS, Windows and in containers), and Microsoft actively participates in the open‑source community. Choosing .NET does not lock you into Windows-only work any more. (dotnet.microsoft.com)

A recommended 2–3 year plan that fits most migration/job goals:

  • Year 1: pick one primary stack (deeply learn language, framework, testing and one database) and finish 2 real projects you can show on GitHub.
  • Year 2: add production skills (Linux basics, Git, CI/CD, Docker, basic Kubernetes) and one cloud provider (Azure if you want Microsoft shops; AWS/GCP are widely used too).
  • Ongoing: contribute to small open‑source projects and network locally — those signal readiness to employers. Cloud and container skills are now widely expected. (stackoverflow.co)

Market note for your target countries: Canada and Australia both still hire large numbers of software developers, but demand varies by city, domain (finance, government, startups) and by seniority — check regional job boards and official outlook pages while planning. Practical priority is demonstrable experience (projects, internships, cloud/deployment skills), not just a particular vendor label. (jobbank.gc.ca)

Bottom line: pick the ocean that fits the work you enjoy (enterprise apps, games and tooling -> Microsoft/.NET; large-scale backends, cross-platform services -> Linux/Java/Python/Node.js), learn it well, then learn the production/cloud skills that employers everywhere expect.

Follow Microsoft. Superior development platform and significant corporate following.

I am ex-Microsoft Employee now in Linux Start up mode and boy I miss Microsoft...

Follow Microsoft

Martin

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.