Which technology ocean to swim for a software engineer, Microsoft or OpenSource/Linux/Java? [closed]
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 Tur开发者_Go百科key 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.)
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 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.
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).
精彩评论