To date I’ve done a lot of low-level programming (kernel-mode device drivers, native code, etc.) on both Windows and UNIX with C++, C and Ada95. I’m considering to make a career jump to application-specific programming where I can learn a business alongside software development and not just be a low-level hardware interface guy.
Besides learning SQL and basic databases, for various reasons, I’ve decided to go with the .NET stack rather than the Java stack. I’m not really interested in UIs, but more so server and back-end development for the time being, so I’m trying to avoid tech like WPF and CSS/Javascript/AJAX for now.
What .NET technologies should I be trying to learn to make myself more “modern” and competitive in the job market? Do I need to try to master linq, ADO.NET, ASP.NET, and WCF as well?
I’d do ADO.NET first along with SQL. If you don’t know that, you’re severely restricted in business development – if you learn web programming, that’s all you’ll be able to do. If you learn database access, you can write any GUI you like.
Once the SQL is done, you can choose any other part that you like, but do low-level sockets first before going with WCF, you’ll probably find that easy and you’ll get the fundamentals sorted.