If you are in a Microsoft shop doing ASP.NET, and the NEW boss figures it's better to move to open source alternatives (Linux/PHP/Python/Ruby), would you stay?
- Do you get along with the people you work with?
- Do you respect them?
- Do they respect you?
- Do you like learning new things?
- Do you believe in the things your company is doing?
Those kinds of questions are often more important than specific technology choices.
Yes. The interesting bits are not necessarily the tools, but the problems that you can solve with them. Learning new technologies would actually be fun for me and not particularly threatening.
Probably not because dangerous decisions like that indicate poor leadership ability to me. If its a new person shaking things up just to shake things up then most definitely not - I am not easily toyed with.
As much as I like to work with new things I get paid to work, not to learn new things on company time. I learn new things in my own time, which isn't strictly true, but its certainly not jumping to the opposite extreme. For my part I must feel that at the end of the day I have contributed meaningfully and positively to the business. If the environment I perform best in is suddenly yanked out from underneath me I would feel cheated and seek new employment.
If you were already happy working there, then yes, absolutely. Here's an opportunity to learn new technologies in a real-world situation. If it takes some time to learn and getting used to, that's OK -- after all, it's the new boss who imposed the change, not you who imposed the change on the boss.
Normally it's the other way around: programmers want to learn and use new tools, but managers are opposed to changes that might bring in new complexities and jeopardize deadlines. See it for the golden opportunity that it is!
No, I would not stay.
Any boss worth his salt knows that moving an existing codebase to a new technology is a monumental project, and there is usually no ROI in it.
So, if the NEW boss is pushing to rewrite on a new stack, and your current software is fine, then he is a koolaid sipping FOSS hippy, and I'd run away before he ruins everything.
This also goes for any new boss that forces someone to rewrite FOSS software on the MS stack... In general, pushing for a platform change without a real business case and proof of ROI indicates a poor manager.
I agree with Greg, tvanfosson, cfeduke. I strongly agree with the answers that question the new boss's judgement. But here's another angle.
.NET it problably is one of the best skills to have on your resume if you are looking for a job, and want to get paid good money for it. But it's great to have a diversity of skills too. Stick around at the current job to pick up the new skills, and then after a while (a year?) when you start getting concerned that your .NET skill is getting rusty, decide whether you need to move to protect your investment in your .NET skill.
If by ASP.NET you mean uncompiled ASP code in otherwise HTML pages ala <% %>, then I don't really think you'd find the jump to something like PHP all that difficult. Now if you're a career VB.NET coder specialized in esoteric performance tuning for complex VB code and the new boss says "learn Ruby lol", well, then I say go to Borders and buy a book on Ruby ( might as well learn something) but then look for something more suited to your skills in the evenings. I sense many unexplained doctor's visits (interviews) in your near future if this is the case.
But seriously; the ASP->PHP switch isn't that hard. You'll learn it in no time.
You don't give a lot of details, so it's hard to say.
As Jonathan Holland said, if your boss is pushing a rewrite just cause FOSS is better, he's nuts. FOSS is better, of course, but not so much better that it justifies a rewrite ;)
OTOH, if she is simply pushing FOSS for new projects, that's not unreasonable. That's particularly true if software cost is a real issue for each project. Or maybe there are good technical reasons for the move.
The question is whether this new boss is competent. If he's an idiot, it's time to start looking. But that would go for any sort of idiocy, not just an ill thought out platform change.
The question is also how he wants to move. If he just encourages the use of FOSS in new projects, it is a totally different matter from when he sets a deadline for getting all the existing code base Microsoft-free.
Depends on who you are. You'll probably leave if you have the MS religion and see all other technologies as inferior; but you'll stay if you want to broaden your horizons and learn more skills to fill out your resume
Hey if you're getting paid to learn new technologies, especially FOSS, which will increase the portability of your skills, why not? OTOH, if you're already familiar with the said FOSS technology and it just doesn't make sense to make the switch technically, you should definitely consider leaving.
If you have any size of code base, I'd say the decision is questionable. If you are doing a totally new project (or making vast changes which retain very little code), changing platform might be an option.
I'd hope that a decision on doing so would be based on a technical evaluation, not just because "someone wants to go open source".
Having said that, if you have an ASPNET code base and want to go "Open source", why not suggest using Mono's ASPNET implementation and avoiding having to rewrite (as much) code?
Rails seems to be flavour of the month, but that doesn't mean that you shouldn't do a thorough (and I mean thorough) evaluation of it. I wouldn't recommend PHP because I don't like it.
If the boss is going to make decisions for non-technical reasons which you can't question or challenge, definitely LEAVE - this one and other future decisions will compromise your ability to design good software.
Thanks for replies. My question is rather vague and without proper context, sorry for that.
The boss is making this decision purely (I think) based on monetary cost. I'm not sure if it's a valid one. Even for FOSS, you still have to pay if you want support or consultants and such.
I like to keep working in .NET since the pay is a bit higher and it's easier to find jobs.
I myself have some n00b experience with PHP/Python/Ruby, but I am not convinced that it'll work well for large applications (you may call it "enterprisey" if you wish :)
I don't like to go for Java since I think C# is superior than Java (on the language aspects). I'll hate having to use getXyz() setXyz() instead of property.
I guess best bet is to switch to Mono. But not sure how hard will it be. The boss is thinking to switch to Linux for our workstation, I think I'll miss Visual Studio a lot :P
If you're simply going to be migrating to that type of work then sure, I'd stay. It's fun to learn new things!
If you'd be doing a, drop everything, migration of your code then I probably wouldn't. There's no value in it.