Though Frank Sinatra says it best, “I’m leaving today” isn’t exactly accurate; my last day as a Microsoft employee was July 23rd, 2010. This post is almost two weeks delayed as Felicia and I have been on the road since the 26th, driving cross-country to the east coast; we also decided to leave Seattle in favor of New York, our home state.
Both decisions were extremely difficult to make, as I will miss all the brilliant people I worked with. Just being in their presence made me feel smarter, and we accomplished some amazing things together. Many were also my friends, making this a very heart-wrenching decision too. However, I joined Microsoft to bring Ruby and other open-source programming languages to the .NET framework, as well as to promote open-source practices in general, and I promised myself to ensure the truth of that statement throughout my Microsoft career. So, when my manager asked me, “what else would you want to work on other than Ruby,” I started looking for a new job outside Microsoft.
While Microsoft’s commitment to dynamic languages on .NET has been questioned many times, my tiny team has been excellent at suppressing those fears with quality implementations of Ruby and Python for .NET, compiler services and language embedding API called the Dynamic Language Runtime, and integration with .NET application frameworks like Silverlight and ASP.NET. And most recently the beginnings of IDE support for dynamic languages in Visual Studio. And all this released under an well-known open-source license, the Apache License (Version 2). This was only possible because my team had the freedom to do what we needed to do to counter those fears and run an effective open-source project
However, a year ago the team shrunk by half and our agility was severely limited. I’m omitting the internal reasons for this, as they are the typical big-company middle-management issues every software developer has. In short, the team is now very limited to do anything new, which is why the Visual Studio support for IronPython took so long. IronRuby’s IDE support in Visual Studio hasn’t been released yet for the same reasons. While this is just one example, many other roadblocks have cropped up that made my job not enjoyable anymore.
Overall, I see a serious lack of commitment to IronRuby, and dynamic language on .NET in general. At the time of my leaving Tomas and myself were the only Microsoft employees working on IronRuby. If this direction for dynamic languages on .NET is a path you do not want Microsoft to take, I strongly suggest you provide feedback to the team’s management directly. Also, Jason Zander runs the Visual Studio team, which IronRuby, IronPython, and the DLR happen to be a part of, and is a big proponent of these dynamic languages efforts, so provide him with your thoughts as well.
That being said, I am still interested in implementing dynamic languages on .NET, so I will remain a IronRuby core-team member, ironically making me the first non-Microsoft core contributor. The bad-news is I will no longer be working on IronRuby full-time, but in the near future I’m definitely staying active. Also, Tomas will definitely continue working on IronRuby when he can; we weren’t the last two people left for no reason. :-)
Given that Tomas and I will only be working part-time on IronRuby now, I invite the Ruby and .NET communities to come help us figure out how to continue the IronRuby project, assuming that Microsoft will eventually stop funding it. I’ll start a thread on the IronRuby Mailing List shortly, so keep an eye on that if you’d like to help. [Update: here’s the thread about the next steps for IronRuby. Join the list and discuss.]
While moving to New York is mainly a personal decision, as both my fiancĂ©e and I grew up there and our immediate families are still there, it was also for professional reasons; I’ve accepted a new position at Lab49, a financial technology consulting firm in New York City. I chose the financial industry not just because its dominance in New York, but because I see a lot of similarities between financial software and developer tools. Financial software serves a very technical user, much like programmers, but unlike programmers I know nothing these users, making it a challenging new space. It will be familiar as well, as Lab49 has done work with the new Technical Computing team, which many people who once worked on dynamic languages moved to. Lab49 was also very interested in my IronRuby and IronPython background, so it’s a great next step for me.
I’m grateful to have worked on compilers full-time, outside of academia, while still contributing to open-source, especially at a company that hardly showed up on the open-source radar just 4 years ago. And at least one dynamic language at Microsoft is getting love; IE9’s JavaScript engine, and Microsoft has awesome intentions with it. I’m totally a supporter of most things Microsoft is doing, and I look forward to working closely with them on financial problems. I’m just extremely disappointed with their decisions around dynamic languages on .NET. As one former-teammate’s email signature read, “If your ideas are any good, you'll have to ram them down people's throats.”
I’m looking forward to this new chapter in both my life and my career. Not only am I living in the city that never sleeps, but I hope to build upon my dynamic language work and use it in an area completely new to me. While I expect to still be Ruby and .NET oriented, my posts will be about solving new problems, and should make for some good reading. Stay tuned, and thanks for all the support thus far.
54 comments:
It's really too bad to hear the state the dynamic languages teams are in, although I had suspected as much for a while now. I hope this isn't the beginning of the end for the Iron* languages.
Good luck in your future endeavours!
That really sucks. I love .Net and think it's way better than any other dev platform for virtually everything other than web dev. ASP, even MVC, still requires way too much boilerplate, refusing to accept the "convention over configuration" ideal, which should be a "duh" for anything dealing with __ML. I was really hoping they'd embrace the dynamic concept a bit more for those types of things.
Ditto jdhardy. Glad to hear you are moving on to greener pastures and staying involved with IronRuby, despite MS's apparent lack of interest. Thanks for all your hard work while you were there!
These are heart breaking news Jimmy.
My guess is that you guys could not really tell the world what was going on at Microsoft while you were in the middle of things and the community was left to infer that things were not looking great.
Very very sorry to hear this. Terribly sorry to hear this.
Miguel
What do I need to start a IronGroovy project?... Just kidding but I would like to have Grails support in Visual Studio and why not .NET.
Anyway good luck!!!
This is sad news for us, but congratulations to you. Lab 49 are well respected in the financial services world and are doing some really innovative things. I hope you'll get a chance to work on many exciting things!
That's very difficult to hear about the dynamic language team at MS. However, congrats on joining Lab49. They are an awesome company and you have to be pretty slick to work there.
First of all Jimmy: a huge "THANK YOU" for making IronRuby possible on .NET and the DLR!!!
You have demonstrated tremendous delivery skills considering the challenge of working with a small dedicated crew, accepting public contributions, and most of all following an agile process with quite a bit of transparency.
I am sad to hear about all the reasons you mentioned.
But I wish you the best!
Thanks for your work. Microsoft pulls the chair out from under another great thing for developers and a great developer.
It's a pity that Microsoft don't seem to be putting any corporate muscle behind the dynamic languages any more. They will live to regret it (not in a bet-your-business way, but it will lose them long-term market share).
Still, we all have to put ourselves first. The trip across the US must have been both exhausting and fascinating.
Good luck in New York!
Sad to hear you're leaving MS and IronRuby has seen continued resource issues, but I and many other Rubyists thank you for your devotion to the project and your participation in the Ruby world these past years. I hope we'll still see you at Ruby events occasionally and manage to have that implementers' dinner or beerfest we always talked about.
Good luck with your new position!
A stunningly bad decision on Microsoft's part to neglect the dynamic languages team.
Good luck to you Jimmy and thanks for your efforts.
I don't know why Jimmy didn't mention me :), but I'll still be helping out too. My primary job will be on JS now. -Jim
This frustrates me because I'm interested in IronRuby far more than tools like WebMatrix and Lightswitch.
Jimmy, I appreciate the work you've done thus far with IronRuby and I can't blame you for moving on. Thanks!
Without words.
Both Ruby and Python are key components of our .NET infrastructure and scripting story for our products.
Microsoft's backing of these languages is what tilted us from the JVM to .NET, despite the JVM having two mature Python and Ruby implementations as well.
This is a monumental mistake.
I read this on the weekend just before I wanted to adopt IronPython into our company. It was supposed to make C# obsolete.
Well.. what can I say. It sucks to use any M$ tech. I should stick to OSX and Linux and leave my current employer due to strict use of M$ tech.
Sorry to say that man, but your story reads just like that to me.
I want to thank you for your great work, though. And I wish you all the best for your NY future(;
This is shocking. We adopted IronRuby just because it is from MS and assured to be part of .Net framework. Having done so in .Net 4, news like this is a serious concern.
Anyway I wish you good luck for your future endeavor and hope you succeed in keeping IronRuby alive.
Hi Jimmy,
Much love from Egypt. Thank you so much for your effort in open sourcing IronPython for ASP.Net and bringing IronRuby to life.
filled out the contact form on mr. w's blog and told him how much i think bringing a proper ide to dynamic languages (esp. ruby) is a beautiful, beautiful idea.
Hate to hear this. Thank you for all your work on IronRuby. I've been pulling for you guys.
I was getting worried that things had gone quiet... Hmm. Maybe with Jimmy on the 'outside', but with the 'inside' knowledge it is actually an opportunity for the troops to rally round and help out a bit more and grow as an IronRuby community rather than a bit of 'us' and 'them'? Ruby on .Net is too important to let it wither.
Are they cutting back on IronPython in the same way as with IronRuby? Maybe Microsoft decided to pick one, and they chose python. Just sayin'.
I should mention what others have said elsewhere - this may be the best thing for IronRuby to flourish. If Microsoft hands the copyrights over to the CodePlex Foundation or the Mono team, then it could be run as a real OSS project.
Ironically, being free of Microsoft might just save IronRuby.
It's not at all clear that IronRuby is going away any time soon.
But even if it is, this is just open Source survival of the fittest.
If the community isn't interested enough to contribute code to keep the project alive, then I don't see why Microsoft would keep investing corporate resources, either.
Good for you, Jimmy. Bravo!
We only worked together very briefly on one or two articles for MSDN Magazine, but the work you did really reflected well on you and your dedication to IronRuby and IronPython. Very impressed!
I wish you the best of luck in your future endeavors.
A Big Shame.
Web Apps will use Dynamic languages.
Microsoft FAIL.
So sorry to hear that you are leaving Microsoft - they needed you, and they seemed to be going in the right direction. Now I'm not so sure anymore.
I for one have emailed Scott Wiltamuth and told him about my disappointment.
Congratulations in your new job.
I'm sorry that Microsoft is losing a great proponent of the Open Source wave.
Hope this project doesn't die.
I did send an e mail to Jason Zanders.
Sorry to see you go Jimmy. I was shocked when you told me you were leaving. You definitely helped make MS a brighter place. I hope we find a way to keep dynamic languages on .NET alive.
Good luck in your next venture!
Good Luck Jimmy, thank you so much for your commitment. It is very sad to still see this kind of lack of vision from Microsoft, although this was totally expected, at least I already expected they would drop the ball but at the same time I kept a thread of hope that it could evolve. Today, my last thread of hope of anything good coming from Microsoft was crushed.
I don't ever expect Microsoft to do anything useful in the near future and I only hope they keep themselves out of our way.
Jimmy--
Wishing you the brightest of futures! I enjoyed collaborating with you!
Congrats on the new job, Jimmy.
It's a shame that Microsoft can't recognize the value you bring to both the dynamic language enthusiasts and the general .NET community at large. Many thanks for all your hard work - I hope we'll get to squash some bugs together in the near future :).
-Charles
Good luck in your new role, real pity on IronRuby though.
It does worry Microsoft has gotten a bit myopic again, all the overhyped RAD/CRUD and pre-mort stuff is fine and good but for most enterprise development IronRuby was far more relevant.
As a .NET developer it does worry me that unless a project is under scottgu there is a good chance it'll fall foul of mis-management, reorganisation, politics.
Why can't the next under-resourced and unloved announcement relate to something like LightSwitch?
It's curious that in the same week of your announcement, another "scarey" blog post, Introduction to Microsoft.Data.dll, created waves of disbelief in the development community.
I suspect that IronRuby and IronPython are just way to complicated for Microsoft's target audience!
What a pity! I liked the "cool" power the DLR brought to the table. We did an interesting POC with Siverlight and DLR and I thought it had alot of potential - esp in the FS space where you'd like to play with dynamic computations etc.
unfortunatelly, expectable. If MS cannot control something, they are not going to support it. In MS vision, you should not have any possibilities to migrate somewhere. Your story just confirms it.
Good luck for you with a new job!
Hey Jimmy,
sad to hear that. :(
I hope you'll have a nice time in NYC. And enjoy your new job.
Discontinuing IronRuby will be an hughe mistake. Millions of dollars are spend into RAD-Tools to show business people how fast "good" development is... xD
But on the otherside they are shrinking the team, that builds the really interesting things...
Microsoft, that sucks! So don't hoax the community!!!
IronRuby rocks!
Welcome back east. Now that you're coming, I hear that Starbucks might be following close behind you.
Stan
Find my bankruptcy discharge order; quickly, Quick way to get copies of your bankruptcy discharge order.For quick way to get bankruptcy records in your email. Bankruptcy live is document retrieval service.; You will find it helpful to dig out your bankruptcy records at bankruptcylive.com for a very nominal fees. ( Serving all 50 States).
It makes sense to me that Microsoft would drop the DLR development and the support for Ruby and Python on the .NET Framework. Why? Because Microsoft doesn't *really* want those running on their runtime because that would make the .NET Framework "just another run-time" that could be swapped out with the MRI "C" version or the Java JRuby version. They want the features of Ruby (and other dynamic languages) without the ability for applications to just jump off the platform.
In a .NET Rocks Podcast interview with Anders Hejlsberg (creator of C#), Anders talk specifically about Ruby and wanting to bring some of the meta-programing abilities to C# 5. [http://www.dotnetrocks.com/default.aspx?showNum=541]
I have a friend who works as a patent attorney and their largest client is Microsoft. He commented recently about Microsoft doing a lot of patents on DLR technology.
So I don't think it was an accident to invest 3 years of effort and then "drop interest". I think they are getting what they want out it.
Think about how Microsoft got into the Functional Programing domain. Through F#. What is F#? A syntactic copy of OCaml with "enhancements" that can't leave the .NET Runtime. Remember, Microsoft is all about lock-in.
So I expect Microsoft got what they wanted. The technology developed in-house and patented. They can use that technology to help develop C# 5.0 or a new dynamic language inspired on Ruby and/or Python but with enough changes that it can't be taken off the .NET Framework.
Embrace, Extend, Extinguish.
Have they ever really done otherwise?
I totally agree with you.
Sad to see - dynamic language support in .net was so promising. Why does MS continually swing like a pendulum on things like this?!
Good luck to your new projects. Everyone need a change once in a while!
Congratulations for your new job!
well nice done mate i wish you the best of lucks
I wish you all the best for your bright future in New York
seo ny
Good Job.
Congratulations
Well, good job you have done.
very nice site !
hope you get it all right .
Sorry to see you go Jimmy. I was shocked when you told me you were leaving. You definitely helped make MS a brighter place. I hope we find a way to keep dynamic languages on .NET alive.
Good luck in your next venture!
This is sad news for us, but congratulations to you. Lab 49 are well respected in the financial services world and are doing some really innovative things. I hope you'll get a chance to work on many exciting things!
I should mention what others have said elsewhere - this may be the best thing for IronRuby to flourish. If Microsoft hands the copyrights over to the CodePlex Foundation or the Mono team, then it could be run as a real OSS project.
Post a Comment