Event recap: Warsaw Tech Exchange at Bolt

May 24, 2022


We recently welcomed over 200 guests to our first engineering meetup in Warsaw! The event follows our Engineering and Women in Tech meetups in Tallinn and sets the scene for our Engineering Meetup vol.4 on May 30th in Bucharest.

Hosted by our Senior Engineering Manager Tomasz Rogozik, the audience heard from Bolt engineers Michal Nowotka and Paweł Kupidura and our external speaker, Adam Warski from SoftwareMill. 

Following the presentations, guests had the chance to network, share experiences, and discuss best practices within our community. 

We’d like to thank all attendees and speakers for kicking off our Warsaw engineering meetup sessions in style! Below you’ll find an overview of what was discussed, plus a recording of the entire event.

Bolt’s Engineering hubs

Before getting to the event itself, a quick word on our engineering hubs and presence in Poland. We’ve now got four hubs —  in Berlin, Bucharest, Tallinn, and Warsaw. 

Over 200 people are based at our Warsaw city centre hub in the Skyliner building, including 40 engineers. 

Our autonomous Engineering teams use state-of-the-art technologies to build products that have a real daily impact on 100+ million customers worldwide. We work in small groups where everyone acts like an owner. 

Our Engineering teams in Warsaw focus on building platform and foundation services, data engineering, grocery delivery, commerce, and shared mobile components. You can read more about how we run Engineering here.

Meet the speakers

Let’s now introduce our speakers’ presentation topics and hear more about their roles. 

Speaker: Michal Nowotka, Engineering Manager at Bolt

Michal’s daily responsibilities at Bolt revolve around writing design docs for new technical solutions and working on the product to maximise the impact of our communication platform on our business.

But as a manager, he’s also involved in the recruitment process, which is no small task given Bolt’s hyper-growth environment. 

Asked where he sees himself in five years, Michal says he’ll be leading the development of a Bolt messenger app (which isn’t even in the plans as yet!).

Presentation topic: Not merely the messenger — lessons learned from building an in-app chat at Bolt

Three presentation takeaways:

  1. It took two quarters to build a product that’s more than just a simple messenger component within the app; 

  2. It allowed the creation of a generic bidirectional messaging system that can be reused in scenarios other than a chat; 

  3. It represented a valuable data point that proved cross-functional teams can deliver new features faster than cross-team collaboration. Plus, it showed that the decision to build a chat function in-house was valid.

Speaker: Paweł Kupidura, Senior Software Engineer at Bolt

As a Senior Software Engineer, Pawel starts the day by checking Slack and performing code reviews from his fellow engineers. Then it’s onto his daily team meeting and, afterwards, working on planned items, including writing design documents, coordinating cross-team projects, or implementing new features on Bolt’s Data Platform.

Pawel’s evolved from a backend developer to a generalist engineer. And at Bolt, he has the chance to work with a range of technologies, including Python, Terraform, and Kubernetes. 

As the world of data engineering continues to change, Pawel hopes to be focusing more on data quality and discoverability tools in the future.

Presentation topic: Orchestrating data pipelines — a journey with Airflow at Bolt

Three presentation takeaways:

  1. If an organisation’s just starting to use Airflow, it’s best to go straight with a Kubernetes-based solution for the best possible deployment;

  2. Airflow should not be used for executing workflows, just for scheduling;

  3. Airflow doesn’t greatly support a multi-tenant approach — it’s better to run multiple instances.

Speaker: Adam Warski, Chief Technology Officer at SoftwareMill

Our guest speaker at Warsaw Tech Exchange was Adam Warski, a co-founder of SoftwareMill. 

Adam’s involved in open-source projects, such as sttp, tapir, Quicklens, and ElasticMQ, and has been a speaker at major conferences, including JavaOne, LambdaConf, Devoxx, and ScalaDays.

Apart from writing closed and open-source software, Adam reads up on various (functional) programming-related subjects in his free time. And any ideas or insights usually end up on the SoftwareMill blog

Presentation topic: Delivering: from Kafka to web sockets

Presentation overview: Many modern microservice deployments use Kafka as a messaging backbone, using the streaming system for asynchronous communication. This requires integrating with several data sources and data sinks. 

Websockets can be one such component. There are a couple of possibilities as to how one can stream data from a Kafka topic — where data is divided into a relatively small number of partitions to a potentially huge number of users connected via websockets. 

When designing this interface, you need to keep in mind the overall complexity of the architecture and its scalability and resiliency.

Three presentation takeaways:

  1. Kafka is a viable choice when it comes to distributing data to websockets, allowing analytics and audit on sent messages, but also bringing some architectural challenges;

  2. To provide scalability and resilience, an intermediate component which redistributes messages from Kafka partitions to Websocket edge nodes is necessary;

  3. Kafka can also be used to back-propagate ephemeral client-websocket edge node assignment information. 

If you’d like to hear about these topics in greater detail, check out the full recording of the event below!


Recent posts