Life at TUNE

TUNE Values: Told in Source Code

Matthew Dale


My name is Matthew. I’m a software developer on the TUNE Marketing Console Data Core team. The Data Core team builds and runs the software services responsible for collection, attribution, aggregation, and availability of all advertising and app engagement data for Attribution Analytics, one of the products in the TUNE Marketing Console. The data that our software collects powers all of the notifications, graphs, and reports for the Attribution Analytics product.

For software developers, source code serves two main purposes: to express executable instructions to a computer, and to express an intent to other people. A single software project may include contributions by dozens of developers who need to understand the other developers’ intents so that they can work toward the same goal.

At TUNE, we have a set of company values that guide our interactions and aspirations and keep us mindful of what qualities make TUNE unique. We strive to demonstrate these values during our interactions with others and in our contributions, including our contributions to source code. When someone demonstrates one of the TUNE values in their interactions or contributions, we recognize them by giving them a Lego block with one of the TUNE values printed on the side. Let’s explore a few examples of source code written by developers on the Data Core team that earned them a TUNE values Lego block.

Be Excellent to Each Other

As humans who share common needs, we treat each other with care and respect. We value diversity of people and ideas. We have faith in each other’s ability to succeed and cultivate that potential by inspiring and nurturing growth. We recognize and express sincere gratitude for each other’s contributions.

As mentioned above, code is both an expression of instructions to a computer and an expression of intent to other people. Empathy is crucial to writing code that effectively expresses ideas and intents to people with different levels of technical understanding, software development backgrounds, or different understanding of the English language and local colloquialisms. Being excellent to each other means writing understandable code that empowers the people around us to effectively collaborate, independent of these different backgrounds.


The code above provides a comment that, in clear English, explains an otherwise incomprehensible boolean expression. Without that comment, any developer attempting to modify the boolean expression would be left trying to decipher the meaning, possibly drawing the wrong conclusion and spending unnecessary time and effort. A developer added this comment to existing code because they were having a hard time understanding the logic and wanted to share their understanding with others.

Be Confident and Coachable

We leverage our strengths, and pursue growth in areas where improvement is needed. When we make mistakes or don’t know something, we are not afraid to be vulnerable and admit it. We continuously pursue knowledge and are happy to share it with others.

The goal is not perfection, but to learn and improve. Understanding when a solution is good enough despite known issues, and understanding that “good enough” is a moving target that must sometimes be re-evaluated are powerful skills for a software developer. Being confident and coachable means having confidence that our code is good enough, even if it isn’t perfect, sharing code improvements with others, and accepting code improvements from others.


The code above demonstrates that the developer understands their code has issues, but that it’s good enough under the current circumstances. They also share when “good enough” should be re-evaluated, and suggest a possible improvement.

Start With Why

Our actions are inspired by our deep understanding of those we serve and support. We explore what is most meaningful to them and why. We earn connection and loyalty by anticipating and delivering what will delight them the most.

Developers serve and support a variety of different clients, but every developer on a team serves and supports the other developers on their team. We like to ask “Why?” source code is the way it is, and are delighted when the answer to our question is immediately available. Starting with Why means expressing the reasoning for our well-thought-out decisions in code when it may not be immediately obvious to someone else.


The code above explains the structure and reasoning of the log timestamp format, including reference material. Anyone who asks, “Why is that timestamp format used?” can immediately answer their own question by reading the comment above the timestamp format declaration.

Embrace 10x Thinking

We courageously strive for 10x advancements in pursuit of enormous opportunities. We think creatively about the future, navigate ambiguity, and deliver transformative change.

Solving only the immediate problem can leave you constantly chasing new problems. Great developers understand which problems will happen over and over as the business or team grows and deliver solutions that solve the immediate problem and the 10x problem. Embracing 10x thinking means understanding how our code performs now and when it needs to do 10x as much, re-evaluating our code if it doesn’t satisfy both the current and 10x larger problems.


The code above adds an attribute to a record stored in DynamoDB which, in conjunction with the DynamoDB time-to-live feature, facilitates processing and storing the current and foreseeable TMC Attribution Analytics data streams in DynamoDB. Using DynamoDB would otherwise be cost-prohibitive with the current data volume and completely untenable at 10x current data volume.

Conclusion

To accomplish something larger than we could alone, we must learn to interact and contribute with other people. We need to empower our coworkers with our knowledge, solve problems with extensible and scalable solutions, ask the right questions, and have confidence that our own solutions are sufficient. As software developers at TUNE, we strive to demonstrate these TUNE values in our in-person interactions and through our source code. When we do, we are rewarded with the satisfaction of working together on a team to build something great! Sometimes we also get colorful Lego blocks. Think TUNE sounds like a place you’d fit in? Let us know! Check out the current open positions on our careers page.

Never miss a thing!

Want the goods delivered straight to your inbox?
Sign up for our blog recap emails to stay in-the-know about digital marketing, analytics, and optimization.

Author
Matthew Dale

Matthew is a software development engineer on the Data Core team, working on the TUNE Marketing Console Attribution Analytics product. He is a leader in Go software development at TUNE and contributes to the Go community through open source projects. For fun, he practices boxing and plays the guitar, typically not at the same time. TUNE Github profile: https://github.com/HasMatthew Personal Github profile: https://github.com/matthewdale