This is part of the Velocity Profiles series, which highlights the work and knowledge of web ops & performance experts.
How did you get into web operations & performance?
Accidentally. Years back, I got hired into a company in France that was building a website for one of the major cell phone providers over there. They had some serious performance issues — the site was crashing in Internet Explorer (IE) pretty much any time you interacted with the page. It was a hunt to figure out what was going on because, at that time, there really wasn’t a lot of published performance information out there. So, I ended up finding out that filters in the CSS file were causing IE to crash. That hunt to identify the problem and then the subsequent hunts to simplify the page so that other errors wouldn’t have such a big impact was really fun. That’s what got me into it.
What is your most memorable project?
Optimizing Facebook’s CSS back in 2009 was a memorable project. They had 1.9 MB of CSS, which is just huge. That project is when I realized that most performance issues and most code issues are actually human issues. But you have to solve the human issues or the bad code will just keep popping up — sort of like performance Whac-A-Mole.
Another project that was cool was Box.net. They had a lot of CSS, but more than the quantity, it was really tangled. They would have to rewrite things over and over again, just because everything was so context-dependent. That one was fun because it was neat to see the team end up being able to build things much faster once their front-end architecture issues were removed.
What’s the toughest problem you’ve had to solve?
One of the toughest problems I have to solve, and I have to solve it all the time, is how to make performance and operations improvements work in a legacy world. We don’t work in a world where we can just wipe the slate clean and do it right from the start. We work in a world where the website has to stay up and we have to make these changes while everything is running. The balance between keeping the legacy running and managing to do improvements, until the legacy can be removed, is probably the hardest problem. And it happens on almost every project.
What tools and techniques do you rely on most?
Who do you follow in the web operations & performance world?
Chris Coyier is constantly experimenting, throwing stuff out there, trying new techniques, trying out the browser stuff, and finding the rough edges where things don’t work very well. Tab Atkins and Alex Russell are both involved in Chrome and standards at Google. They’re amazing people to follow. Another person is Lea Verou. She really pushes the edge in tooling around CSS and taking the specs and bending them to do things they maybe weren’t intended to do. I also follow people who are doing LESS and SASS because the preprocessing languages are an interesting development and have a whole different set of performance constraints.
What is your web operations & performance super power?
I think I do pretty well with CSS stuff. I’ve been doing it for more than a decade now. Friends will send me CSS issues that they’re struggling with and I can jump in and pretty quickly identify why it isn’t working. Somehow, I’ve internalized all of the different bits of the different browsers and just kind of know what to do or what not to do.