Lessons Learned from the Real World of Software Engineering


Details
Hi!
We are glad you are landing on this page! Two very experienced Software Engineers have collected their experiences and are eager to share them with the rest of the world, hoping to transfer knowledge and help others learn.
Agenda for the evening
6:30 pm - Guests arrive
6:35 pm - Welcoming words and Meet-up kick off
6:40 pm - Using ElasticSearch for Mutable Data & Lessons Learned from “Changing” the Indexing by Ivo Stratev
7:10 pm - Short break
7:15 pm - Shadow & Ship: A Guide to Building and Migrating Live Multi-Service Architectures by Strashimir Rashev
7:45 pm - Networking and pizza
More about the talks
Talk #1
Title: Using ElasticSearch for Mutable Data & Lessons Learned from “Changing” the Indexing
Speaker: Ivo Stratev, Software Engineer
Summary:
ElasticSearch is an open-source distributed search engine that was built for indexing and searching immutable data. The Software engineering team behind the Chuck robot in Ocado Technology uses it as the main data storage system that powers our customers operations portal.
And before you ask - No! Postgres was incapable of handling our data volume. And maybe you guessed it but the data that we store in ElasticSearch changes.
And yes, ElasticSearch does support mutable data and can be made to work with it. However, when you want to change the indexing mappings with zero down time you sign up for challenges and you are on your own.
Our team learned many lessons doing just that and we are eager to share them in order to keep others from everything we went through.
If you are curious to find out how we use ElasticSearch for data that changes and what problems we hit while changing some of our indexing mappings join us in this Meet-up!
~~~~~~~
Talk #2
Title: Shadow & Ship: A Guide to Building and Migrating Live Multi-Service Architectures
Speaker: Strashimir Rashev, Senior Software Engineer
Summary:
Your fancy new re-architecture just got greenlit? Looks amazing, doesn't it—clear domain boundaries, modern tech, robust tooling. Now, how do you ensure the real world doesn't crash head-first into it?
This talk will not be about system design or domain modelling. It won’t teach you how to make your services scalable or well decoupled. This is about what happens afterwards - after the diagrams are created, the vision is defined, the initiative has started - when you are staring out the window and wondering - where do I even start?
We’ll share our story - a story still being written - about the various business, organizational and, of course, technical challenges we met along the way.
We’ll talk about how we used techniques like:
- dark launches;
- shadowing;
- and canary rollouts…
…in order to de-risk the initiative.
A lot of lessons were learned while building and releasing broad changes across our live, multi-service systems with no downtime and (almost) no incidents.
Hopefully by the end you’ll be equipped with the tools and knowledge to start your own journey towards your perfect vision - even in a world as allergic to perfection as ours.
~~~~~~~
Networking
After the talks, we'd love to meet everyone and enjoy a night of pizza & the perks.

Lessons Learned from the Real World of Software Engineering