You are viewing content from a past/completed QCon

Track: Modern CS in the Real World

Location: Mountbatten, 6th flr.

Day of week: Wednesday

Rediscover CS in this applied track on how research is affecting software today.

Track Host: Sid Anand

Hacker at Large, Co-chair @QCon & Data Council, PMC & Committer @ApacheAirflow

Sid Anand recently served as PayPal's Chief Data Engineer, focusing on ways to realize the value of data. Prior to joining PayPal, he held several positions including Agari's Data Architect, a Technical Lead in Search & Data Analytics @ LinkedIn, Netflix’s Cloud Data Architect, Etsy’s VP of Engineering, and several technical roles at eBay. Sid earned his BS and MS degrees in CS from Cornell University, where he focused on Distributed Systems. In his spare time, he is a maintainer/committer on Apache Airflow, a co-chair for QCon, and a frequent speaker at conferences. When not working, Sid enjoys spending time with family and friends.

10:35am - 11:25am

Using Randomized Communication for Robust, Scalable Systems

Three key needs that any distributed system must address are discovery, fault detection, and load balancing among its components. Satisfying these needs in a robust and scalable manner is challenging, but it turns out randomized communication can help with each of them. In this talk, we will examine the evolving use of randomized communication within HashiCorp’s Consul, a popular service mesh solution. Along the way we will consider how to evaluate academic research for production use, and what to do when your real-world deployment goes beyond the researchers’ assumptions. Our experience with Consul and other HashiCorp tools is that the overhead of consuming research is worthwhile, and that practitioners can engage the research community and make a meaningful contribution to advancing the state of the art.

Jon Currey, Director of Research @HashiCorp

11:50am - 12:40pm

Automated Test Design and Bug Fixing @Facebook

The talk describes the deployment of Sapienz, a system for automated test case design that uses Search Based Software Engineering (SBSE) that has been deployed at Facebook since October 2017 to design test cases, localise and triage crashes to developers and monitor their fixes. It also describes SapFix, a system for automated fix design and deployment.  Facebook continues to build on the Sapienz infrastructure, extending it to provide other software engineering services and we hope this will yield sustained interest in SBSE and hybridisation of it as a result. Finally, the talk also outlines some open problems and challenges, based on our experience of deploying Sapienz at Facebook scale.

Nadia Alshahwan, Software Engineer @Facebook

1:40pm - 2:30pm

Automatic Clustering At Snowflake

For partitioned tables, maintaining good clustering properties for frequently filtered dimensions is critical for partition pruning and query performance. Naive methods of maintaining good clustering is usually expensive, especially when the clustering dimensions are different from the natural dimension with which the data is loaded. Usually the tradeoff between cost of reorganizing the data and benefit on the query  time taper off after a certain point. Approximate clustering is cheaper to maintain while still resulting in good pruning performance. In this talk, I will present Snowflake’s clustering capabilities, including our algorithm for incremental maintenance of approximate clustering of partitioned tables, as well as our infrastructure to perform such maintenance automatically. I will also cover some real-world problems we run into and our solutions.

Prasanna Rajaperumal, Developer @SnowflakeDB

2:55pm - 3:45pm

Using Quantum Computers to Simulate Chemistry

Quantum computing is unmistakably becoming a thing. With IBM’s announcement of their quantum computing cloud service at CES in January and Google’s announcement last year of their 72-qubit Bristlecone processor, suddenly quantum computing seems to be entering into the Enterprise. In this talk, Peter will show how quantum computers can be used to simulate chemistry with applications in drug discovery, material science and industrial processes. After briefly introducing the topic of quantum chemistry, he will demonstrate modeling physical systems via a code walkthrough using the IBM Qiskit quantum computing framework. In particular we will use Qiskit Aqua, a library of cross-domain quantum algorithms upon which applications for near-term quantum computing can be built. Aqua is designed to be extensible, and employs a pluggable framework where quantum algorithms can easily be added. It currently allows the user to experiment on chemistry, AI, optimization and finance applications for near-term quantum computers.

Peter Morgan, AI Community Leader & Founder and CEO Deep Learning Partnership

4:10pm - 5:00pm

Functional Composition

Marc Andreessen famously observed that "software is eating the world". As an increasing proportion of our culture becomes codified (literally), we need to consider how to authentically express theory and insights from diverse fields in our software. This must account for domains besides business process automation, because information technology impinges on every area of our lives, not just commerce.


Music is an excellent domain to explore using programming, because it has a long history of pre-computational notation and is culturally vital. In this talk Chris will demonstrate that music theory can be delightfully represented as code. He will show how to make music starting with the basic building block of sound, the sine wave, and will gradually accumulate abstractions culminating in a canon by Johann Sebastian Bach.


Examples will be live-coded in Clojure, but no prior knowledge of Clojure or Lisp is required.

Chris Ford, Technical Principal @ThoughtWorksESP

Last Year's Tracks