The title says it all. I'm a .NET programmer, working mostly on WPF applications with C#. But I need to be familiar with latest web development technologies, JavaScript, HTML5, CSS, ASP.NET MVC, latest WebAPI, Azure and other non .NET ones. I want to work on Windows Store apps & Windows Phone apps. I want to be an efficient programmer on Linux platform. I want to learn the inner details of communication technologies, specifically wireless communications, and program for them.

WCF, REST-ful services, C++, COM, hardware-communication, in depth details of an OS, using NoSql, Power Shell, virtualization technology, etc etc, the list goes on. I think you get the point. So, when so many interesting things are moving around your head, and making you a bit stressed out, what is the best approach, in general, to follow?
And what is the approach to follow when you are eager learn so much but in a shortest possible duration? Because the longer it takes to learn the current one in hand, the more I get depressed and stressed out looking at the rests on my list.

  • 3
    Read books, study free software source code, contribute to it... Jul 26, 2014 at 2:40
  • 5
    When you have so many things going through your head, stressing you out - stop! Pick one. Pick some concrete app to make with it. Then make the app. Focused, concrete goals are good.
    – Telastyn
    Jul 26, 2014 at 2:58
  • @MichaelT: That question you linked is not what i'm asking
    – atiyar
    Jul 26, 2014 at 3:05
  • 2
    Give it up. You can't. When you get that point, it's 15 years later and all of those things will be obsolete. And you haven't even mentioned being adequate in any subject matter that you want to apply these technologies on to bring home the bacon. Jul 26, 2014 at 3:58
  • 2
    Also see: T-shaped skillset which is a strategy that HR professionals can recommend to everyone. Try to develop deep knowledge about a few specialty domains, and then some general knowledge about anything else.
    – rwong
    Jul 26, 2014 at 5:18

1 Answer 1


So when so many interesting things are moving around your head, and making you a bit stressed out, what is the best approach to follow?

Pick one subject / technology and study that. Then when you have mastered that one (to a sufficient level) move onto the next one.

Also, don't try to be good at everything. It is not humanly possible. And it is pointless stressing about something that you can't possibly do.

How to learn new technologies in short period of time?

Generally speaking, unless the new technology is similar to one that you are already using, you can't. Effective learning takes time. If you rush it, you will find that you didn't really learn.

But if you have the time and money, one of the best ways to learn quickly is to take a good face-to-face intensive training course with experienced trainers who really understand the subject matter. (Then start using the stuff that you have been taught ... before you forget it all.)

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