Articles

The Kiwi.com tech
community blog.

The Old Way Is Dead: A Security Team's Manifesto for GRC Engineering

The role of a modern security team has undergone a transformation. What was once a function focused solely on the technical aspects of network defense has evolved into a strategic business partner that directly influences business growth, innovation, and organizational resilience. Today's security team operates at the intersection of technology, business strategy, and risk management, working closely with engineering, legal, and business leaders. This shift is a direct response to a threat landscape where cybersecurity risks are no longer isolated technical problems but critical business risks with real financial and reputational consequences.

Modular SwiftUI architecture

When we started introducing SwiftUI in Kiwi.com app, we already had to maintain 100+ UIKit screens. As we tried to convert them into SwiftUI in-place, without any other architectural change, the Xcode would just crash when attempting to work with SwiftUI previews.

Enterprise Python: Software That Lives Long and Prosper 🖖

Today, I’m talking about the kind of software that never gets the spotlight, and yet has gone through one of the most radical changes in the industry. The history of enterprise software also has a deep connection to my own career, and I bet it has a connection to yours, too. Even if you don’t see it that way yet.

Swift 5.10 Concurrency Survival Guide

You never know what you’re going to get when updating to a new version of Xcode. Historically, the only thing to worry about was the major version updates that came out in the fall. These include not only support for that year’s new operating systems but also various new IDE features and analysis tools (e.g., checkers and sanitizers). The minor version bumps, by contrast, were much more safe/boring.

Why Trust is More than Agility

Whenever I ask somebody working in an agile team how they would describe agile, they always start by naming the ceremonies: planning, retrospective, standup, and whatnot. As a leader who has always strived for team productivity (as in: we deliver great value to our customers), not just a meaningless structure of meetings, it baffled me that my teams perceived agility similarly as described above. What did I do wrong?

ObservableObject initialisation using Environment

At Kiwi.com, the conversion of architecture from UIKit to pure SwiftUI was not without hiccups. One of them was finding a way to properly initialise an ObservableObject that depends on the environment that is injected from above.

How Kiwi.com simplified feature delivery with effective API design

The swift and efficient delivery of new features is essential in a product-oriented company like Kiwi.com. However, as client-server architectures become increasingly complex, this task poses more significant challenges. We encountered similar obstacles when implementing new features across multiple clients. This article explores how Kiwi.com effectively tackled these challenges.

Cautiously Configuring Copilot

Security folks do not like Copilot for several reasons. One of the main concerns is the leakage of secrets. Basically, we are searching for the configuration that would prevent this - adhering to the principle of least privilege: third parties do not need our secrets.

Vault Operator for k8s

Secret management isn't an easy task, especially in bigger companies. At Kiwi.com we have tried multiple ways to tackle this problem over the years. At the end of January 2023, we publicly released our vault operator.

BigQuery data in Google Sheets using Data connector

Big data is becoming a significant challenge for businesses as the amount of data grows. To address this challenge, many businesses are turning to cloud-based storage solutions for their data and using easily scalable business intelligence (BI) tools. Google offers a vast range of tools and services for managing and analyzing data, most of which are free to use.