RSS
 

Thank You, Steve

06 Oct

Thank you, Steve.

I didn’t really realize until today exactly what I owe to Steve Jobs’ vision and dedication. So much of my life and career has been influenced and guided by an interest in screwing about with computers that goes back to the first Mac Plus I had—with its whole 1 megabyte of RAM and 40-megabyte SCSI hard drive—and my dad’s Macintosh II at work.

It’s a long, meandering story and probably not terribly interesting, but it really starts in 1993 or so, with Macintosh, and leads inexorably to my entire life now.

Thank you, Steve.

 
Comments Off

Posted in Articles

 

So You Want Me to Hire You

23 Aug

I vacillated quite a bit on the title of this post. It is, after all, not me that is hiring you. Nor do I have the power to hire folks at will: it’s a team decision. But I also don’t want to claim to speak for anyone else, least of all for Mozilla—my excellent employer and we are, indeed, hiring—since this is really just the things that I know matter to me.

I suspect they matter to a lot of people.

Since I’ve been doing a lot of interviews lately, I’ve been thinking about how candidates can help themselves, the things that I need to know, and how someone starts themselves off on the right foot.

  • Have a resume or CV. I know it feels archaic and yes, Github weighs more in my decision-making, but there’s a reason these documents have existed for so long: I need to know where you’ve worked and what your job was. This stuff matters. You don’t even need the fancy PDF (please, no .doc or .docx, though .rtf is fine) just have a thorough, up-to-date LinkedIn account. And put in details! Brag! What were your roles, your responsibilities? What new processes or tools did you introduce and how did they help? How did you kick ass?
  • Have a Github account. I will accept BitBucket, but the UI isn’t as nice. (Also, I use git, we use git. Learning git is a good idea.) Put your website on Github. No one is going to steal your personal site and make millions, and it gives me some guaranteed code to browse. But way more importantly…
  • Contribute to open source projects! This isn’t just “Mozilla likes Open Source,” though we do (and I do). This is about code samples. Often when we have to ask for code samples, we get contrived projects that don’t solve any real problems. Contributions to real projects show me how you write real code and, at the same time, how you work with others. Open source projects are communities, teams. Do you communicate well in pull requests or bugs? Do you revise patches based on feedback? Or, as a maintainer, how do you treat contributions from others?
  • Have a blog. The cool thing is that I don’t even care if you write about code. In fact, I’d love to see that you write about other interests! But because it’s another website (I am looking for web developers, after all) and it’s yet another form of communication for me to think about. This is especially if you know you get nervous and don’t interview well.

And that’s it! Well, OK, that’s not really it, not even close. But these are mechanical things, things that are easy to do, for various values of “easy.” I notice the absence of these things.

Obviously there’s a lot more involved, but this is basic information that helps me, and helps me before we even talk. That’s a great place to start an interview.

 
3 Comments

Posted in Articles

 

Acronyms you should know: MTTD and MTTR

10 May

If you’re a SUMO contributor, there are two acronyms you will start to hear more often from us developers: MTTD and MTTR.

They mean “mean time to detect” and “mean time to resolve,” respectively, and they refer to how long it takes to detect an issue in production, and how long it takes to resolve that issue once it’s detected.

As we move toward continuous deployment, these are two of the metrics we’ll be using to gauge the effectiveness of our tools and processes.

For major production issues, our MTTR is actually fairly good right now—if it’s something that cannot wait until the next scheduled release, it takes us 60-90 minutes from becoming aware of an issue to pushing a fix. I think we can do better with better release processes, but we’re starting off pretty good and going to get better, which is great.

Our MTTD, on the other hand, needs work. SUMO 2.8.1 upgraded Django and included a sweeping change to our CSRF protection—this necessarily affected every form on the site. We discovered three related issues that warranted immediate hotfixes, but we didn’t discover two of them for almost two days when our contributors brought them to our attention.

It’s great that our contributors pointed out these issues to us. Our community is a critical part of “detection” and I want to encourage everyone to point out issues in the forums or IRC. It’s extremely helpful!

But there are things we can do, too, to notice things faster. One thing we are working to add is business metric graphs. We have useful data in Ganglia right now, but we will be using Graphite and Etsy‘s StatsD to peer into what our users are doing. If we deploy a change and notice that no one is previewing articles, for example, we know immediately that we have an issue and can start diagnosing and fixing it.

If you follow SUMO development, you’ll hear us start using terms like MTTD, MTTR, “detection,” more, and talking about how to reduce them. We welcome your input and ideas as we start working on these challenges. And of course, keep telling us when things are broken!

 
1 Comment

Posted in Articles

 

Say hi to Scottbot

28 Apr

After talking about it with Fred for a couple of weeks, I sat down this morning and started scottbot, an IRC bot that will learn how to make good “that’s what she said” jokes.

It’s built in Node.js on two libraries by the inimitable Harth Vader, more commonly known as Heather Arthur: nomnom, an excellent argparse/optparse implementation for node, and brain, a machine learning library with neural net and Bayesian classifier support. So thanks, Heather!

I’m also using a slightly hacked node-irc from Martyn Smith.

Right now it’s a pretty simple Bayesian method. It’s been learning all day on Moznet and has made one or two pretty-good jokes, and a couple of stinkers. I think it’s already better than our other TWSS bot.

There’s plenty of things to do to improve it. I don’t know a whole lot about machine learning or anything Bayesian beyond what I can recollect from my old stats-for-math-majors class, so if you’ve got any suggestions, I’d love to hear them (especially in the form of pull requests)! I want to learn, too.

If you’ve got node and Redis, you, too, can have your very own scottbot.

Scottbot, and it’s default IRC nick, “mscott,” is named affectionately after Michael Scott.

 
1 Comment

Posted in Articles

 

Pride and Joy: Firefox 4 is Out!

22 Mar

Since it was officially released around 7 hours ago, Firefox 4 has been downloaded nearly 2.4 million times.

I feel many things today. I’m deeply proud and humbled to be a part of the Mozilla community and contribute in my own small way to what I honestly believe is a fantastic product and the best choice in web browsers right now.

I’m filled with joy at seeing a product so many people have worked so hard on finally get released to everyone.

And I’m a little bit sad that I’m not in Mountain View for the release.

Finally, I’m excited, because just in the time I’ve been at Mozilla, the web has gotten so much better.

The future of the web is bright. There are challenges—not just for Firefox but for the web itself—but I’m confident we have the ingenuity and passion to overcome them.

So if you haven’t tried it yet, go get Firefox 4, and experience a better web!

Here are my favorite parts:

  • App tabs.
  • Panorama.
  • WebGL.
  • Developer console.
  • Fast, fast, fast!
  • Tabs on top.
  • Switch to Tab.
  • Sync.
  • Restartless Add-ons.
 
1 Comment

Posted in Articles