What agriculture and car manufacturing can teach us about the use of generative AI in software engineeringIt’s not often that an article about AI coding tools takes us back a few centuries. Come with me on a trip down memory lane to revisit a couple of lessons other industries learned long ago.In the 1840s, the German chemist Justus von Liebig popularized an idea about plant growth, first articulated by agronomist Carl Sprengel in 1828. Plants need many things to grow: water, sunlight, nutrients, good soil. But their growth is not determined by the sum of those inputs. It is constrained by…
The first time you realize you’re a safe leader, it feels like a victory.People tell you the truth sooner. They admit mistakes instead of hiding them. They bring you the messy thing instead of the polished story. The team takes more calculated risks, and the work gets better.If you care deeply about people — and if you’re reading this, you probably do — you start treating morale like something you must personally keep upright. You listen closely. You make space. You notice who’s quiet and gently draw them in. You hold the awkward silence long enough for inconvenient truths to emerge. You take…
Heartbeats: How Synthetic Traffic Keeps Us RunningLet me take you on a journey of how we came to use heartbeats in our application design. It’s a happy story of love and no broken hearts along the way.What are heartbeats?What my teams have called heartbeats are a form of synthetic traffic generated by the application itself. The deployed application periodically generates heartbeats at a defined schedule.Heartbeats provide guaranteed regular traffic. In the cases I’ve used them, they have been low volume. In contrast to application traffic, which could vary massively from zero to huge…
You may be new to this series; and if so welcome! If so, I encourage you to start at the beginning of our datastore journey and see the blog post “Unlocking Efficiency: A New Era for Datastore Provisioning”.Already up to date in our series? MAGICAL — then let’s continue with a quick re-cap.Where are we?We have introduced you to a multitude of aspects all pertaining to how we make the provisioning and utilisation of datastores quick, no-fuss and simple — as simple as clicking your fingers or making a wish.By continuing our theme of MAGIC, we enabled engineers at Zendesk to:Make a wish (detail…
In the fast-paced world of engineering, the dream of easy infrastructure management and provisioning is a common aspiration. At Zendesk, this sentiment resonates deeply among our engineers. When we talk about infrastructure, we refer to a wide range of tools such as MySQL, S3, DynamoDB, Kafka topics, compute resources, network and routing configurations, security groups, secrets, credentials, configuration settings, dashboards, monitors, and log management.Challenges with self-service provisioningIn our recent blog post, Unlocking Efficiency: A New Era for Datastore Provisioning, we…
Are you ready for more self-service datastore adventures? If you haven’t already, have a look at our previous entries in this series:Unlocking Efficiency: A New Era for Datastore ProvisioningSimplifying Datastore Provisioning with Kubernetes OperatorsResolving Incidents With The Remote Incident ConsoleThey’re a fun read.The story so farLast time, in Simplifying Datastore Provisioning with Kubernetes Operators, we talked about making datastores easy to provision by just writing a few lines of YAML in a file called service.yml, like this:version: 1.0name: "Terrific Tents"description:…
Supporting developers to debug and resolve issues with datastores in the Self-Service ecosystem.Welcome to the third blog post of our Self-Service Datastore series, where we share our journey towards creating a more efficient and reliable way to manage datastores at Zendesk.Previous blog posts:Unlocking Efficiency: A New Era for Datastore ProvisioningSimplifying Datastore Provisioning with Kubernetes OperatorsWe need reliable, fast, and compliant self-serve methods to provision datastores. Furthermore, we need to ways to access those datastores from applications; otherwise, they won’t serve…
A brutally simple and effective implementation for long-running account move jobs at Zendesk.This article outlines some architectural changes we’ve been able to make to radically simplify the execution model of long-running jobs.By leveraging client behaviour, the resulting system improves overall functionality while removing the many complexities of distributed job execution.Dall-e impression of a server who’s ready to move some data!Background: Account moves at ZendeskBehind the scenes at Zendesk, the data for a given customer account lives in one of our regions across the globe. We don’t…
Leading while learningWhy great managers don’t have all the answersI used to think leaders had to have all the right answers. Now I know that the best ones have all the right questions.Early in my career, I admired managers who seemed to have everything figured out. They spoke with certainty, made quick decisions, and never hesitated. I assumed that was what leadership required: knowing more, proving more, and never showing doubt.Then, I became a manager myself. And I quickly realized something unsettling. I didn’t have all the answers. I had experience, sure, but every new challenge exposed…
IntroductionWelcome to the second blog post of our Self-Service Datastore series, where we share our journey towards creating a more efficient and reliable way to manage datastores at Zendesk. In today’s dynamic application development landscape, the ability to swiftly provision datastores is crucial for maintaining agility and delivering exceptional user experiences.Provisioning encompasses all steps involved in requesting a datastore: configuring it to meet company standards, ensuring security and compliance, and managing access credentials. In this article, we’ll explore how we have…
Read at the source
Your visit, your choice.
Optional Google Analytics helps us understand visits. Microsoft Clarity records masked interactions to improve the site. Optional tools stay off unless you choose them. Privacy details.