Skip to content
:tech
← Articles

AI-translated. Read the original in KoreanEmbedded slides, videos and images remain in their original language.

What Do Software Architects at Buzzvil Do?

What Do Software Architects at Buzzvil Do?

Buzzvil has a team called ATF, the Architecture Task Force. As the name suggests, it brings together software architects who think through—and implement—our software architecture. Founded in January 2019, the team has just turned six months old. In this post, I’ll introduce the people in ATF and the work we do.

“Talk is cheap. Show me the code.”
— Linus Torvalds

Unfortunately, you won’t find any code here. I’ll also try to keep the terminology accessible to readers who aren’t developers. People say developers communicate through code, and I agree to an extent. Still, putting the code aside and revisiting the concepts can be enjoyable, too.

What is software architecture?

I briefly introduced the subject in Software architecture: The important stuff. Put simply, software architecture consists of the important decisions involved in building software, including its system design.

What is a software architect? The title certainly sounds impressive.

Software architects are the people who think about software architecture. The role emerged and became established in the late 1990s, as object-oriented programming (OOP) gained widespread adoption. OOP made it possible to build larger, more complex applications, creating a need to manage applications and systems at a higher level.

Every company has a software architect. Even if nobody holds that job title, someone is probably doing the work. At a small startup, it is usually the CTO: considering, deciding, and implementing how the software should be structured as a whole. As a company grows, or needs a dedicated role, that responsibility may become an enterprise architect or chief architect position leading an architecture team.

Why does a startup like Buzzvil need ATF?

The complexity of digital advertising

The digital advertising market is much more complex than you might expect.

“How complicated can it be? You just show someone an ad image!”

It would be useful to walk through the concepts and technologies that have emerged as digital advertising has grown, but that deserves a separate post. For now, let’s look at some of the complexity involved in ad tech.

Mobvista’s Ad Tech 101 video may also help give you a feel for the field.

Digital advertising, particularly programmatic advertising, brings together the needs of the demand side and the supply side. The demand side wants to run advertisements: these are the advertisers. The supply side wants to earn revenue by showing ads to its users: typically publishers, the companies operating services. Advertisers want exposure, and publishers want revenue. Their needs seem to fit perfectly.

The trouble is that although they need each other, their objectives point in opposite directions. Advertisers want to spend as little as possible, while publishers want to earn as much as possible from the same audience. Various approaches have emerged to address this: real-time bidding introduces competition for inventory, while ad networks aggregate ads and inventory so they can be used more effectively.

Is there a way to satisfy both sides? Yes: make the advertising more effective. An advertiser’s ultimate goal isn’t simply to run ads. It is to generate conversions, such as purchases. Even if an individual impression costs more, advertisers are willing to pay when the revenue generated relative to their advertising spend—ROAS—is higher. Organizations are generally rational, apart from the occasional exception. Publishers benefit, too: optimizing each impression raises its value.

How do you make ads more effective? Have you ever searched for a product on an e-commerce site, only to see it follow you around the internet the next day? Advertising that shows people a product they have already expressed interest in—what this article calls recommerce—has demonstrated its effectiveness. The better you understand a user, the better you can estimate which ad is likely to lead to a conversion. That means solving two problems: a) How can we understand the user better? and b) How should we choose an ad using what we know?

To understand users, you identify them and record their activity. Sounds simple, right? In practice, that requires technologies such as fingerprinting, data management platforms (DMPs), interest analysis, and tracking pixels. It also requires techniques for extracting interests from the information collected. Entire companies specialize in just one of these areas.

Once you have the information, the next step is recommendation. You need to decide which ad to show, and when, to achieve the best result. You might examine the content a user has responded to or the interests of similar users. Recommendation technology has a long history, yet it remains an especially important area in which machine learning can shine.

After displaying the ad, measuring its effectiveness is essential. Showing it and assuming everything went well is like choosing answer five for every question on an exam and hoping for a good score. At the very least, looking back to see which answer appeared most often would help you make a better guess next time.

Even with the right audience and the right ad, the image you choose can affect performance. Placement matters, too: a banner, a slot between pieces of content, and a mid-video ad can produce very different results. Timing makes a difference as well. A/B testing is essential to finding what works best. Savvy advertisers work hard to improve performance, and intermediaries such as ad networks build features to meet those needs.

The complexity of Buzzvil’s business

From a consumer’s perspective, Buzzvil may look like “the lock-screen app company.” We operate HoneyScreen in Korea and Japan and Slidejoy in the United States. Look a little closer, though, and our business extends much further.

Buzzvil operates on the supply side by providing SDKs to business partners. Publishers can integrate a Buzzvil SDK into their services to add advertising inventory and generate revenue. They can create their own lock screens and add various ad formats inside or outside their apps. This gives Buzzvil access to a broader, more diverse premium audience than our own apps alone could provide.

We also operate on the demand side, working with advertisers both directly and indirectly. Direct contracts help us deliver better performance with appropriate billing, while a range of networks connects us with more advertisers. The importance of ad performance is difficult to overstate.

Because we connect many publishers and advertisers, matching users with the right ads is crucial. To combine the different information publishers provide, infer users’ interests, and recommend relevant ads at the right time, we need all the technologies and data discussed earlier: fingerprinting, DMPs, recommendation, and performance measurement. Simply having them isn’t enough. We have to do them well—and keep getting better.

