XConf 2021 | Online

June 9, 2021

June 9, 2021

9:30 AM To 6:00 PM

Online: BST (UK)



Event Description

XConf is our annual technology event created by technologists for technologists who care deeply about software and its impact on the world.

What is XConf? XConf is created by technologists for technologists, for people who care deeply about software and its impact on the world.

Join us virtually on Wednesday, 9th June for our one-day, two track conference and hear from technologists about their first-hand experience with emerging technologies and insights on technical trends.


Wednesday, June 9 | 9:30am BST, 10:30am CEST


Optimising airports and making whisky: breakthroughs in applying data science to business initiatives – Jarno Kartela and Maria Pusa

Applied data science is becoming a first-class citizen in modern businesses. We are moving from AI hype to practical, extremely valuable solutions that unlock growth, increase efficiency, support strategic decision making and even help to drive creativity. In this talk, we’ll take a close look on how modern technology changes the very core of how businesses are run and how some of these solutions are actually built.

Track one

Surviving continuous deployment in distributed systems – Valentina Servile

Most of us have read about Trunk Based Development, Continuous Deployment and Microservices. Maybe even convinced our stakeholders it was time to put them into practice. But what does the day to day life of developers look like at the end of the journey?

As each change we make goes immediately to production and has the potential to affect a complex web of services, it is time to evolve the day to day way we release our software. At ThoughtWorks we’ve been facing these challenges with many of our enterprise scale clients. In this talk I want to share our approach to incremental, safe releases.

Front-end state management with Xstate – Amy Pellegrini

In recent years we’ve seen the types of applications and the architectural environments in which we work become more heavily reliant on data in myriad forms. The data itself goes far beyond simple persistence stores to include streaming operational and business events, massive data lakes, legacy silos and distributed networks of democratised data products. This has changed the tools and platforms we use to build applications while at the same time, reinforcing timeless engineering practices. We’ll discuss these concepts and more and take a look at where things might be going in years to come.

JVM: Internal details that you thought you didn’t need – Anupriya Johari and Rahul De

We as users of the Java Virtual Machine via Java, Clojure or any of the other languages often take this thing for granted. The 25 years that went into making this beast has created something that is truly wonderful and this talk is about knowing not only how to drive the car but also how it works. We truly believe that would make us better drivers. Let’s delve into the details of what makes this the most widely used platform, the sophisticated just in time compilation system and the new upcoming features like the Project Loom and the GraalVM.

Building reliable data pipelines without access to real data – Arne Laponin

Constructing systems that move data from one place to another, also called data pipelines, rely heavily on developers taking into account the intricacies of the data they are planning on moving. One of the common risks across all data pipeline projects is not having access to realistic or production data. This talk will be about how we have been mitigating this risk at a project I have worked on. Our actions have centred around thoroughly testing our system and making sure the system catches unexpected data and is able to recover from it. It has led us to question how does one strike a balance between generating big amounts of synthetic data and testing everything in the system vs delivering business value at a reasonable pace.

Overheard in Infra; conversations about building software – Chris Shepherd and Poppy Rowse

When creating infra products, organisations tend to forget about product thinking and Agile ways of working. In this session we will role play a series of conversations we’ve heard when building infrastructure products including the classic “we don’t need to do a discovery, we already know what we’re going to build”. We’ll dissect a bunch of different themes and ideas and hopefully propose some better ways to ensure you’re building the Right Thing for the Right People.

Data pipelines for creating seamless data stores – Dexter Barnes and Martin McCaffery

A case study of gathering a variety of types of data from multiple third party sources, translating it into the business domain and making it available to multiple customers. We used Lambdas, Glue Jobs, Kinesis Streams and more to collect and translate batches, streams and aggregated stores of data into flexible resources that could be searched seamlessly by the business for a range of purposes.

Track Two

Taming the Infrastructure Beast with Application Design Concepts – Rahul Punjabi and Katja Bensiek

Cloud platforms start off with a few resources and a simple codebase. As they grow, scaling for multiple customers often introduces an abundance of complexity that may be hard to reason about and maintain. Conversely, starting with sophisticated ready made solutions can make it difficult to introduce changes and understand their impact. In this talk, we’ll introduce how architectural patterns and refactoring strategies inspired by application design can be used even by small teams to scale out cloud platforms while managing complexity – all through continuous integration pipelines.

