14 July 2016 | Manchester

The Hive
51 Lever Street
Manchester M1 1FN

A conference ALL about technology

XConf is a one-day conference that showcases the latest thinking from ThoughtWorks and friends on a broad range of technology topics. XConf provides a platform for passionate technologists in Hamburg and Manchester who are looking for inspiration and a chance to network with their peers. There will be two tracks and more than 10 talks 

Keynote: James Lewis

There will also be plenty of time for discussions and networking. 

Questions? Email Kmanthei@thoughtworks.com

Click here for our Code of Conduct

Registration & Tickets

In order to confirm your space at the conference please don't forget to buy your ticket!

£50 - Full price

*20% VAT will be included at checkout

Attended XConf before? You should have received an email with a promo code to receive 20% off your ticket price.

Purchase your tickets here

Presentations


Blockchain powered peer-reviewed journal

Max Edwards

An introduction to blockchain and smart contracts on the Bitcoin and Ethereum networks. Commonly, blockchain is applied to financial use cases, however in this talk we will investigate how the rules of peer review could be codified on chain to create a transparent and fully automated journal.


Implementing Infrastructure as Code

Kief Morris

Infrastructure as Code (IaC) is the "A(utomation)" in the DevOps "CALMS" model. It treats dynamic infrastructure as a software system, which means development tools and agile practices like TDD, CI, and CD can be used. Most development and operations teams are making at least some use of IaC tools such as cloud, Chef, Puppet, Ansible, Terraform, etc. But not many are using them to their full potential. This talk explains some of the core challenges of managing infrastructure in a fully automated way, and shares principles and patterns for addressing them. The talk walks through a number of patterns for implementing IaC tools such as AWS, Chef, Puppet, Ansible, and Terraform, to build a change management pipeline to automatically test and apply configuration to infrastructure. The patterns are not tool-specific, so should be useful for any team using these types of tools. Attendees should come away with an understanding of how concepts such as Continuous Integration (CI), Continuous Delivery (CD), Test Driven Development (TDD) can be applied to infrastructure.


Containerizing a web shop - Building the microservice platform for otto.de

Florian Sellmayr

Over the last two years, OTTO started to move towards a microservice architecture for one of Europe's largest online shops and needed a platform to build on. This talk is about the strategies and lessons learned in using the Mesos ecosystem to build a system that encourages autonomous delivery teams and provides infrastructure that's rock-solid, available 24/7 and scales to a million visits per day.


Alert overload: How to adopt a MS architecture without being...

Sarah Wells

You’ve heard all about what microservices can do for you. You’re convinced. So you build some. Reasoning about your functionality is way easier: these services are so simple! Then you get to the point where you have 35 microservices, and all the monitoring and alerting tactics you used for your monoliths are a complete disaster. Something needs to change - but what and how?

Serverless Architecture - Tales from a world without servers

Robin Weston

Serverless architectures have been touted as the next evolution of cloud-hosted software. Indeed, the promise of resiliency and scalability without the need for infrastructure management sounds too good to be true!

But what exactly does a serverless architecture look like? And what are the trade-offs to weigh up when considering using one on your next project?

This presentation will give an introduction to the world of serverless architectures. We’ll look at their benefits and drawbacks, the existing tooling and service ecosystems, as well as learnings taken from our usage of AWS Lambda and API Gateway on a recent project.

A High-Performmance Solution to Microservice UI Composition

Moritz Heiber

So you have decided to go for microservices and you want to achieve maximum autonomy for your teams. However, at the front end your services still have to be joined into a single page.
Here you have two options: Either have a single UI layer which all teams depend on or let each service render its own UI and compose these UI pieces later on.

In the course of moving the Autoscout24 platform - one of Europe’s leading internet car portals - to an AWS-hosted microservice architecture, we favored autonomy over centralization and therefore decided to go with the UI Composition approach. During this process we were faced with all the challenges UI Composition entails, such as performance, consistency, isolation, and testing.

This tells the story of our UI composition evolution, how we failed in the very beginning and how we are now serving millions of requests per second, composed dynamically and optimized on the fly.

Scala the Good Parts: How to ramp up a team in Scala

Susie Marshall

Are you thinking about using Scala on a project but not sure if it’s the right choice? In this talk I will explain why I like Scala and why a transition from more traditional OO programming languages such as Java or .Net to Scala is not such a scary prospect if you go about it in the right way. Recommendations will range from how to organise your teams to which language constructs to avoid.

50,000 Lines to Brew a Coffee

Philip Peter & Jan Riehn

We are used to agile software development. The tools and methods to thrive towards continuous delivery are mature. We can spin up environments in minutes,
test our software automatically and deploy to production with a single click.

Connected devices bring a new layer of complexity to a project.

Hardware prototypes evolve in much longer cycles than the software. Automated testing becomes a challenge when user flows spread across multiple devices and
involve human interaction. Environments for continuous integration suddenly move back from the cloud to real devices on our desks.

This talk is about the lessons learned from real life projects that builds a system around a connected consumer device. The goal is to highlight some of the
challenges and our approaches to tackle them. There are patterns evolving that are a good guidance for other projects.

Dependency injection in functional programming?
Duana Stanley

In a world without classes and objects, where functions rely on other functions, how do we manage dependencies? Is Dependency Injection a problem functional programming doesn't have? I will share insights from structuring and testing a microservice in a functional way using a hybrid language, Scala, and mention the functional dependency-passing techniques I’ve since become aware of. This talk is for those interested in the transition to FP from OO and those always up for a hearty discussion around DI and clean code.



Agenda

9.00am - 9.30am

