I have been working on finding and fixing performance problems with several websites. There are some great tools called PageSpeed and YSlow that help isolate issues that cause a page to load slowly. Pages that load slowly turn away users.
Google is now beginning to add the page load speed in as a factor in ranking. So all of this is something I need to know.
Running these tools tells me a lot. Some of the sites I work with are not fast. They should be — we did most of the right things in setting up their Apache server to cache images and so on, gzip compression is turned on, use minify to make text files smaller. But try as I might, PageSpeed still complains.
So at first I looked an said, “Eh, things are mostly fine”, or “this would be a major change to fix”. As I read more, and tried more, and looked deeper, I began to realize that things were not working as I had expected.
I had been keeping my hands clean.
In this world, your hands need to be dirty.
Is this my job?
I am in the minority with this view when it comes to being in an executive role. VPs of Engineering or CTOs need to be strong technically, of course, but they shouldn’t be hunting down bugs, or fixing server configuration, should they? It’s their job to see that others do this work, say the management guides.
Company execs and senior managers of all stripes, but especially technical, need to keep our hands dirty.
In the last couple of nights, I spent time working out some ideas about how to speed up my Five Percent green blog. Google’s webmaster tools were reporting, to my surprise, that the site was slow — slower than average, even. This couldn’t be true, I said (leaving those white gloves on.)
But then, I found out why Google wasn’t wrong. There were three things, that together made my site slow:
- My most popular posts have lots of comments — hundreds in a couple cases
- I am using an older theme that does not support comment pagination
- I had support for user avatars next to comments using the default for my blogging platform
Figuring out the details of this took: digging, googling, having the right tools installed and knowing how to use and interpret them. As I do more to make my site faster, I am deploying cloud-based content delivery networks (CDNs), ways to compress images smartly, which tools do what, and understanding what’s behind all of this stuff.
But why do I think this is important to know … in detail? In truth, I am scratching the surface in a few places, but what I have learned, over, and over, and over in my career: understanding the big picture well enough to make a smart design and successful product requires depth of knowledge.
And assuming this is true, it’s a lifelong endeavor, because in any technical field, things change faster than anyone can keep up — being idle in technical learning, even if for a short time causes you to lose your edge.