In the latest instalment of our interviews speaking to leaders throughout the world of tech, we’ve welcomed John Butler, Chief Technology Officer at Crazy Egg.
- Being the CTO, what do your day-to-day responsibilities look like?
- What frameworks do you use for managing technical debt?
- How do you decide whether something is so painful that it merits a full rewrite?
- How does your technical organization work with the other operational components of the company?
- What do you see as the hottest trends within your industry today?
- Can you tell us what book you are reading currently?
- Do your technical teams or do you use log analysis as part of your role? If you do, how do you find this helps day-to-day operations?
- What can we hope to see from your business in the future?
My primary focus is to constantly ask and answer this question to the best of my abilities: how do I create an excellent environment for excellent engineers? Making documents, writing company values, or doing presentations doesn’t work on its own. You have to breathe life into them by creating processes and systems. For example, it’s not enough to just say “we believe in continuous education” - how do you make that happen on a regular basis? First I tried creating a renewing self-education fund where engineers would receive money that could be used for courses or books. That worked for some, but not everyone. So then we started doing Tech Research Fridays where engineers rotate through having Friday off from their regular work to research whatever they want. It doesn’t have to relate to any technology we are using, but they do have to share a write-up afterwards. We also periodically give engineers a full week for longer research projects they choose.
So on a daily basis, I’m thinking about what other systems we can put in place to create that excellent environment. I’m fortunate that we have a small enough team that I can connect with each individual engineer and try to work with them to figure out how they can be at their best. My secret weapon in all of this is listening. Listening not only creates trust, but almost all of “my” good ideas come from our team initially. That’s why I’m a huge believer in regular 1:1s. Then it’s up to me to take that idea or concern and put action behind it.
Balancing technical debt, improving existing features, creating new features, and researching far-out ideas is a challenge for every tech company. We do regular dedicated “spring cleaning” throughout the year, giving engineers time to focus on the areas they think need the most attention. Again it has to be a process, not a one-time effort.
The main metric I use is how much it’s slowing down our engineers from doing great work. Are they too scared to touch a piece of code so that they come up with complex solutions just to avoid it? Does everything that touches that system seem to take 5x as long as other parts? Do we consistently hit limitations because of the same piece of technical debt?
Crazy Egg has been remote and asynchronous since its inception nearly 18 years ago. That means not only do our team members work from home and are globally distributed but we don’t have fixed working hours and we avoid synchronous meetings as much as possible. This means written communication is paramount and planning and discussions happen over several days, typically via Slack or comments on documents and tickets. So instead of trying to make some quick decisions in a meeting with a few people invited, we give people time to think about those decisions. This encourages collaboration because other teams can follow along and contribute early in the planning process. We get great ideas from everyone in the company. On the surface this would seem like everything would take longer but we find it doesn’t because we start the planning phase early, people have more time to think which leads to better decisions, and we plan multiple projects simultaneously while working on other projects.
Artificial Intelligence. It’s the Big Data of today. At some point, like Big Data, it’s going to be table stakes where no one really talks about it because everyone will have integrated AI into their products and services at some level. Although many of the new AI projects seem mind-blowing, at the root level AI is just another way to do what companies have always been trying to do: provide more value for less effort from the customer.
I read a lot of history books, not only because I enjoy them but because I find that the leadership lessons from the past often apply to today. Right now I’m reading “Astoria” by Peter Stark. It’s about John Astor’s attempt to establish a Pacific empire on the coast of Oregon in the very early 1800s.
Do your technical teams or do you use log analysis as part of your role? If you do, how do you find this helps day-to-day operations?
Definitely. We build a lot of dashboards from our logs with alerts to monitor and manage operations. And of course, when there is a problem that no one seems to be able to figure out logging is our go-to.
Crazy Egg has always been about helping people make their websites better. As the number of people needing to really understand and optimize their website has grown, and web technologies and requirements have continued to increase in diversity and complexity, our goal remains the same: how do we reduce the time and effort it takes for our customers to improve their website and reach their goals.
If you enjoyed this post and want to keep reading our articles then why not check out our Linux command cheat sheet or find out more about telemetry data?