What if your databases never forgot – a story of time travel – Rahul De

All major mainstream databases are update in-place and have a notion of NOW rather than a progression of time. They are supposed to be a reflection of real life, but are they really? When you save a Customer and their address changes, does that mean they never used to live at the old place? What if your DB started behaving like a git repo instead and recorded each change as a series of changes or facts? What if you could time travel in the DB and look back at any point of time? And do it with the similar performance as any of the usual DBs? What if CRUD isn’t the right way of thinking of DBs? Let’s discuss about DBs which make this possible and not only radically change your thought process about data and facts but also simplify everything around the DB: the app, the infra and the monitoring tooling! Let’s be functional at the disk too and not just the app.

MVVM is not an architecture – Mihai Mecea

A lot of materials on the internet are praising MVVM as an architectural solution for mobile apps. While MVVM might work for smaller applications it is just a presentation pattern and it will quickly show its limits if used alone once your application starts evolving and the size of the team working on it grows. My personal records using this approach in the past for developing Android applications clearly show that you will hit the limit quite fast and you need a broader architectural approach to make your code evolvable and maintainable over time. The goal of this talk is to explore together how MVVM fits into the bigger picture of Clean Architecture and how a minimal approach to implementing this would look like.

Thinking in Types – Kjeld Schmidt

Whether your programming language of choice forces you to be specific about types or not, they ultimately still matter in the runtime. By thinking about the types and signatures even in weakly-typed languages and using automated checking tools, you can establish types as another fast and automated part of your testing strategy.

Perfect, the enemy of good – taming perfectionism with evolutionary design ​- Emily Karungi and Mihaela Pascuta

As developers, we want to write good quality code that delivers value to our clients. But often, we are forced to take certain design decisions that may not be the best for the future, in order to go to production as soon as possible and receive fast feedback, hence creating tech debt. But is tech debt bad? For teams that do not do trunk based development, often tech debt is a hindrance to deploying a feature to production as soon as possible due to prolonged pull request discussions brought about by some code design decisions made. Changing how we view tech debt could save the business a lot of money by going fast to production and allowing teams to start doing things. This approach avoids the analysis paralysis effect of finding perfection from the start. Bearing in mind that in an agile world, architectures and software requirements change. Tech debt can be handled in an evolutionary way (making a design decision in the last responsible moment) meaning regardless of what we think fits for the software in future, we postpone the decision for when the need arises, but document it (to keep track of it) and prioritise it as we see best. The goal of this talk is not to encourage teams to accumulate tech debt, but rather why tech debt should not be a blocker for a release or going to production. Tech debt is always there, teams have to be aware of it and learn how to manage it.

Lightweight state management in a micro-frontend architecture – Andrei Bechet and Jann Deterling

As our applications grow larger and larger, state management becomes a delicate topic, especially when several pages need to maintain and share a global state. This problem deepens when such applications are split into micro frontends and become more independent from one another. Keeping the global state to a minimum becomes imperative in order to avoid coupling them tightly with shared code dependencies or even worse with yet another framework. This talk outlines challenges one might face employing a global state and discusses solutions on how to overcome these challenges in order to build decoupled and independent micro frontends.

Closing Keynote

Music-as-code performance – Chris Ford

You’ve spent all day wrestling with better ways to write code. You’ve listened to enthusiastic software practitioners discuss the latest developments in backends, frontends, data and infrastructure. Now sit back and relax as Chris live codes some music and streams it across the internet for your listening pleasure

The way it works is that Chris will write little functional programs in Clojure that define melodies, chords and beats. He’ll edit the code as it’s executing, producing progression, variation and very possibly a NullPointerException or two. But all you have to do is watch and listen. (And along the way he hopes to make the keytar cool again)

Unsure what to expect from the conference? Check out our previous XConf talks on our YouTube channel.




About the Organizers

We're a global technology consultancy. We help you invent what's next, and bring it to life with technology. In weeks, not years.

Visited 5 times, 1 Visit today