As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
If this question can be reworded to fit the rules in the help center, please edit the question.

3 Answers
3

A career in software development tends to be a lot more fluid when it comes to technological knowledge than just "I am using language X" - I have worked in computer security (C++, Java, Perl, Python), defense (C++), and some startups and web companies (Java, Python, C#, Ruby). I have never really been afforded the opportunity to be a single platform or single-language person, except at my current job (using C# in a pure Windows shop), and Visual C++ is a specific implementation of the C++ language that is only available on a single platform (Windows, though the C++ knowledge itself is rather portable in terms of language constructs).

This does not include anything else I have learned for job and on the job - MySQL, Oracle, actually learning and becoming a Solaris/Linux/Generic Unix expert, servers, build systems, Qt (the framework), boost, Javascript, XML, security, etc. etc. etc.

I think it's more important to know that you will likely be expected to do more than just use some particular language - if you want to work in Silicon Valley, I will say C++ is actually not a heavily sought-after language, though it's in use at some major companies like Oracle, Facebook, and Google. You will find that Valley companies tend to seek Java and Ruby knowledge, as well as Javascript expertise.

More than likely, you will be learning and using multiple technologies, languages, and platforms to stay up with the speed of the Valley. I interviewed out there a few months ago (at a very nice startup, got an offer but ultimately turned it down due to personal and family obligations here). They were a Ruby company (I wanted a Ruby job but had never used Ruby professionally) and did not care that I had not use Ruby professionally. Companies out there are not going to be interviewing you for very specific knowledge, they need to find someone who's very flexible, adaptable, and able to pick up many things and do multiple things in rapid order. Windows itself seems to be a rather rare development platform in Valley and Valley-ish companies - developers tend to use Mac OSX or Linux, and companies use Linux for servers (due to cost and general availability on platforms like Amazon EC2, Heroku, and Engine Yard).

I will say the most important thing is to keep experimenting and learning - even on your current job. I am developing my Python, Scala, and R knowledge by using them at my current job (the company does not use any of them in production) because it's easier for me to prototype and experiment in those technologies than using C# up front. It helps me get work done faster in the end. Also, understand that there are many technologies out there and while you will develop expertise in a few, you will gain passing knowledge across a wide variety of technologies, platforms, and languages.

C++ is still a heavily used language. It is witnessing a renaissance at Microsoft per Herb Sutter. That should be encouraging to continue studying VC++. Industry investment in C++ might see more vigorous growth both in and out of Microsoft camp.

If I may add, do learn other languages as well. A popular scripting language like Ruby or Python; a new language like Rust or Go or Dart; a functional programming language like Lisp or ML. Even if you don't use them everyday, what they teach you tend to come a long way in your career.

I've been a Windows C++ developer for 15 years. I'm not sure what is meant by 'VC++'. Visual Studio supports modern standard C++. There are many C++ class libraries that come in handy in Windows programming. XCode supports C++ for the Mac, and lots of Mac products contain C++. They don't call it 'XC++' though. I like writing writing programs for Windows, but I would not encourage any student lock themselves into just C++. Learn some of the server side languages and tool chains, and at least one good scripting language also.
–
Jim In TexasJul 6 '12 at 2:59

I think VC++ is the set of components in Visual Studio that support development using C++.
–
Agnel KurianJul 6 '12 at 4:23

I would also advice to learn some other web-development tools and languages.
Being locked-up to one platform (windows desktop applications) and VC++ might be a disadvantage. There are some mainstream trends in projects to use C#, Ruby, Java, Python, etc. Thus, there is a need to become familiar with HOT tools and technologies in the market !

what should I do in the recent years?

Master your tools and become expert in languages and tools that you use everyday