Declaration: I'm overwhelmed
I've been cranky recently about Silverlight, and I admit, it's not all warranted. What has been particularly bugging me is everyone's open-armed welcoming of YET MORE CRAP TO LEARN.
Learning one language a year: we'll try
I've also been cranky about the Pragmatic Programmers' "one language a year" quote. Dave and Andy, circa 2001, did not have to take into account the flood of Microsoft-centric frameworks, tools, and products in which we're all drowning. Scott Ambler has a fun diagram on his site that lists ".NET" as a single data point on his skill investment portfolio. One!
.NET: more like thirty
Leon Bambrick has posted a list of items he will NOT learn. This is an excellent start, but by no means a final list. Let's try out my list:
Not learning on my free time, from Microsoft
I'm taking a stand against learning all of this on my free time. Something (a lot of somethings, as you will see below) has got to give.
By all means, I'll browse an introductory session in order to get a vague idea of what each one of these things do; for whatever sick reason, I don't mind listening to 15 hours of audio podcasts a week. With all these podcasts, I figure I can get a glossed-over introduction to pretty much anything. But I'm not going to, say, try and run a hobby project with anything listed below.
- Entity Framework
- LINQ to SQL
- LINQ to XML
- WPF/E - Silverlight
- Atlas/ASP.NET AJAX
- ASP.NET WebForms
- Smart Client Architectures
- Enterprise Library (this should count as thousands of points)
Acropolis- ok, thankfully this has been canceled. One less thing to learn.
- .NET Compact Framework
- .NET Micro Framework
- Mobile development
- .NET Tiers - or whatever the code generation framework is called
Office developer technologies
- "OBA" - my summary is that I think this framework is the 100% best choice for 0.1% of all applications built. So is it worth it for you to learn?
- The various older Office technologies you probably aren't even aware exist (Outlook Forms anyone? Yeah, thought so).
- PowerShell V2 features (no way! I know.)
- Project Server (MOPS) - yes, I'm aware this runs on top of SharePoint. Remember this is my free time.
- SQL Server
- Active Directory
- Office Communication Server (or whatever it's called; the PBX/IM/telephony server from Microsoft)
- IT related products (MOM/SCOM)
- TFS admininistration/customization
- Server 2008 - well, at least the parts I'm uninterested in. This is one of the few things I think may be worth my time. Then again, the server product line seems to be the most quickly expiring skill (Server 2000 skills in demand, anyone? I thought so).
I'm holding off doing in-depth learning of the following, despite my interest in them:
- Python/Django and/or TurboGears
- Ruby/Rails and/or Merb
- Emacs/Lisp of some kind
- Linux OS - for the Mono stack. I've dual-booted in the past, but I just don't have the energy to keep up with anything Linux.
- Perl - believe it, Perl.
- SAP ERP - just kidding! That's just crazy talk. I'm not crazy, which is why I work with SharePoint.
That feels better
I assure you that my technical learning queue is absolutely huge; I won't talk about it today (IT'S BORING!). But look at all the junk I'm NOT learning! Isn't this appalling? What's more appalling, is that at one point in time I believed I should be keeping up with all these things! No way, not anymore--it's liberating to be able to just, ignore something. I'll be frank: it's an awesome experience. Definitely try it sometime. Try it out on your boss*! Just, Ignore
* Do not try this