Ask HN: Any Hope? Developer Switching from MS .Net Development to Free and Open?
Microsofts’ OS direction is a joke. I’ve been running the recent. builds of windows 10 hoping for major improvements that I have not seen. How about using text files for configuration rather than overly complex APIs (WMI Providers)? How about a proper bash shell (powershell is no replacement), how about a proper SSH client?. How about fixing your OS getting slower over time?There is a lots more I could say but I will quit at this point
While I would love just to switch over my issue is that I work in an area that is almost 100% focused on Microsoft technologies. There are still a few mainframe shops but that is about it. I’m pretty locked to my area unfortunately. Think of the married guy ((and who’s wife’s career is based in the area).) in his early 40s with a mortgage (who found their perfect home).
At this point my real passion is in node & client side javascript development. My only hope is remote work but I don’t know how plausible that is. An individual who has taught themselves node on their own getting hired for a remote gig for a somewhat descent salary .
I guess I’m reaching out to you all so I can stop spinning my wheels. I’m constantly trying to better myself by continuing education. If there isn’t much hope then I should just spend my effort on even getting better than the tools I’m stuck with other than wasting my time with technology I will probably never get to use. Any advice would be much appreciated.
15 comments
[ 3.4 ms ] story [ 52.4 ms ] threadThat being said, with the announcement of ASP.NET vNext and the open-sourcing of .NET Core, I've decided to double-down on the Microsoft stack (installing vNext, learning F#, writing more apps in ASP.NET, etc) since I'll eventually be able to develop ASP.NET apps in OS X, with all of the tools I could ever want.
Like you, I am limited in some ways because I have kids in school, shared custody of my daughter and also really enjoy where I live, so moving isn't really an option. To make it work I do a ton of remote work and collaborate with people from all over the place.
To get started, just release some simple things into the wild on GitHub or pick your platform. You could write your own tutorial on learning node doing different common tasks, like reading files, writing files, network communications, API definition, project structure etc. It would serve two purposes, you learn how to solve real problems via node, and you help others with that same transition. You could even do the tutorial idea but use iojs (https://iojs.org/) to show how it differs etc. People would like that and you would be learning something of value.
As for remote work, it is doable especially now. Nice part about Javascript in general is even the diehard Microsoft shops will accept node more readily then they would say Rails or other tech stacks. Honestly, it does and doesn't make sense to me why that is but I have found it to be true overall.
It's not easy, but build a few apps, starting with the trivial and then increasing in complexity.
Is there a node or open source users' group near you? If it is a major city, the answer is probably yes.
Go there and ask folks about node jobs.
Another alternative is to focus on the client side javascript that your work has you do already. Even the MS toolset still uses javascript in the browser.
Everything from WinRT apps using Javascript for native development, to Windows Azure Mobile Services using Node for cloud code.
Why don't you work on how to bring the new open MS technologies into your area (probably something like back end systems at a credit card bank, for instance)?
With a 15 year .NET background, you'll get taken more seriously than a developer who just graduated from a 10-week MEAN bootcamp, for instance.
Also I would look for positions with a well-funded startup or a small company (opposed to a large company). They are the best bet for getting to use cutting edge technologies while also allowing remote work, in my experience.
I find an SSD helps a lot. Visual Studio runs fine until I install ReSharper then it absolutely needs an SSD and 8 GB minimum of RAM.
> How about using text files for configuration rather than overly complex APIs (WMI Providers)?
The Windows Registry is more akin to /etc than WMI is. The Windows Registry is clunky, however at least you only have a single interface to program against rather than one per configuration file which is nice. Even XML doesn't resolve things quite as nicely as the Windows Registry.
Do I wish the Registry was better? Sure. Organisationally it is horrifying and there are some strange bugs and workarounds. However I think /etc style text files are a step backwards.
> How about a proper bash shell (powershell is no replacement)
I agree Powershell is not a replacement for bash. It is in fact one of the best command line interfaces ever designed and leaves bash well in the dust (although bash is a bad example of the best the unix world has to offer anyway).
> how about a proper SSH client?
Putty?
If you wish to use Linux, BSD, or OSX the more power to you. There is a lot of great tech' around on those platforms. That being said, your post reads a bit like a troll, you don't seem to know a lot about Windows and seem to be spouting very bland generic "benefits" of UNIX-style operating systems out of context.
Almost like you read someone else say these things then just decided to repost them to get a rise out of people? Some of your complaints (e.g. Powershell sucks) are pretty laughable. As someone who is quite familiar with both Linux in particular and Windows, it is a hard complaint to take seriously...
Sidenote: it's insanely stupid for hiring managers to disregard people because they have 15 years of experience in the wrong technology. Someone with that much experience ought to be able to learn pretty much anything relatively quickly. If it's a sticking point during the hiring process, I'd bring that up.
1. http://afreshcup.com/about-me/
Bash is usable, but is a bit of a pain, its scripting facilities are very bad, for anything serious you will probably want to use another scripting language anyway.
Most tech looks quite good from a distance, once you really start using it you will most definitely run into issues. That might be one reason a lot of us are always jumping to different tech without getting proficient in anything.
Also, unless you live on the Microsoft campus and aren't allowed to leave there are bound to be a lot of options available, maybe you didn't find them or you are too focused on node.
You might want to look into Cygwin to get some Unix tools going. Putty is also pretty good. If you need more you can install Ubuntu on virtualbox or any other combination of OS and VM you might prefer.
By all means keep pursuing remote node work, but keep an open mind and don't miss out on easy improvements available to you right now.
The first suggestion would be to join a Javascript developers meetup in your area. If there isn't one, start one on MeetUp.com. Network with other folks who are interested in these technologies and start collaborating with a few of them on some interesting side projects. You may even find an development manager that wants to hire experienced folks interested in learning Node, EmberJS, etc.
Once you have something significant to shop around to more influential folks, it's just a matter of time before you'll land your first gig away from .NET land.
The only caveat is you should plan to take a pay cut for your first non .NET gig, because it will likely be at a small company or startup and they will discount your experience. Once you have a bit more experience, you should be back to your old .NET salary in no time by switching to a larger shop within a year or two.
Good luck!