
C# – good career choice or not? - jakubgarfield
https://medium.com/@jakubgarfield/c-good-career-choice-or-not-172185a88b0a
======
he0001
I swapped from Linux and the JVM to windows and c# 3 years ago and ran
straight into a wall. While I thought it was a cultural thing, it's mostly a
platform thing and that influence the culture. Its like developing whith a
straitjacket and everywhere you turn there's a lockdown. APIs and frameworks
feels not thought through and chunky. The language feels like an steroids
addiction. It feels good and you feel the power and you get stronger and
stronger, but suddenly weird things start happening and suddenly ugly things
just pop out and you loose control. And then everything's a mess and you
there's no way back.

There are some things which are nice but they clearly doesn't outweigh the
downsides with the platform. It feels shiny and nice at first but if you know
what you could do instead of having to deal with the "Microsoft-way TM" it's
downright horrible. Don't get fooled by the "new shiny" part! :)

------
mwj
The language itself is fine. Lots of good FP concepts. The mentality of the
wider .NET community is close-minded and insular, lots of NIH syndrome,
architecture astronauts and enterprise frameworks (even at small companies),
which I think is borne mostly out of its corporate heritage. There are
exceptions (the f# community for one, and the odd nuget project) but in the
large that has been my experience. Even coming back to .NET this year after a
few years away, I find not much has changed (despite the recent OSS
"renaissance")

------
gigatexal
Like it or not Microsoft isn't going anywhere soon and c# has had async and
other "advannced" features for years now. It's more or less in par or exceeds
Java. I think it's a good choice. Or hedge your bets and become a polyglot.

------
djsumdog
All languages and platforms have pluses and minuses. You can run C# on .NET
Core in Linux in docker containers today too.

If you're starting out, you really need to diversify. My first job was a lot
of sysadmin plus Java and C++ dev. 2nd was VB.NET (terrible). 3rd was a call
center (also terrible but I'm glad I did it; makes you appreciate the work)
and then a Java dev for two years.

Today I do a lot of Scala and Python. Diversity in your field is important.
It's hard to get into positions where you don't have the experience, but when
you do, you show on your CV you can learn, build and reverse engineer all
kinds of things.

------
crimsonalucard
C# isnt a bad language but i would say that it colors your view of of the
programming world and forces you to view it from a singular perspective...
through the lens of microsoft...

~~~
dragonwriter
If it's all you ever use, maybe. But _any_ language has the same effect (with
a different lens) if it's all you use.

~~~
crimsonalucard
Well typically when you choose a language you can choose the OS, but with C#
the OS chooses you. This OS is the lens that I'm referring too.

Of course it's all open source now, but still... the platform of choice is
windows.

------
reallydontask
In my limited experience, it seems that C# and Java are big in corporate
environments and SMEs but not so much where startups are concerned

it's seen as a safe pair of hands not necessarily as something cool.

