29 August 2011
One of the most impressive benefits of working for Magenic is that at the 10 year mark they offer a three month sabbatical to employees. I just finished my sabbatical, right as I crossed the 11 year mark working for Magenic.
I’ve spent the past three months not being immersed in computers, software development, industry intrigue/rumor, or speculation about the future of <insert your company/technology here>.
Instead, I was camping, fishing, waterskiing, reading (a book on how the brain works, and a bunch of fiction), and spending tons of time with my wife and kids.
I find that I am quite refreshed. When the sabbatical started, I was in a state of angst. Microsoft was making noises about HTML 5 being the future, casting doubt on the future of .NET and Silverlight, and really throwing some doubt on the viability of Microsoft as a company.
Those doubts still exist – and we’ll find out whether Microsoft is planning to undermine their entire developer base in just a couple weeks (at the BUILD conference).
But after a few months of not worrying about these things I realize they just aren’t important. Not in the long run.
For the first several years of my career I was a DEC VAX/OpenVMS expert. Programmer, system administrator, hardware geek. I knew the ins and outs of the operating system, hardware, networking – everything. It was fun to have that level of expertise and knowledge – to literally know no bounds.
But DEC went from being the number 2 computer maker in the world to a footnote in about 3 years. In 1993-4 they were big. By 1997 most people had never really heard of them. Of course in that timeframe they’d been purchased by Compaq.
And that is what has me thinking about this – because HP bought Compaq, and now HP could easily be imploding such that they’ll be nothing but a footnote a couple years from now. In fact, even Google, Microsoft, Apple, and Amazon are all just 3 years from being forgotten at any point in time.
What is interesting, is that none of my direct VAX or OpenVMS skills translated into the Windows world (because that’s where I went back then). The important thing to understand is that my computer science skills, and my business-to-computer analyst skills translated. All that deep technical knowledge of OpenVMS became useless trivia almost overnight, but the foundation of my career remained intact.
I never gained the deep understanding of Windows I had with OpenVMS. I have no idea how to configure Windows enterprise domain networks, and can barely configure my home network. But I haven’t missed that type of knowledge (much), because I’ve been able to spend years focusing on software development – and that’s a lot more fun for me.
Around the turn of the century/millennium we got .NET. If we hadn’t have gotten .NET I’d have gone to Java (and I suspect almost everyone else would have too). The VB/COM/C++/ATL platform had gone as far as it could go at the time – we could create great apps, but they couldn’t be deployed due to coupling and DLL hell.
Few of my Windows/VB1-6 skills translated to .NET. The deep technical knowledge of VB and the Win32 API became useless trivia almost overnight. But again, the computer science and analyst skills, along with a lot of good architecture skills/knowledge carried through intact.
The past decade working in .NET has been one of pure joy. I truly love .NET – even more than I loved VB in the 90’s and OpenVMS in the 80’s. But let’s face it, the future of .NET really is an unknown at this point.
If BUILD is all about HTML 5, JavaScript, and C++, then .NET is de facto dead on the client, and will probably suffer a slow but sure death on the server too.
On the other hand, if .NET has a substantial place for creating first-class Win8 apps, then we can all resume our normally scheduled lives.
I should clarify: by “.NET” I mean anything from actual .NET to “native Silverlight” like on WP7 to something-like-Silverlight-but-tailored-for-Win8. My personal vote is for something like Silverlight on WP7, but tailored for Win8.
In the end, the worst case is that Microsoft decides to treat .NET as a second-class technology on Win8, so it can only create “legacy mode” applications. That would effectively make all our deep knowledge of .NET into useless trivia overnight, because we couldn’t use any of our existing skills to build first-class Win8 apps.
I must say, that this “end of .NET” scenario would be the first platform shift where I felt like the industry was going backwards. Going from the VAX to VB was fun. Going from VB to .NET was even more fun. But somebody is going to have to pull a pretty amazing rabbit out of their hat to make HTML 5 and JavaScript look like fun compared to .NET… Whether that’s Google, Apple, Amazon, or Microsoft – I haven’t seen them come up with anything yet that has me looking forward to such a future.
But platform shifts happen. Vendors come and go, operating systems and development platforms come and go, but we always have our computer science and real-world analyst skills because they are independent of any given platform. In the long run, the survival of .NET, or even Microsoft, isn’t a given – but each of us will continue to have a career, and we’ll continue to build software that makes the world (or at least our little piece of it) a better place.
Personally, I maintain hope that BUILD will be the place where Microsoft reveals .NET “v.next” with all sorts of cool support for Win8 application development. I’ll find out if I’m right in just two weeks