0

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.

atiyar
  • 203
  • 2
  • 8
  • 3
    Read books, study free software source code, contribute to it... – Basile Starynkevitch Jul 26 '14 at 02: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 '14 at 02:58
  • @MichaelT: That question you linked is not what i'm asking – atiyar Jul 26 '14 at 03: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. – David Tonhofer Jul 26 '14 at 03:58
  • @DavidTonhofer: the list is actually longer than what i mentioned :( – atiyar Jul 26 '14 at 04:07
  • The trick is to identify a "profitable subset" of the list of technology, and learn that. How one defines the "profitable subset" is subject to debate. – rwong Jul 26 '14 at 05:16
  • 2
    Also see: [T-shaped skillset](http://en.wikipedia.org/wiki/T-shaped_skills) 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 '14 at 05:18
  • @NerotheZero I know that feel... it leads to actual depression – David Tonhofer Jul 26 '14 at 12:33
  • What, you don't want to learn scientific programming and graduate level physics or chemistry? Or deep graphics programming and not only the intricacies of OpenGL or DirectX, but quaternions? Why is your list so incomplete? Seriously though - my point, like the other comments, is you need to focus on a few core areas and become proficient. – paisanco Jul 26 '14 at 16:28
  • @paisanco: got your point, but I'm a bit interested about DirectX too :) – atiyar Jul 26 '14 at 16:46

1 Answers1

4

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.)

Stephen C
  • 25,180
  • 6
  • 64
  • 87