Job opportunities: an interesting dilemma
This week, I was approached with job opportunities from both Mozilla and Microsoft’s Internet Explorer team. It turns out this is a tougher decision than I thought it would be.
Anyone who knows me knows what I think of Internet Explorer. Let me briefly summarize what, in my mind, are the two biggest problems with Internet Explorer as a product and what I feel are the primary sources for those problems:
First in my mind is standards support. Internet Explorer has by far the worst standards support of any major web browser, period. Anyone serious in web development knows this. Over time, Microsoft has been accused of things like not caring about standards and what have you. But I don’t think that’s really the core issue. I honestly believe that the IE developers fully intend to follow standards whenever they’re available. IE’s nonstandard event model wasn’t the result of deliberately deviating from the standard; there was no event model standard when IE added support. A lot of the so-called “nonstandard behavior” with CSS properties is the result of bugs and design flaws that the IE developers intend to fix. The main problem isn’t that they don’t care.
What I believe is the primary cause of IE’s currently miserable situation with standards support is the fact that Microsoft disbanded the platform development team back in 2001, and thus, aside from security updates, IE layout engine development was completely abandoned for five years. Five years. Half a decade. Roughly half of Internet Explorer’s entire life to date was spent sitting idle. IE 6 wasn’t a bad browser when it first came out, but other browsers have now had twice the time IE had to add standards support, fix bugs, and generally snazz up their engines. Internet Explorer was simply neglected for too long.
The second main problem with Internet Explorer as a product is its security record. Every piece of software as complex as a web browser will have plenty of security problems. And naturally, if you have 80% or higher market share, there will be lots of people trying to pick apart your browser piece by piece. But this isn’t the main problem.
The main problem with IE’s security is the security response process. Internet Explorer simply takes too long to fix its vulnerabilities, and it leaves so many vulnerabilities unfixed. Internet Explorer has taken on average several times as long as Firefox to patch its known vulnerabilities. We just passed the fourth Patch Tuesday of the year, yet according to Secunia, 78% of IE 7’s known vulnerabilities are still unfixed. That isn’t even counting the several-year-old IE 6 vulnerabilities that were never fixed and probably still exist in IE 7. Microsoft says that this is all due to their quality assurance process, but I dunno… I’ve heard about as many cases of IE patch problems as Firefox patch problems. Too many issues are swept under the rug. It’s another case of neglect.
So here I am with an opportunity to help do something about this. I have a chance to help give IE attention where it needs it. Internet Explorer is used by around 75% to 80% of the Internet population. It is, in many or most cases, the single immediate factor holding back professional web developers from doing their jobs as quickly, correctly, and efficiently as they otherwise could.
Meanwhile, I may also have the opportunity to work for Mozilla. Mozilla is an entirely different situation. They have this groundwork laid out. They have an engine that is relatively very well in line with the standards. I have little doubt that the Gecko engine code is much more consistent, well-structured, and mature than the Trident code in Internet Explorer. Mozilla isn’t struggling to correct lots of broken foundation; it’s working to perfect its well-written engine and to develop the new groundwork for future standards.
Working with Internet Explorer would be working to bring a dated but important engine into the present, while working with Mozilla would be working to lead a modern but not-quite-as-prominent engine into the future. Both are very important tasks and both are tasks which I would much like to be a part of. But alas, there is only one of me, and I have to make a choice. I feel like I would better enjoy the work and atmosphere at Mozilla, but I might be able to drive a bigger near-future impact on the Web by working with Internet Explorer. If, in the end, both options are available to me, what should I do?
April 12th, 2007 at 23:07 UTC
Since they both sound like great jobs, simply choose the one that pays more. :)
Posted using Mozilla Firefox 2.0.0.3 on Windows.
April 13th, 2007 at 01:03 UTC
Quite an interesting dilemma indeed. I’m having trouble imagining you working for Microsoft, but I guess it’s possible.
I think it’s a good sign for IE’s future that they are looking to hire people like you. Wherever you end up, I hope you’re able to contribute a lot to the Web.
Posted using Mozilla Firefox 2.0.0.3 on Windows.
April 13th, 2007 at 08:24 UTC
Well done!
I suppose it comes down to how much you’ll be able to contribute at Microsoft. If you can actually help drive the engine as a whole forwards at a pace that’s faster than today then I say go for it. It’s unlikely that the majority of users are going to turn away from IE so you’ll be helping the health of the web as a whole.
It might be worth finding out if the offer from the opposing party will remain open even if you don’t go with them. For example, say you take the job at Microsoft but find that after 6 months you aren’t getting anywhere and you’re not enjoying it. Would Mozilla still be happy to take you on?
Posted using Mozilla Firefox 2.0.0.3 on Windows.
April 13th, 2007 at 18:39 UTC
Very similar to a dilemma I was facing recently, and I chose Microsoft. And, I’m just delighted to report that it’s been an awesome experience, and I really find that working with the IE team is one of the most eye-opening and ultimately rewarding experiences. Sure, there’s a certain amount of corporate “stuff” but you can bet that exists anywhere.
Drop me an email if you’d like to discuss this personally since I have some insight not only to the general decision making process in a situation like this but also into the experience I’ve had so far, who knows, it might be helpful.
No matter which road you choose, your commitment to doing things well is what ultimately matters, IMNSHO. So good luck to you!
Posted using Internet Explorer (Windows) 7.0 on Windows.
April 17th, 2007 at 08:27 UTC
Geez, I dunno, why not work for the IE team AND be part of the Mozilla community? I don’t think the two would be incompatible, and it may even become necessary anyway, considering the recent talks both bodies have had recently with each other.
However, read your contract well: if signing for the IE team means “no dealing with other browser vendors for 5 years”, flip’em the bird.
Posted using Mozilla Firefox 2.0.0.1 on Linux.
April 17th, 2007 at 12:29 UTC
I hope that you’d ultimately choose to work with Mozilla Firefox. IE is not my favourite browser in the world, but statistics show that it’s got a clear lead.
Having someone on board at Microsoft who is so passionate about web standards would surely be a good thing, but I get the feeling that turning the bulky corporate machine around to the thinking of us mere web devs simply won’t work, and the efforts will be fruitless, unless they just scrap IE altogether, and build it from the ground up (which will probably never happen).
So, I’d go with Mozilla. I’m concerned that if Microsoft employ you, they’ll grind your soul up in a machine and churn out another suited, soul-less employee.
Posted using Mozilla Firefox 2.0.0.3 on Windows.
April 21st, 2007 at 21:32 UTC
Robin is right that working on IE will help the web because of IE’s popularity. But the future is platform independence and (maybe) open source. So, in the long run it’s better for the web and the public to contribute to Mozilla. Its products aren’t yet perfect. There is a wide range of possible improvements.
Posted using Mozilla Firefox 2.0.0.3 on Windows.
April 24th, 2007 at 16:37 UTC
I agree with Robin. If you can help IE significantly, then I’d go with IE. But it’d also be good to know if you could go to Mozilla if that turns out not to be happening.
Posted using Safari 419.3 on Macintosh.