Which Web Techonologies should I use to build a Web Application in 2015?

The question is very subjective but I find myself stuck in mud and I need fuel to think so I'll waste the smallest amount of time possible to become a "real" programmer and start finding a small junior job.

I've been fiddling for two years (coursera, code school, books, online resources) with Python and the good old LAMP stack (with superpowers given by jquery and jquery mobile).

Last week I've decided to start doing things with method and I've discovered yeoman and other incredible tools like AngularJS.

I felt like I've wasted months on doing things that AngularJS does in seconds and in a very clean and readable way.

It has been both great and terrible: am I wasting time trying to use old technologies?

Should I start focusin on the MEAN stack instead of LAMP?

What is the world looking for now?

I feel lost.

I would like to use Python instead of PHP to handle my backend but maybe it is not the right tool for fast and agile web development... Flask, Bottle, Django...

Then there's Ruby...

Everyone wants their applications to work on mobile too so there's Cordova, Phonegap... Headache!

So many differencies, so many questions, so many problems.

I've thought much about where to ask for what to do but Experts Exchange is the only place that gave me the rights suggestions about beginning to study and therefore I'm here, again, to seek help.

May your new years be filled with hacking and success!
Who is Participating?

Improve company productivity with a Business Account.Sign Up

Jason C. LevineConnect With a Mentor No oneCommented:
Learn to use them all.  Failing that, learn to use as many as you can and stay current as new things come out...but know what everything is and what it can do.

The problem with telling you which technology is the One True Way is that it won't be the One True Way.  Every framework and language has its place and you never know when you'll be put in a position to work with something new or old, familiar or unfamiliar.  If you are working for yourself, not being able to at least have a conversation about a given technology means you will be passing on certain opportunities.  If your work for a company or agency, the more things you can do increases your value and the company's ability to do things.  

So be a web Jack-of-all-Trades, and a master of several.
The application requirements should dictate the technology.

If you are thrilled by new toys and want to be an early adapter, Then you will always be chasing the latest buzz, and never produce anything much more then stuff that does beta testing of the tools.

The installed bases of tools like PHP, Wordpress, Apache, and other mature technologies are large because they have been perfected though tens of thousands of developers making things that don't work right and getting the tools improved over time, to extend the capabilities.

Those mature technologies are more secure because hackers have found most of the vulnerabilities and those are now patched.  If you think that something looks quick and easy then you need to undersand that quick and easy means you will give up some level of control and flexibility, and when you can't make it do something and you need help you will find that the newer the technology the less of a community there is to support it; and the more likel case where you will have to use a hack that oens an attack vector.

Every month hundreds of questions go up on EE about fixing something in a newer technology that end up getting classified as neglected because there is no one on the site who knows the new toy well enough to have a solution.  So whatever new technology you decide you want to use, make sure it is supported by a community of users who are actually experts, not just experimenters.

As for me I have not seen any thing that convinces me there is a better way to do web development then the LAMP stack.  However I have been developing with LAMP for a long time and have built up a pretty extensive library of snippets, classes, widgets and plug and play objects that I can use to generate just about anything I need.  The best part about "old" code and "old" toys is that they have been hardened against the most skillful hacker attacks and it takes very high level skills to do damage.

BTW, I agree with Jasons's suggestion about learning many tools. Learning how things work, and even experimenting with them, is te only way to know when a newer technology has matured enough to be used for real development instead of just being nerd bait.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.