Dotnet developers more in demand for Java? More often than not Java has a higher following being Open Source and all. Given M$ failures to deliver anything useful (practical) … Silverlight remember? Don’t mention smartphones and disappearance of start menu from toolbar all hurts career prospect of dotnet developers. However, appears after all M$ bashing (it’s still *cool* beat up M$? Apple is cool, M$ is Evil?), tides is turning. While dotnet has fewer developers and following, it has disproportionate number of jobs, particularly in more lucrative *Investment* banking industry. It’s important to work only for firms that pay isn’t it? Or you might as well work for Chinese/Indian/Korean firms which emphasize “A Lot of Result Oriented” but not so much on “Reward Oriented” culture.
(Yes there’ll always be higher/very high number of lowly paid, Shabby Web dev (
blow) jobs with *limited budget*, always Limited, very Limited – employers always aim to offshore to lowest paid, “Yes-Sir” locations where dev say “Yes Sir” every morning to their boss)
There’s no time for complacent for M$ or dotnet developers however. There’re many competing technologies out there. Anything prefix “apache” for example “avro” can threaten anything home grown M$ WCF for example. Yes from this time onwards it’s *Cool* define schema via Json, not XML. Yes? (Actually this is a forward looking statement – check out Avro’s empty C# documentation section and footprint in dotnet development community? Look here: https://issues.apache.org/jira/browse/AVRO-1420
And if you try compile json avsc schema with avrogen.exe – well, it’s mostly undocumented space first. And if you “import” anything (which is quite essential requirement) you will quickly run into “Undefined Name”, the utility avrogen.exe (convert schema in Json/avsc files into C# classes) for dotnet (I’m sure the version for Java/Python works) is broken:
Avro was invented by Java and Open Source developers. dotnet always come last in their considerations.
M$ invested a lot on “Patterns” – Now, depending on where you’re coming from, whether you work for component vendors, or for example a bank. If you’re doing “Enterprise” applications most often what you developed have max ten, most often five years life time, then new ambitious CIO will come, scrap everything and start afresh. Further, your “libraries” will have very limited audience (in comparison say if you’re component vendor like Infragistics/DevExpress). Patterns get very little done except to get small numbers of developers to code with same Gof (Go5.x anyone?) Cookie Cutters (Important? Yes… yea). Over-engineering your applications accomplish nothing.
Like WPF to define GUI, WCF interprocess communication. Worse is Prism – “What does it do for me for the learning curves it takes?” (For myself, and all developers in team).
Good Software isn’t always (50% of cases?) about writing software with same cookie cutters (repo, prism, spring, hibernate, dao) as with everyone else. Wizards do things that other people can’t. Not write code complying to Gof or Prism, or other over interpreted concepts school teaches you. Or whatever latest fades IoC blah blah (mere thoughts of that academic subjects puts me to sleep)
M$ need re-focus not to screw its developers. Stop do things like inventing Silverlight, WCF (then ditch it two years after that a joke?) . Minimize budget to Patterns and Practice team. Perhaps just embrace Android and build on top of it (If you can’t Conquer it, Use it, Exploit it)
M$ need re-focus on technology that delivers *Capability* (or Hardware/Software that simply *Looks Good*) – not imposing more rules to #dotnet dev, and screw her affliates/vendors. Just how much vendors like DevExpress or Infragistics to what extent they been screwed having developed product offerings for Silverlight which M$ herself abandoned? How much and to what extent “Your Own” career been hurted as a result of M$ stupidity recent years?
M$, Create Fan Boys, not Enemies.