The Way of Work: Platform Engineering at Bazaar Technologies

Ahsannaseem
Bazaar Engineering
Published in
3 min readOct 8, 2023

Hello! I’m a member of the platform engineering team at Bazaar, formed 2.5 years ago. Within a wider tech group of 90 people, our team consists of 6–8 individuals with the following responsibilities.

Building and Maintaining Platform Infrastructure: Things like CI/CD, Kubernetes clusters, and Observability platforms.

Platform R&D: We come up with initiatives that our product teams then take forward.

Managing Services: Like handling identity management and gateways.

These tasks can quickly become chaotic if not managed well. To keep things running smoothly, we’ve picked up a few practices:

Methodology and Duration:

From the get-go, we’ve used the Kanban methodology. For the first two years, we didn’t do formal “weekly planning” but instead focused on: “What is the most critical thing to do now?” It helped us avoid waste and stay value-driven. We work in two mobs, with one Work In Progress (WIP) per mob.

Planning Process:

We’ve recently added planning sessions because we added a third stream and have some remote team members (the third stream takes care of web and mobile app platformization). Planning takes us about 30 minutes in total.

Each stream freely picks tasks from the TODO list, with some discussion about task selection and its importance. After finishing a task, we pick another from the TODO list.

Workflow:

We don’t do backlogs or sprints and don’t stress about spillovers. We tackle tasks as they come, with no set timelines. We break big tasks into smaller, more manageable pieces and tackle them bit by bit.

We have three mob rooms in Slack, each representing a specific WIP. Everyone is there, all context is shared openly, and anyone can jump in and contribute. We try not to use DMs.

Work Schedule:

We’re in the office for 3 days and do 2 syncs a week on remote work days to avoid overloading the team during in-office mornings.

Rotational SRE or Oncall:

Bandwidth is crucial, but our product teams often need support. Previously, anyone could DM any of us, leading to burnout and quality issues. Now, we have an on-call system that helps to make sure planned work doesn’t get disrupted. The on-call pair provides support and also works on reducing system debt upon bandwidth they also contribute in innovation.

Outcome:

We always work on Priority 0 (P0) tasks, keeping our sense of accomplishment high. Any stream can pick any task, which helps us learn and avoids bottlenecks. Without pressure from spillovers or strict timelines, we keep delivering value, even in small steps.

We’ve learned and adapted a lot on our journey, managing to keep chaos at arm’s length while consistently delivering value. Sharing our process is our way of inviting feedback and possibly helping others navigate their engineering journey. Got any thoughts or tips? Let’s keep the conversation going in the comments.

Disclaimer:

Bazaar Technologies believes in sharing knowledge and freedom of expression, and it encourages it’s colleagues and friends to share knowledge, experiences and opinions in written form on it’s medium publication, in a hope that some people across the globe might find the content helpful. However the content shared in this post and other posts on this medium publication mostly describe and highlight the opinions of the authors, which might or might not be the actual and official perspective of Bazaar Technologies.

--

--