CTO interview: Mina Naguib, at the forefront of digital out-of-home advertising
In this interview, we talk to Mina Naguib, CTO at Hivestack, the world’s leading, independent, programmatic digital out of home (DOOH) ad tech company. Mina has been working in the technology industry for over 20 years, in senior positions at numerous companies of varying sizes. In this interview, Mina explains how team structure can change over time, the importance of nurturing both technical depth and breadth, and different aspects of your company’s product.
You’ve already had a long career working at large enterprises such as Samsung. How would you say it has prepared you for your CTO role?
Good question. In my career, I’ve taken on many roles and responsibilities. I’ve gone from small companies to global conglomerates, and back again to start-ups. I think the variety is what has prepared me for the CTO role at Hivestack. It’s not just about technology, and as my career has progressed, I’ve done less hands-on work in software writing. Instead, I’ve brought my skills to different areas of business, such as problem solving via technology, creating and growing new teams, as well as taking an active part in decision making. I’ve been in the tech world for a couple of decades all-in-all, and every role I’ve held has prepared me for my current role.
You say the big companies prepared you for writing less code and being more visionary?
Absolutely, that’s correct. While having a solid foundational knowledge in the ins-and-outs of technology is important, in these larger brands I was able to spend more time seeing the bigger picture and strategizing.
Can you expand on what Hivestack does for agencies and brands?
Hivestack is, at its heart, an advertising technology platform, focusing specifically on programmatic digital out of home (DOOH) advertising. Our platform helps media owners sell their inventory more effectively. Hivestack is one of the pioneers that offers advertising technology services in the DOOH sphere. That’s our primary focus: to help media owners sell their inventory. We also help media buyers execute their campaigns when buying that inventory and showing their ads to the right target audience, at the right time.
Did you have any experience in the AdTech industry previously?
I’ve been working in the AdTech industry for over 15 years. However, DOOH was completely new to me before Hivestack. But that was one of the things that attracted me to join the business. It’s allowed me to bring my wealth of AdTech knowledge to new challenges and opportunities, helping to problem solve in this rapidly evolving space, while learning at the same time.
How do you scale a software platform that is starting very small? What are the things you look for?
Right now, we are at a point where AdTech is generally fairly mature. There are well-known patterns to design AdTech systems, yet sometimes you’re doing something groundbreaking and there is no defined path. In my opinion, it’s about taking experience and industry best practices, writing them down and giving yourself a roadmap. It’s a mix of reflecting on what capabilities you currently have and clearly communicating your vision for the future.
What do you look at in terms of technology?
In AdTech, the volume of requests, as well as the latency, can be very demanding technology-wise. Knowing what tech to keep, as well as what to sacrifice, is key to allowing your system to scale effectively. You need to make sure the architecture and design make sense, ideally ahead of time.
No AdTech company builds their systems and is permanently happy with them. Continuously rebuilding internal systems as part of measuring, optimizing, scaling, and planning for the future is vital. On the technology side, you just have to be methodical, inventorying your systems, deeply understanding how they behave, and then deciding what works well. On the people-side, there is no hacking your way out of nurturing a high caliber and having the senior engineering talent needed to deliver that. In order for processes to work correctly and scale, both people and technology need to be in sync.
It’s funny you say that. My next question was about the best strategy to align the tech team with the rest of the business.
You have to maintain a strong connection between the product team and the teams working directly with the client. Their feedback is extremely important. For a start-up to succeed, you need everyone to conduct themselves as one team. You need the feedback and that circular flow to work well. A close relationship with product and client services is vital, and tech teams need to ensure that what they emphasize on the technology side is useful for the business.
What kind of technology do you guys use at Hivestack?
From the inception of Hivestack, we’ve been 100% cloud-native. At a high level, our platform is a 3-tier architecture:
The first tier is the application: what our clients use to interact with Hivestack, whether it’s the media owners or media buyers.
The second tier is what I call the ad serving layer. While the first tier is what our customers interact with to place orders, we don’t want it to participate in the actual ad serving as it’s a high volume task completed on low latency systems. It’s therefore a completely different tier in our systems. This second tier is responsible for the very fast selling, mediation, and buying of our inventory.
Finally, the third tier is the data tier. It takes all of our internal and external data for processing and then outputs analysis used for the other tiers (models, audience concentration, basic reports, etc.).
Any reason you chose Python?
Historically, Python is in the DNA of the company engineering. It works well and is versatile across the 3 tiers.
I see that most of your developers are polyglots, working in different parts of the world. Does it affect the way your team builds and develops technologies?
Yes and no. When you’re a young team, you don’t have the luxury of specializing talent. A start-up team by definition is cross-functional. The team is polyglot delivering end-to-end solutions, from architecture to database design, backend design, and UI. As you grow, you need to develop something called ‘’mechanical sympathy’’. This means making the right architectural choices, and using the right languages, data structures, systems, and databases. The “surface” of your technology ecosystem needs to grow to support the business. Skills start to vary and depart from the common denominators.
After a team reaches a certain size, smaller teams are formed where each team owns a component, and everything related to its operations. When you have cross-functional teams, you’re emphasizing velocity. When you have component teams, you’re emphasizing ownership and quality. Every business wants both! We want to be as fast, high-caliber and high-performing as possible. I don’t think there is a one-fix solution for any businesses, and no one has figured it out perfectly.
I suppose you don’t program much anymore. Do you miss it?
In my day-to-day as a CTO, I do not contribute to the coding projects per se, but I do get involved. I take one to two hours a week, and I pick something internal or external that interests me, and I either learn it or code it. I’m a hacker at heart. I can’t be 100% detached from programming.
I understand what you mean. To finish, do you have an unusual story of something that happened in your career?
Over a long enough career, you accumulate a lot of “war stories.” Going back to the ideas of polyglots, career growth, and understanding the layers you’re building on top of, there’s one particular instance at a previous company about 10 years ago that I still use as an example today for growth.
In AdTech, you need low latency, so at some point you need to move your services to where your customers are, which is a little bit challenging when you want to be global. We had a data center in London which was sending transaction logs back to a data warehouse in Montreal. One safeguard in place to ensure this system worked was alarms in the warehouse that sounded when data stopped arriving. One day, the alarm started going off. The Linux boxes doing secure file copy from one server to the other weren’t working properly. Long story short, the team understood that the software wasn’t the problem.
We ended up isolating a faulty memory module where the bits were stuck to “1” on a router at a cross-Atlantic Tier 1 internet backbone provider. The problem wasn’t coming from us, but from the network. Given the caliber needed to operate AdTech, we were able to isolate the problem in someone else’s system. This led to a significantly faster resolution of the issue, versus classical ticket-opening-and-hoping.
This particular issue really stands out to me as a good example of the benefits you get from having cross-functional depth and not being scared of understanding the layers it takes to operate complex systems.
If you want to connect with Mina, click here.
To learn more about Hivestack, visit their website: hivestack.com
FROM THE AUTHOR