Welcome to Adjust Engineering! ⚙️👩🏻‍💻🧑🏻‍💻

How the cool stuff is made 🪄

Saturation Arithmetic with a PostgreSQL Extension

Introduction In certain situations, it can be beneficial to ignore integer overflow errors. Consider, for instance, an integer table column that typically accommodates small values. On rare occasions, a significantly larger value might be inserted. Attempting to aggregate these values could lead to an integer overflow error, causing the entire aggregate query to fail, which is far from ideal. Handling large values on the client or worker side, where the data is inserted, is one option....

Aerospike Meetup 2024-02-21 Review

The Aerospike Meetup on February 21st, 2024 was an insightful event with just two presentations, where attendees gained valuable knowledge from industry experts. Bubunyo “Bubu” Nyavor, a Software Engineer at Adjust, kicked off the event with a compelling presentation on “How to store 27 billion records.” Bubus’s talk delved into the practical challenges behind dealing with such vast amounts of data, drawing from his experiences at Adjust. You can find the slides here....

Aerospike Meetup 2024-02-21

We are happy to announce that Adjust is hosting an Aerospike Meetup on February 21st, 2024, in our Berlin office. Please head over to the Meetup website for details. The event starts at 19:00, and we have two speakers: Behrad Babaee (Aerospike): Leveraging Moore’s Law to Optimize Database Performance Bubunyo Nyavor (Adjust): How to store 27 billion record You must register using the Meetup website. When you come to the office, please bring proof of registration (as example your Meetup app showing that you are registered, or a printout of your registration)....

Extensions for PostgreSQL, how we participate at Adjust?

PostgreSQL is an open-source relational database management system. A large number of PostgreSQL functions are available as standard, and documentation for these can be found in the official documentation. However, it is possible to create your own extensions for specific needs. You can check PGXN, the PostgreSQL Extension network. This is a central distribution system for open-source PostgreSQL extensions. In this blog post I’m going to talk about the different PostgreSQL extensions developed by Adjust....

ChatGPT as a Code Reviewer

In software development, code review is an essential step that ensures the quality and readability of the codebase. To improve the code review process, the frontend platform team at Adjust explored the possibility of using ChatGPT as a pull request (PR) review assistant and built a proof of concept. This article will discuss the idea, exploration, implementation, and challenges of using ChatGPT within our ecosystem. Image from Unsplash 💡Idea As a Frontend platform team, constantly improving our internal teams’ development process and experience is one of our goals....

Streamlining Creativity and Consistency with Design System

Design Systems have become an essential part of modern web and app design, offering a unified approach to design and user experience. ATLAS is the Design System of Adjust. At the core of a well-structured Design System are reusable components, design-tokens, patterns and much more that not only enhance efficiency but also ensure consistency throughout a project. Our aim is to create a design system that can be used seamlessly across multiple teams and multiple Adjust products....

Keep doing it wrong until you do it right - Learning in Security Management

In the realm of security management, there’s a compelling maxim that echoes loudly: “Keep doing it wrong until you do it right.” Though it may seem paradoxical at a glance, the embrace of errors and the subsequent learning from them are key to fortifying organizational security. This article delves into why the philosophy of perpetual improvement, learning through failure, and relentless pursuit of excellence is a cornerstone in security management....

PGSQL Phriday 011 - Partitioning vs Sharding in PostgreSQL

For this month’s PGSQL Phriday blogging challenge, Tomasz Gintowt asks if people rather use partitioning or sharding to solve business problems. Big Data: Partitioning vs Sharding Adjust Here at Adjust we use both. We also have quite a few databases of all sizes. Let’s look at some examples. We leverage four primary database systems, termed as “Backends”, “Shards”, “Bagger” and “Tracker”. The Backend systems function as intermediate storage of data, anything between hours and weeks....

Mysterious Pendo Click Event property

At Adjust, we rely on Pendo for gaining valuable insights into our users’ interactions with our products. Additionally, we utilize Sentry to proactively monitor and manage any potential runtime issues that our users might encounter. One day, our team noticed a surge in error events being reported in Sentry. The issue was cryptically labeled as [Failed to add click event property], and it was occurring at an alarming rate, with hundreds of occurrences per hour....

Stadtradeln 2023

The City of Berlin participated in Stadtradeln 2023, also called City Cycling. The Adjust Team joined, along with 1266 other teams. Stadtradeln 2023 What is Stadtradeln? According to the website: CITY CYCLING is a competition that involves completing as many daily journeys as possible in an environmentally-friendly manner using your bike over a 21-day period. Whether you ride every day or cycled only rarely until now. Every kilometre counts – and even more so if you would have completed the journey by car otherwise....