Monday, August 29, 2011
« Visual Studio Live in Redmond | Main | WinRT and .NET »

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 Smile

Monday, August 29, 2011 3:34:49 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [10]  | 
Monday, August 29, 2011 8:30:56 PM (Central Standard Time, UTC-06:00)
Couldn't agree more. I just recently took a new job working at a company that does primarily php on MacBooks after working in Microsoft technologies for my entire professional career. I've found that I'm stumbling over little things as I get used to a new OS and language/tools, but I can still grok the architecture of their codebase and translate business needs into technical solutions.

This has been comforting as I had been getting more and more overwhelmed by the amount of new tech that was coming from Microsoft in the last few years; it was hard to keep up with everything they were throwing at us. Now I feel better knowing that the important stuff isn't really tied to knowing a tool or specific language syntax.
ben
Tuesday, August 30, 2011 3:45:37 AM (Central Standard Time, UTC-06:00)
Absolutely right. Platforms, technologies, programming languages come and go. I always understood my university qualifications to be a proof marker that I had an aptitude for software development. The real test is out there in the real world encountering different technologies and being able to be productive, efficient and profitable. I hope MS do not drop or relegate .Net. The past 2 years I've worked with Silverlight and at times its been like learning how to write software again, although I think the MVVM paradigm wrought that situation.

Ideally I would like it to be a case of horses for courses and have no restrictions placed on us. Best tools for the job in hand. If MS embrace HTML5, I'm sure they'll furnish developers with the right tools.
Sam
Tuesday, August 30, 2011 7:53:00 AM (Central Standard Time, UTC-06:00)
I am holding out hope that Microsoft provides an HTML5 solution in the VS IDE, yet continues to enhance the .NET platform. Allow the marketplace to make this decision. Unfortunately, they do have a history of making these decisions for us.
Ed
Tuesday, August 30, 2011 7:55:46 AM (Central Standard Time, UTC-06:00)
@Ed, I don't think they make the decision for us maliciously. Rather, I think that it is extremely expensive to build and maintain tooling for a platform, and that it is cost-prohibitive to maintain tooling for multiple platforms just to see which one people like more.
Tuesday, August 30, 2011 9:14:18 AM (Central Standard Time, UTC-06:00)
You hit the nail on the proverbial head! I've never had a sabbatical and from what it sounds like it was a great experience for you. I think every developer needs some sort of break from programming and computers. It is easy to get wrapped up in this stuff and you bury yourself so much you never see the light of day. Your words are so true. That is what keeps us employed. It is the constant fact that in the IT industry there is always a learning curve. Languages and systems become part of your experience. I take great joy in telling younger programmers about the days of old :) I'm hopeful that .NET sticks around for awhile but if not, then it will be an interesting story to tell.

Thanks for sharing this!
Tuesday, August 30, 2011 10:16:05 AM (Central Standard Time, UTC-06:00)
I wished my company gave me a 3 month sabbatical for ten years of work. I hit ten years in June 2010 and all I got was a certificate.

I don't think Microsoft is walking away from .net for Html5/JavaScript. I think what they are doing is sending a message to the hottest development market (mobile) that come Windows 8 those Html5/JavaScript apps you are writing for IDevices and Android can run as a first place citizen on the Windows 8 platform no matter what device form factor Windows 8 is running on. And like Apple, they want an app store.

I believe over time WPF will lose out to Silverlight for Microsoft development resources.
Otis
Tuesday, August 30, 2011 10:25:17 AM (Central Standard Time, UTC-06:00)
Glad to have you back in land of the living, Rocky!

Put me in the camp that does not believe, for a Minnesota Minute, that MS will abandon .NET. Might Microsoft do a server side JavaScript.net? Sure. Might they embrace HTML5 as a mainstream presentation framework? Seems like it. But I think all of that will be additive, not a substitution.

Personally, I think it would be great if they focused their efforts and did less though. There is no reason they need to write their own unit testing tooling, their own ORM, their own DI framework, or any number of other things that are not core to being a framework. A more focused Microsoft that works on fewer presentation frameworks, fewer tools, etc - could do a better job building a world class core platform on which other people build software.

I think that goes for MS in general as well. Does Bing really need to exist? Is MS viable in mobile? At some point, they need to cut losses in things that are obviously not working or likely to ever be profitable. Failure is ok. Failing to admit it and learn isn't.

BTW, I will be at Build as well - hope to see you there!
Aaron Erickson
Wednesday, August 31, 2011 5:54:58 AM (Central Standard Time, UTC-06:00)
Yeah I do think that things change and that it's time for Microsoft to do some new things.
my thought is that we need to have 3 options to have the "Best tools for the job"
HTML + CSS + JS for web browsers
.Net for high level app building
C/C++ for system level development like device drivers etc...

I think if MS were to stop developing .net then Java would get more use and MS would lose ground in a number of places.
I don't think they are going that way....

I think the problem is the mindset of "one size fits all" or "one Language" sure if you have to many things you try to manage that can lead to total falure.... but if you can find a balance you should have what you need.
Wednesday, August 31, 2011 9:07:42 AM (Central Standard Time, UTC-06:00)
Welcome back. Thanks for this post. Its good to know that even the likes of you struggle with angst and doubts when it comes to this stuff. I mostly agree that it doesn't matter which technology. I'm pretty confident that I can become proficient enough in the next thing. The hard part isn't transfering skills to a new platform but knowing when to do it. I find it difficult to keep my toes in everything trying to anticipate where the trends and industry are headed.

I'll be insterested to hear your thoughts on what comes out of Build. I wasn't aware of the significance, that it could signal the end of .NET.
Saturday, September 03, 2011 1:09:26 PM (Central Standard Time, UTC-06:00)
Thanks for your comments Rocky. Also starting my career on VAX/VMS (COBOL programmer) and then moving to VB4,5,6 then excited to move to C# (webforms,wpf,Silverlight...)
I remember the first time I used your framework back with VB6 and haven't looked back, it's been a fun ride all these years... Well, let's wait a few days until the conference and hopefully we come out of this with at least some kind of commitment to .Net / XAML as first class citizens in the future.
Please keep us posted of anything you might hear and look forward to your post conference analysis... Take care
Jorge
Comments are closed.