I'm a 21 y.o. self-taught PHP/Mysql/Javascript developer with some important work experience. I have no knowledge of the .NET framework and just a very broad experience in C.

I've been proposed to work for

  • A web-development startup, made by 2 guys and with 5/6 employees in which I should mainly write PHP scripts for managing datasets and applications. No information were provided about the stability of the workplace and the duration of the contract: sounded more like "as long as the company is ok and you're important for the team you're in". The guys I've talked to were enthusiastic about my skills and prior experiences.

  • A company focusing in .NET development for entrepreneurs. I've been contacted by the project manager who's offering me a 1 year long contract during which I should learn to code C# and, obviously, work for them with the knowledge I'd acquire during the stage.

Because a day is just 24h long, I can accept just one of these positions. No information were provided about salaries (assume they're equal) but both are remunerated. So here's some questions.

  • In Italy, it looks like there's a huge demand for .NET developers: I couldn't say the same about other countries (or am I wrong?). Considering that I'm willing to relocate in the future, is it really worth learning such a wide framework? Reading here and there, it looks like .NET is a technology slowly being replaced. Does .NET development has a bright future? I feel like I can't take a responsable and objective opinion about it, having never talked with a .NET developer in my life.

  • Should I apply for a job for which required skills I'm already prepared in or should I opt for a more challenging position and expand my knowledge?


  • Thanks for the edit jmort - downvoter care to explain what's wrong with the question? – Saturnix Jun 8 '13 at 23:59
  • 3
    Hi Saturnix, asking folks to make a decision as to which job you should take is really off-topic on our site. I suspect that's the reason for the downvotes. I'm not really sure my edit helped much. However, you could edit to focus more on asking how you can make the decision. That would be helpful to future visitors who also have to weigh an important career decision. Hope this helps! :) – jmort253 Jun 9 '13 at 1:22

Reading here and there, it looks like .NET is a technology slowly being replaced.

I'm interested to hear what makes you think that.

Knowing C# definitely improves your job prospects, and a lot of interesting work is done primarily, although by no means exclusively, in .NET. The answer to your question I think depends on the following: Do you want to learn C#? Your will to learn new things will dictate how happy this situation is likely to be for you; if you're keen to learn for the sake of learning, the opportunity to do so and get paid for it ought to be really attractive for you. If you're not that interested in C#, doing it just because it's easy to get a job probably isn't the right reason.

  • open source and free technologies are always to be favourite: that's why I was thinking that... But, most likely, I'm totally wrong. Thanks for pointing out your interesting point of view! – Saturnix Jun 8 '13 at 20:19
  • It really depends, I know quite a few companies where their products offer tight integration with office that develop using the .NET stack due to it's ease of integration. I don't think .NET is going away anytime soon unless company's start moving away from Windows in general. For web development it's usually preferred to have the open source stack due to stability and lack of cost, but many company's are still employing ASP.NET developers for everything from public facing sites to intranets. – Randy E Jun 8 '13 at 22:01
  • Also, many company's are using Red Hat Enterprise Linux for their servers so cost isn't really a factor. – Randy E Jun 8 '13 at 22:02

I can't make any carreer advice, but point out some aspects.

Construction workers are rarely "hammer/saw operators" or "nail gun/stick saw operators" - they build houses with whatever tools they have for the job.

If you start to see yourself as a web developer - the tech stack is merly a set of tools. Starting to work with C# or sticking with PHP won't likely change you job opportunities for web developement in the future.

The decision you have to make is if you want to broaden your set of tools or really master the set you already know. Both PHP and C#/.NET still have large market shares and while we cannot know how tomorrows web dev tooling would look like they should both be decent choices.

I suggest that you focus on other things such as work environment, challenging tasks, benefits, development opportunities and the like.

Not the answer you're looking for? Browse other questions tagged or ask your own question.