I hate to be blunt, and I sympathize with your situation, but it seems to me you answered your question: .NET is where the jobs are, and you are not interested. The other big mainstream area outside of .NET is of course Java, and it has the benefit of the large open source community contributions.
views:
812answers:
10There's an undeniable advantage in learning a language that is interesting, different and teaches you something about the way you program. Some people even say you should try to learn a programming language every year (which I think is at least a slight exaggeration).
But if you're in the situation where you need a paying job, and 98% of jobs in your area ask for technology X, then it would be foolish to deny yourself technology X.
Why do you not want to learn .NET? C# is a perfectly good language, comparable to Java, and the .NET stack is popular because it works. Yeah, signing on with the MS camp can leave a slightly bitter taste, but surely that's better than being unemployed?
I have a similar example.
I've always worked with Microsoft technologies and these days I'm doing ASP.NET / SQL Server. I'm currently situated in Germany and a while ago when I was looking for a job I was very unpleasantly surprised. I know that Microsoft and its technologies is an object of common hatred in this country, though I did not know it was THAT bad.
Compared to Java/SAP technologies where people find jobs quite easily within weeks, it took me many months to find just something where these technologies were used. There were simply nowhere to apply.
Answering your question:
If noone wants that technology where you live, you should ask yourself two questions:
1) Is this technology promising and future oriented?
2) Am I ready to leave the region to pursue my interest in this technology?
Now, the options would be:
(!1 && !2): Don't learn it
(!1 && 2): Better not learn it
(1 && !2): That's between you and you but you probably won't
(1 && 2): Go for it!
Hope this helps. :)
I personally feel that, given the economic situation, open source technologies and services are going to become more prevalent as companies look to maintain quality services without spending a ton of cash on expensive licenses
Try not to make long-going conclusions. You know, all the economists and financial guys with degrees tried that and screwed the world economy. The second thought is that people always forget about the TCO. If you save a few thousands on licences but your team will spent many months (nK USD x PersonCount x MonthCount) working with open-source technologies, then ultimately you will have wasted many thousands and saved nothing. Don't make predictions on the future, the world is surprisingly conservative. Who would think COBOL be still in use in 2009?
This is really something I think you need to answer for yourself. It really depend on how much you really don't want to do .NET versus how much you want to move versus how much you want to be marketable. Personally, to me, most programming jobs are the same, so I'd rather work with technology I think is less than ideal than move. But, it's really your call, it's tough for us to weigh how important this stuff is to you. If you're going to be miserable as a .NET developer, don't do it. If you can't stand to move, then don't. But then you have to sacrifice by potentially not having marktetable skills.
Career advice, given over the internet, for someone you don't know is almost destined to be not helpful. There are so many factors about your personality & your micro situation, that make general statements really hard. Nevertheless, here are some points you might consider when making your decision.
If you are learning a new language "just for fun", go for it! No matter how crazy it might appear. But it seems like you are looking for a good language that helps your career. In this case, you have to align yourself with the market. Be careful to bet on the next big thing (e.g. open source, fancy new languages) as investments in upcomming areas are quite risky and don't always pay off.
The save bet might not be too bad. As some other poster pointed out: .Net can be fun, if you tackle it the right way.
You joined a Ruby group but haven't been to any meetings yet? That's a waste. User groups are about networking and meeting people in the field and showing your face and being recognised. It's a way in. Go to the meetings regularly. Don't show job desperation or naked hunger, but show enthusiasm and join in everything. You have a good chance of getting advance notice of job openings, and if you get an interview, you have an IN.
I have to say this, as a developer you want to learn the language that is going to pay your bills. It is your profession and you have to put food on your table, and live a comfortable life.
I have been developing in .Net for 8 years now and the longest I have been unemployed was 2 weeks. I've probably worked at 10 companies in that period, I do contract work becaues it pays a lot better and I don't need the benefits.
The other aspect of this is getting bored with what you do. Contracting helps out a lot because it gives you variety. Once you have some experience under your belt you can pick and choose the projects you want to work on because there is such a shortage of .Net people.
If you are interested in Ruby or Django check out the MVC Framework microsoft just released. In my opinion it smokes both of those, and is a lot of fun to develop in. I usually work a main boring contract developing meat and potatos applications (.Net Webforms) and do side contracts developing projects in the MVC Framework (really fun stuff). The combination allows me to easily clear six figures a year.
In the end its really up to you what you want to do, I started my career for the first 2 years programming in VB6 and switched over to .Net when I got the chance, and have really loved it. Contracting on my part was also a great decision because of the variety. I hope this helps, good luck!
If you truly want to improve your skills as a developer and keep yourself relevant to the industry, then regardless of what language/platform you're interested in, the most important thing is that you spend time writing code with other people from whom you can learn. This means that unless you're able to find a decent open-source project and really commit yourself to working on it (possibly giving up important aspects of your personal life, such as family), what you really need to consider is to drop your current employers and find a job where there are other developers, preferably more-experienced developers who will mentor you. Even if this means taking a "junior-level" position - which doesn't sound completely out of line given your self-assessment - you're very likely hurting yourself professionally by staying at a company that (a) doesn't give a damn about the quality of their products and (b) refuses to spend money on their "IT dept".
I like Python about 3000 times more than I like .NET, but I'd bone up on .NET if that was the best way to getting a job where I could really learn something. Once you get a foot in the door on a "real" software team, it will be much easier to branch out and learn other things such as Ruby or Python or Java - and chances are much better that you'll get support from your colleagues and perhaps even your management, if the environment is progressive enough.
Many reasons to say yes!
If you would use it as a foundation technology for a startup or side project, absolutely!
If you would use it to target an employer you would love to work for, and are willing to do what it takes to get employed there, YES!
If it just something you want to do, that makes you a better developer and citizen, DO IT!
These are just 3...there are many more if you work your imagination.
You're not asking the right question. There are jobs in every major metro area for every major technology. Your question should be, "I'm really jazzed about [whatever] - how do I find a job for that?"
I'm a Ruby person. I know a lot of Ruby people. Off the top of my head, I know of one shop in Tampa who's using Ruby, and I guarantee you they're hiring. If you wanted a job in San Francisco I could give you two dozen. Most of these companies don't advertise their jobs online. Some use recruiters, but the most common strategy is to go to some Ruby meetups and see who's good and who's available.
That strategy is common in many of the smaller tech communities. Java no longer falls into that category =), but there are still Java user groups out there. Go to one and ask around.