I have been writing applications for .NET for the past 10 years and got pretty proficient at it. Since I had C++ at the bottom of my resume, my current employer decided that it would be a good idea to have me write an in-house anti-rootkit package. I am all for acquiring new skills, but the learning curve is very steep and there seem to be no demand for this kind of skills anymore... unless you are planning to run a botnet from Russia.
Is this a career suicide? Is there demand for these skills? What would you do if your employer hired you as a .NET developer and then later pushed to do something completely different?
Thanks for great comments! Please keep them coming.
Just to clarify things. The question is not about how much fun it would be to write something like this. Lots of folks do it for free so there is no doubt that it can be exciting.
It is not about learning and mastering C++ either. The task requires very specific knowledge of low-level Windows APIs without much documentation available.
As developers we are constantly learning. The main challenge is to choose where to spend the very limited resource -- your time.
The fact is that Windows API programming is in serious decline. Linux is a different story, but there is no malware for it, it is all about Windows :-) I don't see much demand for Windows driver and kernel-level programming. There is a small number of C++ jobs in my area and most of them are related to supporting existing Windows apps written years ago.
QUESTION: Would this year-long investment in learning low-level Windows APIs and driver development ever pay off? If so, except DoD, what US companies would be interested in such skills? Or, for example, would it be better to invest time into Android programming or learning Python and Linux?