RSS
 

Posts Tagged ‘mozilla’

Performance is a Feature

30 Jan

What do I mean when I say “performance  is a feature?”

For a long time, I got this wrong. When I explained myself, I’d say that performance was as important as any other feature and worth spending as much time on as any other feature, and you shouldn’t trade it lightly, like you wouldn’t trade any other feature lightly.

The thing is, especially on a small team, you might not come back to any particular feature for a few months. So, would this mean you only come back to performance every few months?

Thanks to Mike Brittain at Etsy, I’ve figured out just how wrong I was.

Performance is a feature, and just like any other feature, it must be continuously monitored and tested. What happens when a test breaks or a regression is found in any other feature? Regressions are usually considered top-priority bugs. The same must be true for performance regressions. Just because your small development team isn’t focusing on a particular feature at the moment doesn’t mean it’s OK to break it.

Performance testing isn’t exactly like most feature testing, but that doesn’t matter. One of my favorite statements from a QA lead boiled down to “don’t get hung up on the tool, focus on what you’re assuring.” Use the tools—like graphs, external and on-site performance monitoring—you need to use to make sure performance doesn’t regress.

 
Comments Off

Posted in Articles

 

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

 

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