|
I'm in the same boat, more or less, so I can't give advice that I know works, because I'm still in the transition period. What i'm doing is: - Learning linux
...because every other language I want to learn is not on the .NET stack, and pretty much every interesting job requires linux knowledge. - Learning other languages
I have a todo list of languages I want to try. There are a few I know I will want to go deeper into, which include Scala and Clojure, but for now I have a list of every popular (non-C#) language that i want at least minimal exposure to. My todo list consists of concrete tasks like "Ruby hello world", "Scala hello world", "Angular hello world". Just knock these things out and then once I have basic exposure to a broad array of languages and tech stacks, I'll decide which I want to focus on, and start adding more concrete tasks to my todo list. This might include contriving a side project that is simple, but more involved than a simple hello world, and then building it out in one or two or three of the languages/stacks. At this point you'll have to start thinking about what direction you want to go, what kind of development you want to focus on. You might want to freelance as a Wordpress or Drupal dev, so you might decide to dive into PHP, or you might want to specialize in distributed systems, so you might focus your experimentations/hello worlds on more back end type stuff. - Getting better at front-end development.
This is the area people like you and me can use as a bridge to transitioning over to non-.NET tech. Assuming you are working in web apps with .NET, you can start to focus on the front end, which means getting really good at HTML, CSS, and javascript, and learning front-end frameworks like bootstrap/foundation, SASS/LESS, and angular/ember. You can do that while still doing .NET on the server side. You can also start working in front end build technologies like grunt or gulp into existing or new .NET projects, to handle front end optimizations, and bundling/minification, image optimizations, etc. This also builds your javascript knowledge, and knowing angular seems like a really marketable skill these days. This in combo with learning linux is enough to get you to a point where you are able to get front-end dev jobs that have nothing at all to do with .NET. My two cents. I'd be really interested to hear from other developers who have successfully made this kind of transition. I have no idea if what I'm planning will actually work. |