I started my career as an app developer. But I wanted to explore a much broader set of technologies, so I joined Zapr. Despite having zero idea about the technology, the entire language and framework, I found myself in a team that invested a lot of time in learning. This was key - learning and then building something.
The first thing I worked on was Zapr’s advertising Software Development Kit (SDK) which runs targeted ads across our user-base. Our system had to match real-time bidding of ad inventory with added targeting parameters, like phone models and consumer segments - all in less than 150 milliseconds at 20,000 queries per second. The challenge was to identify with accuracy which ads to spend, in that small window, while ensuring very low latency for enormous volumes of data.
It’s like collecting a thousand litres of water everyday; you need to meticulously plan everything and create a dam sort of structure to hold it all together. And as it grows, we need to keep thinking of ways to accommodate this scale.
All of this without any micromanagement in terms of what we’re doing or not doing. Trust and complete autonomy: this is your system and you can do whatever you want and make the best of it. This works pretty well because it gives us more chances to experiment.
At Zapr, people are there for you; not just professionally but also personally. That’s why there’s a deeper bond among us which definitely makes us work better. And the thing I like best is that we’ve got a great culture to learn new things. If you want to learn something and you need a day off from regular work? Go ahead and take it.
So there’s no actual formal process to how we develop things. It mostly boils down to understanding what’s the use case that we’re trying to solve?
The idea is to understand the real motivation behind everything that we build. Technology, for me, has always been a means to an end. It is imperative to find the reason behind what you’re doing. Tech by itself cannot be marvelous without different perspectives - you need to be aware of multiple issues at once.
When you start asking why something happens, the quality of your work becomes a lot better. In Zapr’s earlier days, four or five of us would huddle together to solve problems - we came from different technical backgrounds, all armed with different solutions. Moreover, our mentor and VP of Engineering, Siddharth, would always nurture us with more intricate domain knowledge. After checking our code repeatedly and trying out different approaches, we would eventually work it out.
We needed to build lean products. Multiple systems had to come together and we needed to make them work seamlessly in one platform. For example, when we built ‘AdImprints’, the dashboard had to equip clients with everything they need to create ads on one single platform - from detailed segments to projected reach and engagement metrics.
The other challenge is the experience we need to provide our users. Technically, something may not seem that important, but it matters.
Being a techie, it’s very easily to get lost and constantly think in the way a technical person would, but to focus on the user and start designing things in their perspective is a challenge. Imagine you are hovering over a button, if it doesn’t change in some way, it can hamper one’s experience on the platform. It might just be a matter of coding one or two lines but it affects your user experience - small things can make a lot of difference.
Being in the products team, I’ve been able to interact with people across the floor - from other engineering teams as well as product management and strategy, to understand what the market needs. At the end of the day, products are not what one team alone builds, it is a combination of everybody’s efforts.
There was another time when we were building a dashboard to show which ads were doing well, where, and which metrics they met. We worked with third party companies which had their own data formats, and that meant more problems. So we created an adaptor to translate data back and forth between what reporting vendors and our own systems could understand. For me, the interesting thing was getting to know the end-to-end process for every stakeholder - apps, advertisers and publishers, all the while making sure we never lagged behind industry standards.
The kind of unique data we have at Zapr, at this scale, actually empowers decisions made by content creators - from brands to broadcasters to research bodies. For the most part, this would democratize technology, the overall trend would be positive and certainly empower the way people think and work.
This community of technology is something we really live out Zapr. To encourage the meeting of different viewpoints, I even started a book club where we discuss different opinions from our reading list. We also try to give back to the tech community through blog posts and open-source from which we’ve greatly benefited in earlier days.
If we fast forward ten years, we may not realize the importance of our nuanced decisions. But a single day at Zapr is filled with multiple perspectives of passionate and helpful people who can pick up anything, learn and execute them.
Gagan Gupta
Senior Software Engineer, Products
Join Gagan Gupta and others in building cutting edge products that solve the media industry’s million dollar problems!
Check out our team page and get in touch with us: http://bit.ly/2zapr-team-careers
Also read:
Pooja Conquers Codes to Culture Shock: the Lifecycle of Data Problems in Zapr
‘DevOps’ a culture: Ankit on how the exciting, new culture took shape at Zapr
From Intern to Team Lead in Four years: Agam Jain on building Zapr’s tech from scratch