The Visual Basic team has a long history of delivering great value to our customers, and we are continuing that in the Dev10 release of Visual Studio. We’re looking for a Development Lead to help guide these efforts as well as shape future versions of the compiler.
The Visual Studio Languages group (VSL) develops VB, C#, F#, IronPython and IronRuby. As a member of this product unit, you’ll have the opportunity to work with others developing compilers and IDEs targeting the .NET runtime. You’ll benefit from their experience and contribute best practices and methodologies of your own. In VSL, developers work closely with their QA team, and we are committed to delivering the best value for our customers at very high quality.
As a Development Lead on the Visual Basic compiler, you’ll be the hand at the tiller of VB.NET compiler development. Specifically, you will:
- Manage the day-to-day duties of the compiler and runtime development team, ensuring on-schedule delivery of high quality components.
- Help chart the direction the compiler team takes by prioritizing efforts in coordination with your counterparts in QA and PM.
- Contribute to the design of the Visual Basic programming language.
- Mentor your team of developers to continue their career growth.
- Help shape the engineering environment and procedures in Visual Studio Languages.
- Work closely with the IDE team to help them provide a top notch editing and debugging experience.
To be successful, you’ll need the following:
- A demonstrated aptitude for managing a team of high-caliber developers.
- Excellent communication, collaboration and negotiation skills and the ability to drive open issues to closure.
- Strong architectural sense and a working knowledge of the fundamentals of compiler design.
- Passion for delivering customer solutions and quality software in general.
- Working knowledge of the managed runtime environment is a strong plus.
We’ve hired a few people around here recently (including me obviously). However, if you have a burning desire to work on IronPython (or IronRuby) and Visual Studio, we’re still hiring:
An important aspect of developing these dynamic languages [aka IronPython and IronRuby] is providing support in the Visual Studio IDE. This includes editing features (color-coding of source code, intellisense, go-to-definition, refactoring, etc), debugging features (breakpoints, data tool tips, etc), ensuring a language-specific look-and-feel (interactive console, etc), and integration into the Visual Studio project system. It includes integration with the various designers like the WPF designer via CodeDOM, and development of project templates for various scenarios (Silverlight 2 app, WPF app, ASP.Net website, VSTT unit tests, etc). We also want to integrate with Visual Studio technologies like profiling and code coverage. Your job will be to ensure that developers using dynamic languages built on top of the Dynamic Language Runtime (DLR) have the best development environment in Visual Studio.
We’re looking for a talented developer with exceptional programming ability and a passion for dynamic languages. Experience in these areas is a bonus though not strictly required: building developer tools like editors and debuggers, compiler implementation, reflection, dynamic languages, VM implementation, performance measurement and/or optimization, C#. Applicants should have a BS/MS in computer science or equivalent, and three or more years of industry experience.
- Another nice thing about the new job: I’m working in the vicinity of some good friends. I was over in building 42 yesterday and made it a point to stop by Pat Helland‘s office yesterday and spend an hour or so chatting about the new gig. Pat is down the hall from David Hill, whom I worked with on Architecture Strategy. Back in my building, we’re down the hall from the VSX folks including my friends Ken Levy and Gareth Jones. I’m sure there are more folks I know around, but hey it’s only my second week!
- I’m a big fan of Carbonite, which I use to back up all the digital media on my home computer. With two little kids, we have lots of digital photos as you might imagine . However, one thing that bugs me about Carbonite is that it doesn’t back up video files by default, you have to go in on a folder by folder basis and select “‘Back up Video files in this folder” from the context menu. Given how much trouble this “feature” has given me, I imagine less techie folks don’t even realize their video files aren’t getting backed up. However, I will say the latest version of the Carbonite Software at least makes it easy to find files that aren’t backed up. A quick sweep revealed around a dozen folders that had un-backed-up video files in them, which I promptly fixed.
- The big news yesterday was the new Google App Engine, which looks to give you access to virtualized infrastructure that sounds similar to what GOOG is rumored to use internally. I like Dave Winer’s comment that this enables “shrinkwrap net apps that scale that can be deployed by civillians.” Given Google’s history w/ Python – Python’s BDFLGuido van Rossum works there – it’s no surprise that Google App Engine (GAE?) runs on Python, though apparently they “look forward to supporting more languages in the future”. I’m guessing “more languages” == Ruby, maybe Erlang too.
- I wonder if/how Google App Engine will affect Ruby on Rails momentum? If there’s a significant lag before App Engine supports Ruby, will that drive developers to Python web stacks like Django? (Django is included in “the box” with App Engine)?@ PyCon, I was surprised at the intra-language animosity I observed. I wonder how many Python developers are secretly hoping Google never ships Ruby support. I highly doubt Google would do that – they want to tap the exploding RoR market like everyone else – but I’d bet it would really take the wind out of Rails’ sails if they did.
- Today’s Michael Foord Link: Embedding IronPython 2, Examples of the DLR Hosting API. You can read the DLR Hosting spec, but it’s pretty out of date so Michael’s article helps fill in some of the gaps.
- Looks like PowerShell has gotten the open source community treatment in a project called Pash. While I’m sure others are excited about PS on Linux or Mac, I’m excited to see PS running on Compact Framework. I wonder if it would work with XNA?
- Speaking of XNA, XNA Console is a new CodePlex project that provides an IPy console to manipulate your XNA based game on the fly. Python is no stranger to game development – Civ IV for example provided mod capabilities via python. Alas, the compact framework can’t run IPy today, so neither can XNA on Xbox. But wouldn’t it be cool to hack your game in IPy running on a 360 using the messenger kit? (via IPy URLs)
- Bart De Smet gets functional, writing type switch and pattern matching in C# 3.0. I guess it works, but it sure is ugly. Why not just use F# and be done with it?
- Soma announces that the VC++ Feature Pack has shipped. Somewhere, I assume, there is much (some?) rejoicing.
- Huge perk of the new job: new hardware. I had to give up my Dell workstation but I got a Lenovo T61p dual core widescreen laptop, an HP dc7800 dual monitor quad core desktop and a Polycom CX700 IP phone. I’m really digging the Lenovo’s integrated fingerprint reader – no more password login – but I’m most impressed with their integrated driver management software. Sure beats the heck out of hunting for dozens of updated drivers all over the place like most vendors for you to.
- Minor downside to all my new toys: I spent most of my first week on the job installing and configuring said new toys.
- Caps will face the Flyers in the first round of the playoffs which starts Friday. I have a feeling that I’ll be feeling poorly Friday around 3pm and have to head home early.
- Apparently, Michael Foord isn’t getting enough exposure on this blog. He left a comment to remind me to mention the IronPython URLs link blog he writes along with Mark Rees and Seo Sanghyeon.
- Speaking of Michael, his employer Resolver Systems just launched a new product: Resolver One Quant.
- Still speaking of Michael, he’s quoted in the InternetNews article Python Fans Take Aim at the Enterprise.
- My teammate Jimmy Schementi posts a preview of his spare time project “Silverlight on Rails”. This RoR plugin lets you declaratively specify if you want your RoR controller code to be accessed remotely via AJAX and run on the server or if you want that code to be downloaded to the client and run in SilverLight. Very cool stuff.
- Don Syme provides some insight into the F# producization process. There’s going to be an update to the “Research release” later this month and a CTP of the “Product release” later this summer (Brian McNamara has the CTP details). I am looking forward to these releases, though I’ll probably be too busy w/ IPy to experiment much with them.
- Speaking of F#, Matt Podwysocki continues his adventures with F# with a look at tuples, records and discriminated unions. Of the three, I find discriminated unions the most interesting since there isn’t anything like it in other languages I’ve used.
- Gregori and Chris both announce the release of Unity 1.0. Congrats guys! But if I don’t have time to hack around with the latest F# release, you can imagine I won’t be getting to Unity any time soon…
- Jeff Atwood recommends you build your application UI first. Furthermore, he does a good job selling the value of paper prototyping as well as introducing the concept of PowerPoint prototyping. Money quote: “You don’t want something too powerful.”
- Via LiveSide I discovered James Hamilton’s blog. Normally, hardware infrastructure isn’t really my bag, but I find his ideas around using ISO standard shipping containers as modular data center building blocks fascinating. For example, check out this post that suggests sticking modular data centers in condos would be cheaper than building data centers!Subscribed.
- Speaking of ISO, you may have heard Open Office XML was ratified as an ISO standard. Obviously, there was a lot of controversy around this, but Miguel de Icaza lists of what he considers major community wins from the standardization process. Anything that “pushed Microsoft into more open directions” is a good thing IMO.
I’m back home from PyCon, but between digging out my inbox, finishing transition reports and doing my mid-year career discussion I’m a little busy. But I did want to point at a couple of recent posts from the IPy team blog:
- DLR Resources is a partial list of links to blogs (where’s mine?), mailing lists, specs, whitepapers and websites related to DLR, IronRuby and IronPython. I especially want to call out Dynamic Silverlight which not only has lots of good information but also looks frakking sweet. Props to my so-to-be teammate Jimmy Schementi.
- Dev and Test Job Openings on IronPython, IronRuby & F#. We’re hiring, so if you’re interested in working on language development @ MSFT, drop me a line and I’ll make sure it gets to the right people. BTW, I hear the IronPython PM position has been filled.