views:

38

answers:

2

Hi, I have had to work professionally on a few technologies/languages till today: C++, C#, directX, opengl and now ASP.net. I realize that I am MASTER of none but average-good at all of them.
My question is that for a successful professional career, is it favorable to experience many different technologies or try and stick to one ? What are your views and experiences on this subject ?

+1  A: 

I think, one should know and understand different technologies and should also have roots down deep on few of them.

Kangkan
I somehow feel that nowadays knowing the roots is important but whats more important is knowing the new things happening around it. eg. in .net new stuff comes up so often that its impossible to keep track unless lot of thinking and practise time is dedicated. That is why I am feeling a little confused about which which direction has more usefullness at the end. I also feel that one should stick to 1-2 technologies at most. Thanks for sharing your thoughts
mishal153
@mishal153: You're misunderstanding what Kangkan is suggesting. Knowing the roots means knowing how to do things in different languages, which (assuming the languages are different enough) means knowing how to do things in different ways, giving you new ways to think about programming. That is a very real and long-term benefit. Learning (say) Lisp, Haskell, and C++ now will make you a better programmer in whatever the hot language is in 2025.
David Thornley
@David: A grand salute for clearing the air on my behalf. A language is easy to learn but master it to implement something in any language is a great skill (I say it as art). So its not jack of all trades.... but master of all trades and jack of anything else.
Kangkan
Yes, I agree that exposure to different languages/platforms is a definite plus in long run. How deep one can go is obviously varying person to person.
mishal153
+1  A: 

Part of this degenerates into the "Specialist vs Generalist" debate where one can wonder if it is worthwhile to just get into one niche or is it better to learn a little bit about a lot of things. Example questions of this type:

Initially I think it worthwhile to have exposure to many different technologies just to see what the field looks like in some respects. For example, learning a little about Numerical Analysis and Symbolic Computation can help one see if scientific computation is an area that may make sense in some ways. At the same time, seeing functional programming, procedural programming and object-oriented programming are interesting different paradigms to see and try to wrap one's head around how each approach has its merits.

JB King