Lately I’ve been pondering what it is that makes me so much better than everyone else. Is it that I am inherently superior, that I have become superior, or is it that other people just kind of suck?
OK, time out. Are you laughing right now, or are you pissed off? From the feedback I got on the last post, I know a lot of you are laughing. I know this, because you’ve quietly written or chatted me to say you’re enjoying the blog. Thank you—most of the entries in this blog are for you.
This post is for the people who are pissed off.
First, let’s talk about some of the insane shit that I say, like that first paragraph. Here’s another example of me saying insane shit in a non-programming context.
Girl: Does this dress make me look fat?
Me: Yes.
Here’s a more germane example:
@dude: You are the most arrogant person on the Internet.
@bmf: Wow. Given how much arrogance there is on the Internet, that’s a huge compliment. Thank you.
@dude: That wasn’t a compliment.
@bmf: OK, how about this: I’ve walked away from more money than you will probably make in your lifetime.
When I say insane shit, you’re supposed to think, “Who talks like that? Nobody.” That’s why it’s funny. Or why it’s supposed to be funny.
This whole blog is an extension of that joke.
Brent Simmons actually came up with the name “Motherfucker,” because my whole adult life people have taken one look at me and decided I must be some mean motherfucker who plays football and beats up nerds.
The reality is that, on the inside, I’m still the malnourished little nerd trying to make people laugh so they don’t beat me up. People who know me describe me as a gentle giant who cries at movies. My chief concerns are lemurs, charity, and making the world a better place.
Second, let’s talk about my tone in this blog. It’s hard to get good feedback on a blog, but pretty easy to get good feedback from a presentation. I’ve tried to talk to people about very serious topics in a very serious way. Some people really appreciated it, but a lot of people were turned off by it.
So I started moving things from somber discussion to energetic ranting, and people ate it up. It turns out that I can reach people a lot better when I make them laugh, and ranting about things that annoy me is the best way I have found to do that.
So when I write, I write like I’m the gods’ gift to programming—even though you and I both know that’s not true.
The original name of this blog was “I Could Be Wrong,” and internally, that’s how I think. That’s why I don’t start my sentences with “I think” or “in my opinion”—everything in this blog is what I think. Don’t mistake what I say for the word of The Lord. Part of reading blogs is that you still have to do your own thinking.
But thinking doesn’t seem to be in fashion anymore. The most upsetting thing to me as been that my latest blog entries have not so much stirred debate as they have set off a series of ad hominem attacks against me.
For example, I think that Google’s strategy with Android is evil, because it leaves users worse off than they were before. I realize that’s a controversial position, and I would love to talk about it with people, but when I bring it up, people just dismiss me as a fanboy and talk about how arrogant I am.
It’s kind of heartbreaking.
Third, let’s talk about what I talk about, and what I don’t talk about.
There are two major classes of complaint here. The first is that I talk about the good stuff, but don’t talk about the bad stuff. The second is that I don’t go into the specifics of what I did or what others did for or with me.
Let me answer the first complaint with a long-winded analogy, as is my wont.
In my senior year of high school, I joined the marching and concert bands. Our teacher, Greg Abe—pronounced ah-bay—was amazing—an early and lasting inspiration. There are two incidents that really defined his style for me.
During marching season, Abe became so furious with us, he quit, and officially disbanded the band. He didn’t feel like we were taking it seriously—that we marched like we didn’t want to be there.
My section leader, Lindsi Kimizuka, took over the band, and started leading the practices that none of us were supposed to be at. Eventually, we showed Abe that we did care, he came back, and we went on to win gold.
Contrast that with the Christmas concert, where I had the very great honor of opening the performance with a massive cymbal crash—which I fucked up. After the concert, I threw myself on Abe’s mercy, full of self-recrimination and apology.
But Abe was all smiles. He said we all did great, and that he was fully and completely pleased with each and every one of us.
I pondered this duality for a long time. When there was still a chance to make things better, Abe could not be pleased. He was a histrionic hard-ass. However, once there was nothing we could do about it, Abe was nothing but compliments.
On any project, whether it’s a band performance or a team shipping, there’s a time to curse, and a time to praise. Someone who gets those in the right order is an inspiring leader. Someone who gets them backwards is just an asshole.
So yes, when I am working on a project, I hate that project, and I hate all the ways in which it is not what it could be. If you know me personally, you might hear me complain about it, redolent with the stink of exhaustion and failure.
When it ships, when it doesn’t matter anymore, I am going to tell you how awesome the end product is, what a great job everyone did, and how excited I am about the whole thing.
If you read the archives, you will hear a lot of stories of failure. People complain about that stuff, so I try to keep my failures between me and my friends. When I talk to the world, I try to keep things positive. I really don’t mean for that come across as arrogant, nor am I trying to hide the blood, sweat, and tears I and many others have shed.
Then there’s the whole being sued thing.
Good things happened at Alaska Airlines, Delicious Monster, Tapulous, United Lemur, and Apple. Bad things also happened, as well as a lot of other things that are confusing or infuriating or neutral. All of these places, projects, and people bring with them a whole bunch of specifics, most of which I can’t talk about.
When I first went indie after leaving Alaska Airlines, but before working full-time for Delicious Monster, I put my portfolio online. Then Alaska Airlines threatened to sue me, so I had to take it down.
I would love to tell you exactly who did what on Tap Tap Revenge, but if I do that before September, Tapulous will sue me. I would love to tell you exactly who did what on the Apple Mobile Store, but if I do that, Apple will sue me. So instead I tell you that the product was a big hit, and that I was involved with it.
That’s not meant to somehow try to convince you that I pull top-tier products fully formed out of my own ass. That’s certainly not meant to diminish my teammates, or any of the myriad external teams who bled along with me. It’s just meant to give you some semblance of who I am and what I’ve done.
This is, of course, my fault. I try to simplify things into marketable sound bites for general consumption, like “I build great teams that build great products.” Just as we assume our users don’t want to hear about all the gory technical details of where a product comes from, I assume my readers don’t either.
Where I get into trouble is in using words like “led” and “best.”
Consider the Apple Mobile Store project. I was recruited to lead this project. In fact, I had this huge discussion with my director at the last C4 wherein he made this very clear. So, when it came time to add that project to my portfolio, I said I led the project. To me, that seemed reasonable.
Then someone I have never met started attacking me on Twitter, saying I was delusional. When I realized this person was not just another hater, but someone with a legitimate gripe, I hit them up on iChat. They told me that a lot of people who had worked on the Mobile Store were pissed off that I said I led the project, because projects at Apple are too complicated for one person to really say they led it.
I could have defended the legitimacy of my claim, or I could have been pissed off that they didn’t just bring this to my attention instead of attacking me on Twitter. Instead I apologized and reworded. What I don’t want is to piss off the people I rely on—that is Mike’s Rules of Engineering Number Zero
I consider that a happy ending, but unfortunately that pattern seems to be repeating itself in ways I have trouble addressing.
For example, last night my best friend, a former DTS engineer, said it was wrong of me to say I could fix something overnight that would take DTS three days to diagnose. No DTS engineer has actually told me they are pissed off about this, but I have to now assume that they are.
Let me make this clear—I am not fit to lick the boots of any DTS engineer. These people are the hardest of the hardcore. Inside Apple, when people would suggest DTS was somehow beneath me, I would point to the legendary Quinn as an example of how that could not possibly be true.
However, I also know about the number and kinds of incidents DTS deals with. I know this, because I helped those people, just like all my peers in DTS. It takes three days, because DTS incidents are nearly free, and DTS is swamped.
Moreover, DTS engineers are heavily discouraged from pulling all nighters to fix problems. For something that presents as a random crasher, all DTS can do is diagnose the issue—probably a fundamental misunderstanding of memory management. Your engineers are responsible for actually fixing it.
My point was not that I am somehow better than DTS. My point was that, at $1000 an hour, not only am I available, I am willing and able to stay up all night fixing your code. Unlike with DTS, you aren’t going to learn anything from it, but you will be able to resubmit your app. It’s a whole different kind of service.
I do not deserve $1000 an hour.
I certainly do not feel entitled to it. For nearly any problem, you want to hire one of my peers, most of whom are smarter than me and better than me—all of whom are cheaper than me.
But the reality is, most of my peers are also swamped. We are very fortunate that iOS has made us all so busy. I have chosen to not be so busy. Instead I want to spend a year writing, traveling, and working on some really cool projects that aren’t designed to make money.
So I threw it out there that there are probably some problems that people would be willing to throw a lot of money at if they knew they could get them fixed—not in six months when my peers have time on their schedules, but right now.
My point was that I can do that. I have the skill and the availability to work on short-term, high-value problems. To back that up, I mentioned that I have a lot of experience. To keep that true, I set an eyebrow-raisingly high rate. I am genuinely sorry if that pisses you off.
You can and should be better than me.
When I started this blog, I was nobody. I’m still nobody, but I’ve been lucky enough to work with some amazing people on some amazing projects. Except, luck had nothing to do with it. I got to work with those people, and on those projects, because I positioned myself to do so, and sacrificed everything to make that happen.
Therein lies the problem. Modesty is a form of lying. It is a lie to pretend that all this is the result of luck. That lie is harmful, because it suggests that you cannot necessarily follow in my footsteps. I maintain that the only thing that got me anywhere was being good to people, working my ass off, and doing what I felt was right—even when it hurt. The only thing standing between you and me, then, is you.
To be modest is to pay lip service to the idea that we are all equal, and that everything is equally valid and good. Nobody actually believes that. It is better to openly know that not everything is equal, that there is value in aspiring to something better, and that success is achieved through hard work.
It’s meant to be inspirational, but then there are people like the guy who threatened to beat me up. I told him to go ahead and try. I know. I hate bullies. Cancel my beatification. What I should have told him was: are you 12 years old, or insane? You’re going to beat me up for what reason exactly? Because I need to tell people what I worked on so they know what I can do for them? Or because I like to make light of people’s misconceptions of me on Twitter?
I realize that people who criticize others based on assumptions are far more arrogant than I, and that people like that are not inclined to be swayed with logic or reason. Still, Wil taught me to answer those who stand against me, so here is a summary of the other complaints people have raised against me, and my thoughts on them.
I take all the credit instead of recognizing the others on my team.
One of the central tenets of my way of doing things—and the thing that most sets it apart from Wil’s way—is that you must rely on other people. Every project I’ve had has involved a team of skilled engineers, designers, and others. Every one of the people on those projects has been absolutely essential. I would literally be nowhere without them.
As often as I make that point, it’s clearly not enough, because this comes up over and over again. It’s often very difficult to decide what to say and what to left unsaid. For one thing, I don’t like to talk about other people on my blog, because I don’t like to put words in other people’s mouths, or bring attention to people that they do not want.
For another, as I’ve mentioned, revealing things about a project is sensitive. With Tapulous in particular, I am contractually forbidden from talking about what went on there until this September. I’m not on the best of terms with my former partners, so I really try to err on the side of not mentioning things.
Finally, it doesn’t really matter who did what on the project. It’s not even clear sometimes whose idea something was, or who really gets credit for implementing something that got passed around a lot. From the visionary to designer to the engineer to the testers, everyone plays their role in creating a product.
I brag about myself, instead of letting others talk about me.
I call this the Golden Résumé Problem. I have done so many cool things that simply listing some of them—such as the products I’ve worked on—makes me seems like a liar and a braggart. The most commonly suggested solution to this is to let others speak for me. In truth, they have, but I don’t go around collecting them into one convenient location.
To help remedy this, I’m working on an idea I call the Respect Project. This web page is an attempt to assemble a list of the people I’ve worked with and admire, a short blurb about how I know them and what I owe them, and a short blurb they provide about what it’s like to work with me. It won’t shut down the haters, but it will give me a conveniently linkable response.
I don’t specify what, exactly, it is I did on each project.
Some people really look into my shyness about the details, as if I am actually lead janitor on all these projects. To give you a little summary, just to make things clear, here is what I feel I can say about what I did on these projects:
Delicious Library 2 — My title was Major-domo, because I handled all the support and did whatever other little tasks needed to be done. I also designed and coded several features, including importing and exporting, AppleScript, and Library of Congress sorting. I wrote (at least the first version of) all the iWeb publishing stuff, and worked on the web publishing in tandem with Lucas.
Tapulous — My titles were Chief Architect—Client Software and Co-founder. I was responsible for taking charge of the team and leading the effort to port our portfolio from Jailbreak. I then recruited the rest of our engineering and design team. I served as chief developer on all projects, and wrote most of the code for FriendBook—though the original idea for “handshake” came from Nicholas Jitkoff.
Obama ‘08 — I brought on Tristan and Louie, which gave us a major increase in our ability to create a custom UI, the implementation of which was my primary responsibility. Tristan wrote the “phone a friend” feature, Jon did all the services stuff, and the web team prepared the content. Dom handled QA, and Raven was our fearless leader.
United Lemur — I designed, and wrote the code, for Puzzllotto, as well as all the legal and financial crap CEOs have to deal with. David Lanham did the art, Tristan did the testing, and Brad and Chris built the website, with side help from Louie.
Apple Mobile Store — I wrote the basic architecture, while Scottie, Joe, and Damien filled in the rest under my mentorship. Checkout, publishing, services, design, testing, and the rest of that was handled by their respective teams.
In general, I’ve also been involved with the planning of products, marketing, and company culture. Most of my interpersonal issues come from my endless arguing for a better solution to a given problem. When it comes to my work, I’m passionate and dedicated, but my intensity and high standards can make me a real pain in the ass.
I try to mislead people into thinking I am Mike Matas.
Sometimes people mistake me for other people, most commonly Mike Matas. This is largely because Wil just talks about Mike, which sometimes means Matas, and sometimes means me. While I may benefit unknowingly from this mistake, it would be a stupid thing to try to parlay, since Mike Matas is a well-known designer, and I am an engineer. I’m also not the Mike Lee who rides bulls for Jesus. In general, I’m sorry for the confusion.
I don’t stick to things, jumping from project to project.
I worked on Delicious Library for three years, until Wil was sick of me and it was time to move on. I worked on Tapulous until I was forced to leave for reasons I can’t talk about until September. United Lemur was a continuation of that work, but we didn’t take funding when we had the chance, and collapsed with the economy. That left me penniless, so I had to get a job.
At Apple, I worked in DTS for six months, until I was recruited to work on the Mobile Store project. I left due to an internal reorganization, along with my boss, her boss, his boss, and a laundry list of other people.
I go when it’s time to go, but what I really want is to stay—that’s part of why I have become so picky about my projects.
I have the audacity to compare myself to people like Paul Erdős.
I actually read that somewhere, obviously from someone who did not actually read or understand my essay. To say that I compare myself to Paul Erdős is to suggest that I wish to take glory for something I haven’t actually done yet. It would be more accurate to say that I am inspired by people like Paul Erdős, and wish to live a little like they did, to experience things a little like they did, and to understand their greatness, such that I might earn the right to be compared to them.
So there you have it: my arrogance in a nutshell is 25% refusing to pretend I haven’t done good work, 25% not wanting to speak for other people, 25% me joking around, and 25% other people projecting their own arrogance onto me. Now, if you don’t mind, I have to get back to helping friends and donating my time to writing software for charity. I’m sorry if that sounds arrogant.
Engineering is an inherently arrogant pursuit.
To change reality in an attempt to make things better, one has to assume that one is somehow capable of such a thing. This, the very height of arrogance, is our species’ greatest trait. Because we can change reality, we can make the world a better place.
One of the most influential things I ever read in my life was a quote from Martin Luther King, Jr. I loved it so much I copied it longhand, the only time in my life I’ve done something like that willingly.
The gist of it was this: whatever you are, be the best at it. If it is your lot in life to sweep the street, be the best street sweeper that ever lived. It is my great good fortune to be an engineer. I aspire to be the best engineer I can be. If I share that with you, don’t let it be a threat. Let it be an inspiration, or if you want, a challenge.
Those who dare to swallow their embarrassment and actually try are beset on all sides by the tyranny of those who would dress up laziness as piety. To those tyrants, I say this: your words ring hollow and are soon forgotten. If you think I need shutting up, try making a better product than me. Bitch.
Thursday, July 1, 2010
Fuck modesty