Blog

Career

Is your product already a success? Here are three strategies for engineers to keep moving the ball forward.

by Laura Pfister on Oct 13, 2016

I work on AppLovin’s ad server team, which means that I work on the real time bidding processors and develop new features for our optimization algorithm. It’s exciting work because I get to do “deep dives” into what truly works for our partners, but also because I’m tasked with continually improving a product that already helps our partners scale and maximize their revenues. Here are my suggestions for how, as an engineer, you can infuse your work with a commitment to continually improving your company’s product.

Own your features.

It’s important to feel a genuine sense of ownership with the features that you work on and be invested in the entire process, from start to finish. The pride you take in additions you make to them will fuel new ideas for improvement naturally.

Here’s an example of how a sense of ownership informed a recent project I was working on — the implementation of new feature. Initially I thought it was just going to be a matter of a few changes in the code, but as I examined the existing code, I saw ways to better organize it. Ultimately it wasn’t just a matter of making sure the feature was implemented properly but ensuring that they were coded in the cleanest way possible, which is always a boon to maintaining your code base.

But my investment in a feature doesn’t end when I merge my code. Once it’s live, it is part of my job to check up on it. I examine reports to understand its impact; as its creator, I become its expert. I love that about my job, and that sense of ownership inspires me every day.

Communicate!

One of the most important and overlooked aspects of development and innovation is good communication. Good communication can stop bad ideas in the early stages before time is wasted on implementation, but more importantly, open discussions can can transform a tiny spark into a major feature.

Always take the initiative to talk with your teammates about your ideas, and discuss their ideas, too. Doing so fosters creativity and provides new insight. Just recently, my team had an hour-long conversation about an optimization we were just starting work on. Together, we asked questions, brought up potential problems, and discussed improvements that could be made down the line. In engineering, this is the type of collaboration that makes a good idea great.

Remember that failure is an option.

One of the most liberating aspects of working on a great product is that there is room for failure, and failure is even healthy and instructive. A good portion of my features are on the ad optimizer. The cool thing about optimizing is you can have a lot of theories about how well something will work, but until you put it live, it’s all speculation. All of our optimizer features go through an experimental phase before being scaled to all of production. A good portion of these features just don’t show the performance that we want and are immediately turned off. By seeing what doesn’t work, we can learn much faster what does work and make improvements accordingly. This recognition that failure is actually helpful gives us freedom. We can innovate without fear, which truly means we are limited only by our creativity.

If you’re an engineer working on an effective product, resting on your laurels is never an option — technology changes too fast. If you own your features and are invested in every detail of them, even after they’ve gone live, continually communicate with others on your team to tap their expertise and perspectives, and remember that in engineering, failure can be crucial on the path to success, you’ll be well prepared to continually improve the product — and enjoy terrific job satisfaction.

Laura Pfister is a software engineer at AppLovin.

We’re hiring! Apply here.