Update on the job opportunities
As mentioned earlier, I was approached by both Microsoft and Mozilla with the possibility of a job with one of them. I’d like to give an update on the situation.
First of all, I really appreciate how Microsoft (specifically, Markus Mielke) hung out with me, sat in my IRC channel and chatted with me, and generally made me feel welcome throughout the last few weeks. Their sales pitch was also about the best pitch they could have made: if I really want Internet Explorer to improve, why not roll up my sleeves and play an active role in its development myself? I felt then and still feel today that I’d love to do what I can to help move Internet Explorer in the right direction.
However, as the discussion progressed, a few things started worrying me.
In order to work for Microsoft, I’d have to agree to not post or maintain any content particularly critical of Microsoft’s products. I already figured that the Internet Explorer is Dangerous page would have to be dumped or given an overhaul (and I actually do plan to eventually do a major rewrite of the page with better focus on what the core problems are rather than just “it’s fundamentally flawed”). But I’m no legal expert, and the loose wording they used put up a red flag in my mind, especially considering Microsoft’s extensive history of dishonesty and shady “gotcha” fine print in their agreements. There isn’t much I value more than freedom of speech, and if I receive a slightest hint that I may be unable to publicly express my true concerns on an issue, I have to take a step back and reevaluate the situation. I can’t risk Web Devout being sacrificed for a position that, in terms of how much influence I’ll actually end up having, is a bit of a gamble from where I stand.
Where I currently work, the only restrictions on my freedom of speech are for things like account passwords. The hours are flexible and the work is flexible. If I feel like making a blog for our organization, I make it, show it to my boss, and he says, “Cool, you should send links to everyone.” I love my job because I feel free. I only make $25,000 a year right now, but I’m fine with that. For now, all I need are a computer, Internet connection, food, bill repellent, and some money in reserve for emergencies. That’s enough.
I was never considering the Microsoft job for the money and benefits. Those are nice and all, but it wasn’t really a factor in my decision. From the beginning, my decision was going to be based on how much freedom I was willing to give up and how much that sacrifice would help me accomplish my goals. I want the Web to be a better place. I want web developers to have the right tools to make the most out of it. I definitely want Internet Explorer to be a better browser, but that’s just one piece in the big puzzle, and if working on that one piece would prevent me from working with the many other pieces I want to work with, then that’s a problem. How much of a difference would I really be able to make on the IE team? How much of a difference would I be able to make elsewhere if I had more freedom? I’ve been juggling these questions in my mind for the last few weeks.
I noticed something else. Somehow, I was under the impression that Microsoft had been improving over the last few years in regard to their role in the industry. Maybe it was just because they stopped being quite as aggressive for a few years and sort of sat on their laurels, I don’t know, but somehow I thought Microsoft was learning and improving, more openly embracing freedom of choice and standards, or at least not trying to fight it as much anymore. But the last few weeks have shot that idea dead in the water. Microsoft began sending out mass e-mails telling people to vote against the California state bill promoting ODF, instead telling them to push for Microsoft’s OOXML, using shameless flat-out lies like OOXML being better supported than ODF and being more application-agnostic (which anyone remotely familiar with the formats knows is B.S.). Microsoft began making up baseless nonsense about open source patent infringements for which they refused to provide any evidence. I’m hearing one story after another lately, and it’s really irritating. Microsoft gave me another reason to be concerned about taking a job with them: overall, Microsoft has continued to fight against the best interests of the computer industry, and they seem to be sparring against every application and technology that I personally like.
Then I thought about my future after Microsoft. I don’t want to work with Microsoft forever. I know that I’d have trouble adjusting to their culture, I don’t have any particular enthusiasm for their products (for the Web, sure, but not Microsoft’s products), and it’s generally not a company that I could feel proud or excited to work for. But once I decide to leave, then what? There aren’t many interesting companies in the area, and I wouldn’t have as good of a chance making positive connections with interesting companies as I might working for Mozilla. Big companies, maybe, but not as much interesting ones. Then, I have to consider any legal agreements Microsoft would require me to sign which would restrict what I can do after I leave the company. I recall a guy who left Microsoft for Google to manage the China operations, who was then forced to change jobs because of a previous contract he made with Microsoft. Like I said, I don’t have much of a mind for legal fine print, and I’m a bit paranoid about possibly putting myself into one of these types of situations. It’d be different if this were with a company that I really wanted to work for long-term, but Microsoft isn’t that company.
The bottom line is that I enjoy what I’m currently doing, I feel like I’m being productive toward a goal, and I have several doubts about what would become of my ability to achieve my goals if I were to work for Microsoft. I would love to chat with the IE developers and discuss what future directions would be in the Web’s best interest, but I’d much rather do that without the major legal bindings to Microsoft itself. I have no personal beefs with anyone at Microsoft; it’s just the overall company policies and history which worry me. In the end, I just wasn’t comfortable enough with the idea of working for them, so I declined.
Shifting back to Mozilla, I honestly don’t know what the status is, but I have a feeling it’s currently in limbo. I had a phone chat with someone who was considering me to do documentation work, but we agreed that some sort of development position would be better suited to my skills. He said someone from that end of the company was supposed to get in touch with me a week later, but I haven’t heard from them since. I really hope the message didn’t get lost in the spam filter; I just discovered that every single blog comment moderation notification was getting marked as spam without my knowledge, so I just approved a bazillion comments earlier today.
For now, I’m having fun at my current job, and I have some nice tools in the works for Web Devout. I’m also planning to, in the near future, get a lot of my source code cleaned up and open sourced under GPL licenses. I’ve already released the generic syntax highlighter script used on the webpage test system, and other tools like the log-scanning visitor statistics system, site crawler and search engine, and eventually the PHP-based SGML/XML parser will come later.
May 24th, 2007 at 12:27 UTC
You are not alone. One of widely known Polish bloggers who frequently wrote on problems with Internet Explorer was obliged to give up his blog that way (http://blog.konieczny.be/2007/04/01/koncze-blogowanie-na-prosbe-microsoftu/ – the title says in Polish “I stop blogging on Microsoft’s request” and the blog has been in fact closed since then). The story was basically the same–shortly after he started working for Microsoft his boss requested him to stop blogging.
It seems to be a new Microsoft way to get rid of fault-finding criticism. ;->
Posted using Mozilla Firefox 2.0.0.3 on Windows.
May 24th, 2007 at 20:38 UTC
No, as I told David privately, he’d be free to continue to criticize IE (duh, that’s why we would have hired him) – but I would ask that he focus on how to make it better, too.
-Chris Wilson
IE Platform Architect
Posted using Safari 419.3 on Macintosh.
May 24th, 2007 at 23:28 UTC
Huh? I don’t recall receiving any private message from you, unless you mean this message which Jamie forwarded to me from Doug:
My interpretation of this is that whatever content currently exists on my website may stay in its unaltered form because it is considered part of public record, but that I may not update content or post anything new which “strongly criticizes” Internet Explorer. That’s the response I got when I asked if I could still maintain my website normally.
Posted using Mozilla Firefox 2.0.0.3 on Linux.
May 27th, 2007 at 17:49 UTC
You are better off not paying much heed to what individual members say – even seemingly head members. Because in the long run it could all be completely different in the NDA/job contract. Honestly I wouldn’t trust any major corporation that tried to hire me. Its just like hiring a hacker to keep him from causing trouble.
Posted using Mozilla Firefox 2.0.0.3 on Windows.
June 7th, 2007 at 18:57 UTC
Well, now that’s just messed up – I sent you a long email the day you made this post. I’ll resend it and see if it goes through.
Michael – hiring hackers to keep them from causing trouble is a non-scalable solution. Hiring the smart hackers to tell you where to improve, that’s a good solution.
Posted using Internet Explorer (Windows) 7.0 on Windows.
June 7th, 2007 at 22:11 UTC
Hmm. Bounces with a weird “can’t send from any of your accounts” error. Well, I resent from my gmail account – we’ll see if that goes through.
Posted using Internet Explorer (Windows) 7.0 on Windows.
June 8th, 2007 at 02:16 UTC
Okay, I got your e-mail now.
Like I said in the main post, I agree that the “Internet Explorer is Dangerous” page needs to be rewritten. I plan to put more focus on the fact that IE’s platform development halted for five years and it simply isn’t realistic to catch up on all of that lost time overnight. I feel this is the single largest contributor to IE’s grumpiness toward web developers. Unfortunately, a lot of people I talk with regularly are under the delusion that if Microsoft really cared about standards it could pump enough money into IE to get it caught up to Firefox and Opera literally overnight. I know enough about product development to know that, in many ways, adding more and more and more full-time developers to a project can actually slow down development after some point, and there’s no magic bullet you can apply no matter how much money you have.
Although I would put less emphasis on the “fundamentally broken” bit, I still believe that there are some really serious fundamental problems with the IE engine, from HTML parsing and DOM building to the CSS implementation. When it’s possible for CSS to select comments and doctypes, you know there’s a problem, and I don’t think making special exceptions for those selectors is enough to fix the core issue. Raw CSS parsing and error handling in IE have lots of problems (many of which are beyond the current scope of my standards support tables) which could complicate future development of the CSS standard. The ever-so-prominent IE hasLayout model needs to be completely scrapped, and the slightly analogous CSS block formatting context model needs to be created in its place. The HTML object element is still chock full of problems in IE. So I still feel that there’s some truth to the “fundamentally broken” aspect of IE, but I’m going to elaborate a lot more on exactly what is broken and how these implementation problems cascade to other features.
As for security, I think the biggest issue was ActiveX, but now that that’s been more or less locked down (shoved into the closet, so to speak), I think the biggest issue now is the security response process. IE and Firefox have had roughly the same amount of vulnerabilities lately, with comparable severity, but the difference is that most of the IE vulnerabilities were publicly disclosed without a patch while most of the Firefox vulnerabilities were fixed preemptively. At a glance, it would seem that this could be attributed to IE’s higher usage and thus attractiveness to malicious users. But the problems aren’t really quite that shallow. Even if the two browsers have as many known vulnerabilities, Firefox vulnerabilities seem to be fixed more often and more quickly than IE vulnerabilities. There are tons of old IE vulnerabilities that were never fixed. Sure, most of them are spoofing vulnerabilities and other relatively minor issues, but Mozilla and Opera seem to consider all of those issues worth fixing. I’m disappointed that Mozilla has been seemingly letting more and more of these relatively minor issues slip by lately, but their consistency has still been better than IE’s. This is something Microsoft really could fix if it wanted to. In most cases, fixing some security bugs isn’t exactly as big a project as adding support for CSS generated content.
In regard to the “‘gotcha’ fine print”, I wasn’t talking specifically about employees, but also deals with other companies, organizations, and customers. From an outside perspective, Microsoft in general seems to convey an attitude of “whatever I can get away with is fine in my book”. Microsoft has partaken in competitive strategies which critics have named “embrace, extend, extinguish” which very much capture this impression. Microsoft appears to be attempting this strategy once again with Linux, by waving around a claim of patent infringements for which Microsoft has so far refused to present any evidence, in order to get buddy-buddy with major Linux distributors and ultimately put themselves in a power position. Yes, it’s business strategy, but it’s also sneaky and damaging to PR in the long run. It causes people like me to have doubts about signing any kinds of deals with Microsoft.
I know you’re the kind of person who believes in what you’re doing and has to believe in what you’re doing. I respect that. A web browser is a very complex product that takes a tremendous investment to develop to a usable state. Compare Internet Explorer (which I personally consider to have the most inferior of all major layout engines) to something like Amaya, and IE suddenly doesn’t look so bad. There’s plenty to be proud of in developing a product that complex to a really usable state. But this is a situation where we web developers have to develop our sites to work in all widely used browsers, and the fact remains that Internet Explorer is the main bottleneck of web standards usage. If Amaya had 80% usage share, I’d probably throw up my hands and apply for a job at McDonald’s. On the other hand, if IE were to suddenly disappear from existence, there wouldn’t be any clear “last place” engine among popular browsers. Despite what lots of web developers would say, the IE engine isn’t a total loss, but in order to move forward and try to catch up with the other browsers (that is, catch up on half of IE’s life of lost development time), you must be willing to scrap and rewrite huge portions of platform code and really get the engine right at the base level.
Gecko 1.9, which will be used in Firefox 3, underwent some major rewrites in the main document processing engine to fix the page reflow system. Gecko 1.9 completely overhauled its graphics platform, switching from Gecko’s old custom-built GFX system to Cairo. Gecko 1.9 completely changed the way CSS units are handled internally. Gecko 1.8 also had some big rewrites to fundamental areas of the CSS engine. Presto (Opera) and Gecko are where they are today because their developers were never afraid to tear down engines and frameworks and rework them from scratch in order to fix a few relatively picky issues. And they had five extra years to do so. In order for Internet Explorer to catch up to the competition, it must make the same commitment to perfection, and the work must be done faster than the competition. That’s a tall order for any development team, and I will have tremendous respect for you guys if you can thoroughly pull it off.
Going back to the second topic of this post, Mozilla finally got back to me and gave me a phone interview a few days ago. I thought it went terribly (I was ready to answer questions about front end web development work, and he started asking me questions about lower-level programming algorithms and stuff I couldn’t answer off the top of my head), but they’re apparently interested enough to have me come down to meet with them in person next week. The position would involve front end web development on the add-ons site and some interesting projects in the works. And Mozilla is about as transparent as a “corporation” can get. It isn’t as major of a position as Microsoft was looking for, but it’ll probably be a more comfortable transition for me. Let’s hope the on-site interview goes a bit better than the phone one.
Posted using Mozilla Firefox 2.0.0.4 on Linux.
June 8th, 2007 at 15:17 UTC
David,
Thank you very much for this post. You’re my hero for keeping your integrity in the face of temptation. I’ve been working at an extremely low-paying job for several years now, partly for convenience, partly for freedom. But I must admit money has been quite tight for a while.
To know that I’m not the only one in the world that is willing to trade large amounts of money and/or benefits for freedom gives me resolve to continue sticking with this ideal. Thank you.
Posted using Safari 419.3 on Macintosh.
June 8th, 2007 at 17:42 UTC
That’s disappointing. Microsoft isn’t going away. It only gets better, as I said, by adding more subversives on the inside. :)
You said “you must be willing to scrap and rewrite huge portions of platform code and really get the engine right at the base level.” If I felt that weren’t true, I would already have quit. Seriously. The challenge – what I’d hoped you would be there to help with, and what I hope you still will help with through the webdevout test pages – is in getting it “really really right”. That’s a standardization challenge in many cases as well.
-Chris
Posted using Internet Explorer (Windows) 7.0 on Windows.
June 25th, 2007 at 12:38 UTC
@David: your explanation is good. Frankly, in your place, i would react the same way.
@Chris: the problems with IE7 being outdated as soon as it came out and IE in general being too old, from what I could read on IEblog, comes from the Trident engine being used on several layers inside Windows – and older versions of Office. Now, the problem is that ever since IE 6, IE has supported doctype switching, and considering the lowest common denominator, I’d say most of the dependencies are on IE5’s way of rendering HTML, DOM and CSS – and those are highly reliant on the hasLayout paradigm.
Now then, as far as I know, tearing down the engine and rebuilding it would require:
either checking/updating all supported systems’ subsystems to use ‘correct’ HTML, DOM and CSS
or implementing much more radical doctype switching: when a ’strict’ or ’standard’ doctype is detected, use a new rendering engine – instead of merely modifying the behaviour of Trident.
When I look at the Wine project implementing a ‘bogus’ Trident with the help of Gecko, maybe looking at how Free developers develop an HTML engine for win32 may help.
Posted using Mozilla Firefox 2.0.0.4 on Linux.