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

Chief Data Engineer @PayPal

Sid Anand currently serves 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 @ 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 spends time with his wife, Shalini, and their 2 kids.

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

Tracks

  • Architectures You've Always Wondered About

    Hard-earned lessons from the names you know on scalability, reliability, security, and performance.

  • Machine Learning: The Latest Innovations

    AI and machine learning is more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice.

  • Kubernetes and Cloud Architectures

    Practical approaches and lessons learned for deploying systems into Kubernetes, cloud, and FaaS platforms.

  • Evolving Java

    JVM futures, JIT directions and improvements to the runtimes stack is the theme of this year’s JVM track.

  • Next Generation Microservices: Building Distributed Systems the Right Way

    Microservice-based applications are everywhere, but well-built distributed systems are not so common. Early adopters of microservices share their insights on how to design systems the right way.

  • Chaos and Resilience: Architecting for Success

    Making systems resilient involves people and tech. Learn about strategies being used, from cognitive systems engineering to chaos engineering.

  • The Future of the API: REST, gRPC, GraphQL and More

    The humble web-based API is evolving. This track provides the what, how, and why of future APIs.

  • Streaming Data Architectures

    Today's systems move huge volumes of data. Hear how the innovators in this space are designing systems and leveraging modern data stream processing platforms.

  • Modern Compilation Targets

    Learn about the innovation happening in the compilation target space. WebAssembly is only the tip of the iceberg.

  • Leaving the Ivory Tower: Modern CS Research in the Real World

    Thoughts pushing software forward, including consensus, CRDT's, formal methods & probabilistic programming.

  • Bare Knuckle Performance

    Crushing latency and getting the most out of your hardware.

  • Leading Distributed Teams

    Remote and distributed working are increasing in popularity, but many organisations underestimate the leadership challenges. Learn from those who are doing this effectively.

  • Full Cycle Developers: Lead the People, Manage the Process & Systems

    "Full cycle developers" is not just another catch phrase; it's about engineers taking ownership and delivering value, and doing so with the support of their entire organisation. Learn more from the pioneers.

  • JavaScript: Pushing the Client Beyond the Browser

    JavaScript is not just the language of the web. Join this track to learn how the innovators are pushing the boundaries of this classic language and ecosystem.

  • When Things Go Wrong: GDPR, Ethics, & Politics

    Privacy, confidentiality, safety and security: learning from the frontlines, from both good and bad experiences

  • Growing Unicorns in the EU: Building, Leading and Scaling Financial Tech Start Ups

    Learn how EU FinTech innovators have designed, built, and led both their technologies and organisations.

  • Building High Performing Teams

    To have a high-performing team, everybody on it has to feel and act like an owner. Learn about cultivating culture, creating psychological safety, sharing the vision effectively, and more

  • Scaling Security, from Device to Cloud

    Implementing effective security is vitally important, regardless of where you are deploying software applications.