Maybe this question has been asked a lot of time but here it is again.<p>Which Technology should I use/learn fro web development?<p><i></i> Python/Django
<i></i> Javascript full stack.
<i></i> .NET MVC 5
<i></i> Java EE 7
<i></i> Scala / Play
<i></i> Ruby on Rails.
<i></i> Etc.<p>Goals
* Be Hireable.
* Can't think on another one, so basically be able to get a job.<p>Because if my goal were to pursue Computer Science as a lovely field, My choice would be C or Haskell.<p>Thanks for the answers.
I would learn at least one solid backend technology to use for services and processing and one frontend technology.<p>If I were in your spot I would probably learn Java for the backend technology (with Jersey, Spring MVC, and Hibernate). Personally, I much prefer Ruby on Rails or Python and Django but since your goal is to be hired (and I would assume to be able to move up and make more money), I would stick with Java. It's solid and not going anywhere.<p>For the frontend I would say Backbone or Angular. I haven't made a decisions here but I would say Backbone is not going anywhere and will be the template for other frontend frameworks for many years to come. Angular is also strong.<p>Also, grab a css framework. I would choice Bootstrap.
1. Figure out what sector/industry you'd like to work in.<p>2. Figure out what's popular in that sector<p>3. Focus your skill development on that.<p>With some exceptions, but there's a high affinity for certain technology stacks in most sectors.<p>Alternately, if you want to work with C or Haskell -- start by identifying the sectors that are actually using those (they do exist), and build your understanding of the problem domains unique to that sector or your familiarity with the frameworks, libraries and toolchains that are being used on top of them.
Scala and Play is a very fun stack to work with for backend. It has a lot of modern technologies needed to create awesome applications. Scala is slowly becoming more popular among startups in SF and London. Scala is a very fun language and I have enjoyed transitioning from being a Java developer to a Scala developer and learning functional paradigms in Scala.<p>With my Scala promotion aside, each of the stacks you have listed have great employability. You'll need to ask yourself what kind of things you are wanting to learn while using these stacks:<p>1. Do you want to use a dynamic language? (Python, Ruby)<p>2. Do you want to use a statically-typed language? (C#, F#, Java, Scala)<p>3. Do you want to learn functional programming? (F#, Scala, Python, Ruby)<p>4. Do you want to work with big data and ML? (Python, Scala)<p>5. Do you want the highest chance of employability? (C#, Java)
From my personal experience, people who go the java route get stuck in more corporate jobs where things are slow and boring.<p>Java is just not that great for web dev. Dynamic languages offer much more flexibility. Although, at the end of the day, most web apps are REST APIs with Angular or another front-end framework.<p>I'd say learn Rails, as there are a lot of jobs in that area of expertise. Once you get good with Rails, learn Django, and then .NET MVC<p>Don't stick with one. Learn multiple frameworks so you can see the pros and cons of each.<p>Some will integrate better with certain technologies because of community support.
If your choice would be C or Haskell, you might have a look at Go (at least for the backend). It's usage is growing a lot in the last time.<p>Your choice may also differ from the location. In the USA Ruby on Rails experts have a good chance to find a job. In Europe (for example Germany) there are only a few well paid jobs.