views:

95

answers:

3

Hi mates,

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.)

+2  A: 

The "ocean" you will need to swim in is largely dependent on the region.

In US you can find jobs for any technology. Australia/Canada - don't know for sure but likely the same as in US.

In Europe it's hard to find any programming job, well, at least in Western Europe.

For Germany:

  • Strong attitude against "evil Microsoft", nobody wants to pay for licences
  • .NET positions are only available at consultancies (with 100% travel requirement)
  • Inhouse position are mostly non-Microsoft (Java, PHP, OpenSource etc.)
  • As the country has strong automative industry, there are C++ positions working with hardware (onboard systems, medicals equipment, optical equipment etc.). I'd call it "system-level programming".
  • Most inhouse positions with high-level tasks (non-system progamming) have been outsourced to low-wage destinations (Eastern Europe - Bulgaria etc.). The only positions available are for travellers at consultancies.
I wonder why it's hard to find a job in Western Europe?
Seregwethrin
Mostly because taxes and operating expenses are too high. Companies are "optimizing" their expenses by relocating production to cheaper places. They only keep sales staff in the country.
For instance, appreciate this page: http://www.telerik.com/company/careers.aspx
+2  A: 

I believe as far as your computer science fundamentals are clear and you have mastered them technologies do not matter. Technologies will always keep changing, but the root of all technologies lie in the same science and you can dive into anything. As far as you do the things passionately, any technology is good to take up.

Gopi
Yes you're right but at one point being a professional always gonna take time where you're new. There are more than 13.000 public methods and 4.000 classes in .NET 2.0. I know the classes at compiler level, how compiler understand them and compiles them but it doesn't really help having a knowledge of .NET classes, I always need to Google :)I know php for 7 years and I doesn't really search for anything, they are all in my mind. I just typo somethimes :) or if I have a special need than I google.
Seregwethrin
A: 

Do a search for jobs in certain target cities. Toronto etc... This should give you an indication of what technologies are prevalent in that area.

But to be honest I don't think you can go wrong in either direction (I chose the Microsoft path myself).

Dining Philanderer