One of Buzzvil’s distinctive strengths is its use of loyalty programs, such as points systems. Seeing something can make you want it: take most people into a department store, and they’ll be tempted to buy. Personally, I can lose hours on Funshop (funshop.com). Offering an appropriate number of points alongside an ad that interests someone can help capture their attention. Many internal experiments have validated the effectiveness of rewards in advertising. Google already offers rewarded video ads and is moving toward rewarded ads more broadly.

That brings its own challenges. There are plenty of gray areas in the phrases above. What exactly does “an ad that interests someone” mean? What makes a number of points “appropriate”? How often should we award them? Each of those questions requires technology backed by research.

Buzzvil as an ad tech company

Last June, all of Buzzvil’s roughly 90 team members went to Saipan for a company workshop.

Did you know that Foursquare revived its struggling business and began growing by pivoting toward advertising? Or that Pinterest has impressive advertising technology, and Facebook has become a major force in advertising through the Facebook Audience Network (FAN)?

Buzzvil does more than operate lock-screen services. We are an ad tech company with strong technology, an active use of loyalty programs, and distinctive ad inventory. Like an iceberg, what looks small and simple on the surface can conceal something much larger and more complex. You need to step back to see it.

So what do architects actually do?

Even a quick look at ad tech reveals a lot of stakeholders. Alongside publishers and advertisers, there are campaign managers, inventory managers, creative producers, data managers, analysts, and many other user groups. A system serving so many different needs inevitably accumulates features and complexity.

The more complex a system becomes, the more software architecture matters. It needs to adapt to change. Related things should live together—high cohesion—without unrelated things becoming too dependent on each other—low coupling. A growing product family makes reuse more important. APIs used by external partners make clean, reliable development even more critical.

Architecture isn’t a purely technical job. Architects examine the business and identify the technology it needs. As I’ve discussed elsewhere, there is no single right answer that fits every situation. An architect must look at the overall business, work out which architecture fits, and put it into practice.

Architects map out services, define the contracts through which they communicate, and establish service responsibilities or the rules for assigning them. We also work on the software architecture within individual services. Together with project members, we discuss which approach makes sense: how to apply Clean Architecture, whether serverless is suitable, whether to choose MVVM, MVI, or RIB, where and how to use reactive programming, which service mesh to adopt, and how to run end-to-end tests. The list of decisions goes on.

Internal education is also part of the role. To move in the right direction together with software engineers, architects must continually find a direction, share it, discuss it, check progress, and repeat. Engineers without architects may run hard while drifting off course. Architects without engineers may know exactly where to go without ever taking a step.

Meet Buzzvil’s ATF

ATF members put their energy into everything they do.

Here are the people who make up Buzzvil’s ATF. We have plenty in common, but each brings different strengths. Together, those strengths keep us moving forward.

Ben

Ben is an adventurous architect, an excellent engineer, and incredibly quick to act. His deep understanding of our systems lets him clearly identify what needs to be considered before a change. If he spots something he doesn’t like along the way, he jumps in and fixes it. With someone as dependable as Ben beside us, very little feels out of reach.


Liam

Liam’s technical knowledge and experience are both broad and deep. He also keeps a close eye on change and stays on top of new trends. As a result, he can offer a solution close to the ideal in almost any situation. He doesn’t rush to conclusions: he thinks carefully before suggesting a direction, so everyone listens closely. The fact that he is also good at design is a considerable bonus!


Ethan

Always enthusiastic, Ethan is an architect who digs deep—and then digs deeper. He is constantly looking to grow and eagerly takes in new information. Before making changes, he thoroughly analyzes a system and proposes concrete ways to move it in the right direction. He also handles internal training. Surely there must be more than one of him.


Jerry

Jerry has an exceptional understanding of users. His interest in people and computers runs deep enough that he majored in HCI, human-computer interaction. He is particularly good at analyzing how people think and defining what they need. As Conway’s law suggests, systems reflect the organizations that build them, and organizations reflect people’s thinking. Jerry’s ability and insight help us define users’ needs clearly.


Whale

That’s me. I see myself as an optimistic architect. I imagine a positive future and think about what it would take to make it real. I align the direction of our systems with the direction of the business, identify what is essential to getting there, and work with the team to think, discuss, and decide.


Closing thoughts

Architectural work rarely reaches its destination quickly, and its results don’t always touch users directly. Without understanding and support across the company, it can easily lose momentum. Yet the role is essential if services and systems are to grow, and it provides a foundation for healthy engineering.

I hope this post has made the software architect’s role a little clearer. We appreciate your understanding and encouragement as we continue!

A beach dance party at our Saipan workshop :)

We’re hiring

Buzzvil is growing rapidly in ad tech, and we’re working hard—and having fun—to build better services and systems. To grow faster on a stronger foundation, we are hiring talented people in almost every area mentioned above. If you’d like to explore new markets, tackle difficult problems, and move forward through what you achieve, please get in touch :)

#SupportingEmployeesDreams #UnlimitedBooks #ClubSupport #StudyGroupSupport #AnnualOverseasWorkshops #MonthlyCulturalActivities #KRW300000ReferralReward

All articles