Registration


9.30am - 9.45am

Welcome


9.45am - 10.45am

Keynote: James Lewis


10.50am - 11.35am

Containerizing a web shop - Building the microservice platform for otto.de
- Florian Sellmayr
Scala the Good Parts: How to ramp up a team in Scala
- Susie Marshall

11.35am - 11.50am

Break


11.50am - 12.30pm

Implementing Infrastructure as Code
- Kief Morris
Dependency injection in functional programming?
- Duana Stanley

12.30pm - 1.30pm

Lunch


1.30pm - 2.20pm

A High-Performmance Solution to Microservice UI Composition
- Moritz Heiber
Blockchain powered peer-reviewed journal
- Max Edwards

2.20pm - 3.05pm

Serverless Architecture - Tales from a world without servers
- Robin Weston
50000 lines to brew a coffee
- Jan Riehn & Philip Peter

3.05pm - 3.20pm

Break


3.20pm - 4.00pm

Alert overload: How to adopt a MS architecture without being…
- Sarah Wells
Teaching kids to code taught me everything I know about Bluetooth Low Energy
- James Sheppard

4.15pm - 5.00pm

Open Space


from 5pm

Close & Networking

Speakers

James Lewis

Principal Consultant, ThoughtWorks

James has been working at ThoughtWorks for nearly a decade. He joined back in 2005 as a developer. He's had about 8 years experience prior to that point but he still remembers feeling like an imposter for the entire first year. Since then, he's learnt more than he ever thought possible about how to build software from some of the most genuine, enthusiastic people he's met.

These days he's primarily interested in building distributed systems using web technologies. He's been a keen observer (and participant) in the resurgence of interest in SOA and you can often find him being a loud mouth at conferences, usually on some aspect of building microservices. He's also been known to give his opinions on lean software engineering, domain driven design, organisational design and innovation. 

Oh, and Welsh rugby.

Kief Morris

Cloud Specialist, ThoughtWorks

Kief enjoys helping ambitious organisations to harness disruptive ideas in software delivery and operations. These days this includes cloud platforms, infrastructure automation, DevOps, and Continuous Delivery. Originally from Tennessee, Kief has been been building teams to deliver software as a service in London since the dotcom days. He is currently finishing a book on Infrastructure as Code for O'Reilly Publishing.

Max Edwards

Developer, ThoughtWorks

Developer at Thoughtworks with over a decade's experience in industry. He has worked with all platforms and is fond of Python and Clojure. Currently, working on expanding the blockchain working group within ThoughtWorks UK. Tweets at @maxwedwards

Moritz Heiber

DevOps Consultant, ThoughtWorks

Moritz serves ThoughtWorks as an DevOps Birth Assistant, a shepherd for clients and their hardware and software projects, consulting on infrastructural and operational challenges in distributed computing environments using the power and the values behind the idea of DevOps with the help of focused collaboration, cross-functional teams and pair programming.

He loves building things on Linux, especially in clouds, likes reliable infrastructure as code, descriptive provisioning tools and statically typed programming languages and he sees it as his destiny to help people achieve serenity through using DevOps.

His purpose in life seems to be trying to outsmart computers. He’s really bad at it most of the time.

Florian Sellmayr

Consultant Developer, ThoughtWorks

As a consultant at ThoughtWorks Hamburg, he works in software development and platform engineering, focusing on continuous delivery of large scale, critical software projects.

Duana Stanley

Back End Engineer, SoundCloud

A pragmatic polyglot and primarily backend engineer. The last 4 years at SoundCloud she built microservices in Ruby, Node.js and Scala. In a recent project to extract logic from a Rails monolith into a Scala microservice, she experimented with modelling flows in a functional way. She has long been an activist for greater representation of women in technology and coaches at Rails Girls and Open Tech School.

Sarah Wells

Principal Engineer, Financial Times

A principal engineer at the Financial Times, currently working on building a semantic publishing platform, providing access to all the FT’s published content and metadata via APIs. She's more Dev than Ops but definitely shifting.

Susie Marshall

Senior Consultant, ThoughtWorks

Susie Marshall is a senior consultant at ThoughtWorks. With four years experience as a developer she has consulted on several technology transformations that have taken our clients on journeys from monoliths to microservices, from in-house hosting to the cloud and from Java and .Net to Clojure and Scala.

Robin Weston

Developer, ThoughtWorks

Robin has worked in technology for over 10 years and has been at ThoughtWorks since 2014. He cares passionately about helping deliver value to clients through simple, effective software. Away from work he spends his time running long distances for no particular reason, planning murder mystery treasure hunts and continually pinching himself to check that Leicester City really did win the Premier League.

Dr. Arif Wider

Senior Consultant, ThoughtWorks

Dr. Arif Wider is a senior consultant and developer at ThoughtWorks Germany, where he builds scalable web applications, teaches Scala, and consults on Big Data topics. Before joining ThoughtWorks he has been in research with a focus on data synchronisation, bidirectional transformations and domain-specific languages.

Philip Peter

Software Developer, ThoughtWorks

Philip is a software developer with experience in both web applications and hardware projects. In his spare time he likes to design electronic circuits and build mechanical things. One of his current ambitions is to transfer the ideas of test-driven development and continuos integration to hardware development projects.

Jan Riehn

Software Developer, ThoughtWorks

Jan is a software developer with hands on experiences in large-scale and distributed applications with a soft spot for mobile development.
When he joined ThoughtWorks, exploring new languages, frameworks and technologies became a passion for him.  Jan has always been driven by lean and agile principles, spending his time and energy learning things that he doesn't know about software development.