views:

377

answers:

11

I am currently unemployed and i am fortunate enough to have two job choices in front of me:

  1. Web development for an american company that is about to open an office here (Mexico), this company owns a few portals. They work mostly with open source stuff (LAMP development, integration of 3rd party API's).
  2. Enterprise web application development for an american-indian company, they have most of their customers in USA and work with Microsoft technologies (ASP.NET, SQL Server, Silverlight and so forth...).

Right now i have very general and superficial knowledge about web development, because of this, i think of this as a very critical choice for my career.

I am leaning torwards .NET development, because there seem to be a lot of jobs for people with .NET in their skillset, but i think I'm missing something because I lack the experience to see a bigger picture here.

+2  A: 

You really need to look at what's going on in your part of the world. I live in Eastern Washington; 300 miles east of Microsoft, so we have more MS oriented stuff going around here than in the rest of the world.

If you are where I am, .NET would probably be a safer choice. But youaren't where I am, so you will have to look at your environment.

As with investments, past performace is no guarantee of future results.

EDIT: I would also recommend that you have atleast a little bit of skin in the other games. I play with PHP and run Linux at home for fun. It may come in handy, if not, you will atleast learn what's universial and what's platform dependant.

jrcs3
There are about 10 .net jobs for every php job here in my country, but the 'open source job' i'm being offered looks better (better pay, more benefits). Do you think i could be able to transition from php to .net without having to start over if i ever regret my choice?
Justanotheraspiringdev
@Guillermo there's no reason not to gain experience in the both, one on company time and one on personal.
MadMurf
@MadMurf I've tasted the .NET flavor of web development, and it seems rather complex to be digested in the [very, very little] free time that us, the mexican developers have, that's why i think of this as a 'mutually exclusive' thing.
Justanotheraspiringdev
@Guillermo Fair nuff, good luck whatever you go for.
MadMurf
+2  A: 

There are millions of developers on many platforms. Each have their benefits and demand for developers varies by job market. Since you have a choice, take a look at the development tools and resources and see what makes the most sense to you. You might also look for developer communities in your area, as they are a great way to expand your knowledge.

dahlbyk
+8  A: 

I think C# (especially 3.0) has more to teach you about software development than, say, PHP. I think your career long-term will be better off with a solid language like C# since you can branch off into languages like Java or C++, or even Haskell, more easily than PHP. (NOTE: Python also has these qualities in different ways.)

There is always a danger with locking yourself into any technology niche (especially for your own personal hacker development) so even if you go the .NET route make sure to try your hand at the dynamic languages and open source stuff out there, in your free time, for example.

Jared Updike
I know smalltalk has a lot more to teach you about software development than lets say C#, java or ruby. The lack of progress since 1980 has been amazing :)
Stephan Eggermont
@Stephan: I responded at length: http://www.updike.org/articles/Other_Languages_and_Lack_of_Progress_Since_1980 Summary: Learn Haskell, Lisp/Scheme, OCaml, Smalltalk, and C#. The progress (Haskell) since 1980 *has* been amazing in many ways.
Jared Updike
A: 

From my own personal experience in the UK market, the more corporate the IT world of business around you the less open source we seem to adobt, there is alot of development in the microsoft technologies if you're looking at big business, there's (again from my own impression) alot of Microsoft/Java out there at the higher level of pay grades then there are at opensource options.

I've chosen the heavenly opensource options because i've enjoyed learning them, I've enjoyed the development environment and community and have had the privilege to become self employed with them.

But should i know what i know now and i had to make the decision again at a younger age, i probably (worryingly) would have gone along the Microsoft path. But only as that's how the market in "my world" seems to have gone

The pay grades that i predominantly see in the UK are (highest to lowest!): Java Technologies (financial sector) Microsoft (big business, government) Open Source ( a mix of everybody )

Shadi Almosri
+3  A: 

As said in the other answers, this depends on what the market (specifically, the job market in your area) requires.

That said, I would not obsess too much about this. In my opinion, most of the qualification of a good developer is technology-independent:

  • reliability
  • communication skills
  • fundamental IT and computer science knowledge
  • ability to quickly grasp new concepts

It is true that many employers like to tick off technologies, but you should still try to get experience in several technologies. Then you'll be able to quickly pick up new stuff (which you will need to do anyway).

sleske
+2  A: 

Another point to note is cost of developer tools. If you're using the Microsoft set of tools at work its a hell of a lot cheaper and easier to teach yourself the open source toolset on you own time than the other way around.

Then when you're next looking for a job you can look to both options, albeit with private rather than commercial experience on the open source stuff. More and more large enterprises are moving in the open source direction, as it becomes more stable, for cost reasons so this market will continue to grow.

From personal experience I've moved from Borland C++ to MS C++ to VB and now onto Java development so remember that this choice doesn't have to lock you in for life.

MadMurf
As well as the ease/cheapness of acquiring open source tools privately, you probably have more options to make a recognisable impact in your own time with open source projects than with MS ones. As one example your options for a Google App Engine demo piece are currently limited to Python and Java - these options will probably widen over time, but if/when .Net enters the stack is anyone's guess
Cebjyre
A: 

I think you can see it as follows:

  1. Open source option is like working in a beach selling stuff, you don't have the security a big corporation gives but you are kinda free and cool developing things useful for the whole community.
  2. With M$ option is like working behind a desk as an accountant making good money and learning great stuff but you might find it boring after a while.

That's my personal opinion your choice depends on your character and personality.

Anyway, in both cases you'll be behind a desk, hehehe.

victor hugo
Interesting analogy, but MS technologies evolve so fast that it's difficult to get bored.
Rafa Castaneda
Not as fast as Open Source technologies, M$ is always slower
victor hugo
+4  A: 

Actually, the problem with selecting LAMP or .NET early on isn't that big of a deal. Later in your career it will become a bigger problem as the "golden handcuffs" effect kicks in. What I mean by this is that if you work in say .NET for 5 years, you will have salary X. Now, if you are a good developer, you can certainly pick up java or other languages quickly, but you will have a difficult time convincing someone looking for a Java programmer to hire you with no professional experience at a rate of X or higher.

That being said, if you're looking to go into the web world working for commercial businesses, .NET is probably the better choice in the Americas. Some well known companies that use .NET are dell, cdw, newegg, careerbuilder, progressive, etc. Most of your social networking sites, "web 2.0" are on LAMP, however personally from a business person's viewpoint I'm not seeing a lot of monetization coming from those companies. ;)

Also, it should be noted that .NET is likely to give you more flexibility to leave web and go work on internal client applications, since very few commercial businesses use LAMP interally.

Eric
A: 

I work as an open-source/PHP developer in Australia, I've never had a hard time finding work, but I have also made a point of learning the basics of python, ruby, asp (pre-dotNet) and java. I am now looking into .Net.

It's not an mutually exclusive situation either, but the complexity of .Net can result in a steeper learning curve.

When I made the decision to go down the open-source route, it was because I would be able to set up the same environment at work and at home, with very little financial expense. Since then I have had a number of chances to change camps and go down the .Net path, but never took those jobs because I have accepted the open-source way of life.

What it comes down to is personal preference though. Both sides have their benefits and their drawbacks, but you need to find the one that you can excel at.

phalacee
+1  A: 

Don't forget that the technology world could evolve and other things become more prominent and used, e.g. Sharepoint(ugh, I don't want to admit it but it does seem to have a bit of a user base these days I believe) or Flex. You may end up with a mix of both technologies as those ASP.Net applications tie in with an Oracle back-end or a Java web service or something else out there that is used in the mash-up for an enterprise. Don't become overly invested in one company's technology as you never know where your career may take you.

JB King
+1  A: 

At my job I use Microsoft technologies like ASP, Windows Server, MSSQL Server, .Net etc.

At home as a hobby and for side-projects I use Linux, Apache, PHP, MySQL mostly but for fun I've also messed around with stuff like RoR, Python & Django. I like to try out a lot of new things.

One thing I can tell you is that you may find it easier to get further education with Microsoft products. They partner with a lot of colleges and universities. Yes, you can find classes for free and/or open source technologies, too but most of them will be Microsoft.

Good luck with whichever path you choose!

T Pops