Presentation: Software Is Eating the World, ML Is Going to Eat Software
Share this on:
Abstract
"Democratizing ML" is a hot topic these days - particularly in industry. Efficiency, composability and accessibility of machine learning technology are active areas of investment for many research and product groups. Unfortunately, while machine learning has the potential to fundamentally improve how software is constructed, opportunities to leverage machine learning to improve more conventional developer tools (languages, compilers, and IDEs for example) have largely gone untapped.
At Facebook we see an opportunity in this challenge. Our Developer Infrastructure team is on a mission to fundamentally rethink and retool Facebook's developer toolchain by applying machine learning at every layer in our stack. Our goal is to make our developers more productive, and our processes and infrastructure more efficient, by deeply integrating ML into our programming languages and developer tools (such as IDEs, version control, or continuous integration systems) in novel ways.
This talk will detail the work our team has done to improve developer efficiency and resource utilization at Facebook - from updating the Hack programming language to support probabilistic programming techniques, to developing a new suite of AI-driven developer tools. I'll describe the lessons we've learned along the way, as well as future opportunities we see to optimize or auto-tune other common pieces of developer infrastructure
Similar Talks
Tracks
-
Microservices: Patterns & Practices
Evolving, observing, persisting, and building modern microservices
-
Developer Experience: Level up Your Engineering Effectiveness
Improving the end to end developer experience - design, dev, test, deploy, operate/understand. Tools, techniques, and trends.
-
Modern Java Reloaded
Modern, Modular, fast, and effective Java. Pushing the boundaries of JDK 9 and beyond.
-
Modern User Interfaces: Screens and Beyond
Zero UI, voice, mobile: Interfaces pushing the boundary of what we consider to be the interface
-
Practical Machine Learning
Applied machine learning lessons for SWEs, including tech around TensorFlow, TPUs, Keras, Caffe, & more
-
Ethics in Computing
Inclusive technology, Ethics and politics of technology. Considering bias. Societal relationship with tech. Also the privacy problems we have today (e.g., GDPR, right to be forgotten)
-
Architectures You've Always Wondered About
Next-gen architectures from the most admired companies in software, such as Netflix, Google, Facebook, Twitter, Goldman Sachs
-
Modern CS in the Real World
Thoughts pushing software forward, including consensus, CRDT's, formal methods, & probalistic programming
-
Container and Orchestration Platforms in Action
Runtime containers, libraries, and services that power microservices
-
Finding the Serverless Sweetspot
Stories about the pains and gains from migrating to Serverless.
-
Chaos, Complexity, and Resilience
Lessons building resilient systems and the war stories that drove their adoption
-
Real World Security
Practical lessons building, maintaining, and deploying secure systems
-
Blockchain Enabled
Exploring Smart contracts, oracles, sidechains, and what can/cannot be done with blockchain today.
-
21st Century Languages
Lessons learned from languages like Rust, Go-lang, Swift, Kotlin, and more.
-
Empowered Teams
Safely running inclusive teams that are autonomous and self-correcting