GOTO Chicago 2019
Talks
Vue and You
We'll discuss the Vue framework and why some organizations are choosing it over other popular frameworks. Including some history of javascript and the pain points of the early days, we will take a journey to this moment where another framework is ...
Matt Danforth
JavaScript
Vue.js
All The World’s A Staging Server
I have sad news - staging is a lie and will never be identical to production, because production is unknowable. Trying to replicate it is often prohibitively expensive. But I also have good news - production can contain multitudes, including feat...
Heidi Waterhouse
Software Architecture
Code + AI: Will Robots Take Our Coding Jobs? ML Applied to Programming
Machine learning is permeating every facet of our lives, from learning our preferences to self-driving cars, but what happens when you apply neural networks to code? How do you even view code as data? The key ideas are easy to summarize and fun to...
Stephen Magill
Machine Learning
Better Spotify Playlists through Music Theory & Discrete Optimization
I am a Spotify addict, former DJ, amateur musician, and professional software engineer. I take special pride in making expertly-curated playlists for myself and friends. It takes a lot of time and energy to set the right mood and tone, and even mo...
Cedric Hurst
Deliver Results, Not Just Releases: Control & Observability in CD
How do companies like Netflix, LinkedIn, and booking.com crush it year after year? Yes, they release early and often. But they also build control and observability into their CD pipeline to turn releases into results. Progressive delivery and the...
Dave Karow
DevOps
Observability, Distributed Tracing & the Complex World
In a world of increasingly complex architectures and environments, the concept of observability has emerged to provide tools to watch over the apps and architectures. With new focus on monitoring and alerts, tools are presenting levels of informat...
Dave McAllister
Kubernetes
Microservices
Getting Started with Quantum Programming
A Quantum Computer is a new type of computer that uses quantum mechanics to run certain algorithms exponentially faster than their classical equivalents. These quantum algorithms typically use phenomena such as superposition, the ability for a qua...
Guen Prawiroatmodjo
Quantum Computing
Role of App Integration in Cloud Native & Microservices Landscape
Integration of APIs, services, data, and systems have long been the most challenging yet most essential requirement in software application development. These disparate applications were integrated using point to point style, and later with the ES...
Kasun Indrasiri
Microservices
Welcome to Serverless 2.0
This talk from the creator of OpenFaaS and CNCF Serverless workgroup member Alex Ellis explores what hype actually means for our industry and why it matters so much for serverless right now. You’ll learn why ThoughtWorks says multi-cloud portabili...
Alex Ellis
Serverless
Securing the JVM
Consider a Java application in a private banking system. A new network administrator is hired, and while going around, he notices that the app is making network calls to an unknown external endpoint. After some investigation, it’s found that this ...
Nicolas Frankel
Java
Security
Not Just Events: Developing Asynchronous Microservices
The microservice architecture functionally decomposes an application into a set of services. Each service has its own private database that’s only accessible indirectly through the services API. Consequently, implementing queries and transactions ...
Chris Richardson
CQRS
Microservices
Depression and Burnout: the Hardest Refactor I’ve ever done
When I relocated to San Francisco in 2011, I didn't know much about mental health. My solid background in computer science didn't prepare me to fend off the depression that unfortunately affected both my personal and professional life for several ...
Jérôme Petazzoni
ReasonML: React as a Language and what the Future looks like
ReactJS took the world by storm just a few years ago, but do you know what the original creator of React's intent was? You'll find out :) Reason is a programming language created by the creator of ReactJS for developers to build bullet-proof apps ...
Peter Piekarczyk
Fight, Flight, or Freeze — Releasing Organizational Trauma
When humans are faced with a traumatic experience, our brains kick in with survival mechanisms. These mechanisms are the familiar fight or flight response, but can also include the freeze response - which occurs when we are terrified or feel that ...
Matt Stratton
Disrupting QA – Emerging Trends in Code Quality Automation
Historically, static analysis has been widely used to identify defined sets of security issues via overnight runs across entire code bases. A recent trend has been the evolution of static analysis methods and tools to: 1. become much more scalabl...
Stephen Magill
Testing
Raising a Coder in an Educational Maelstrom: Advice & Lessons Learned
Basic computer skills are a must, but knowledge of computer programming has become even more in demand. To get children involved with technology at an early age will become more and more important in a very near future. When children learn how to ...
Seth Thomson
What Does THIS Button Do? Serverless and IoT
Serverless is cool. IoT is cool. Put them together and you have a whole mess of cool. In this session we are going to explore the coolness of IoT and serverless working together by building an application that utilizes a simple IoT button with a s...
Eric Johnson
Serverless
Achieving Functional Programming in Java
For years, the conventional wisdom around attempting pure functional programming in Java has been "don't", and for plenty of good reasons: lambdas weren't supported until the eighth major release of the language specification, creating value types...
John Napier
Functional Programming
Java
Accelerating Machine Learning DevOps with Kubeflow
Kubeflow is an exciting new technology for enabling data scientists and software engineers to move their models smoothly from development through training and into Production with the same ease that we have come to expect from DevOps technologies ...
Derek Ferguson
DevOps
Kubernetes
Machine Learning
Server-side Kotlin with Coroutines
Kotlin was designed as a general-purpose programming language and with coroutines writing server-side code is a easy as never before on JVM. We'll dissect scalability and reliability problems of a traditional thread-based stacks and discuss the pr...
Roman Elizarov
Kotlin
Fueling the Quantum Application Era with the Cloud
In the past, quantum computing was largely reserved for researchers, physicists, and scientists with direct access to physical quantum computing systems. But the game has changed, thanks to the cloud. Barriers to quantum computing are coming down ...
Murray Thom
Cloud
Quantum Computing
Supersonic, Subatomic Eclipse MicroProfile
What if there was a way you could take advantage of the latest microservice architectures by leveraging the developers and skills you already have? What if you could do that with blazingly fast startup and crazy low memory consumption? In this se...
Scott M Stark
Microservices
Quarkus
Deprecating Simplicity 3.0
When engineering teams take on a new project, they often optimize for performance, availability, or fault tolerance. More experienced teams can optimize for these properties simultaneously. Now add an additional property: feature velocity. Organiz...
Casey Rosenthal
DevOps
Embracing the Future in a Multi-Platform World: A Kotlin Story
So you know Kotlin, but you aren’t sure you’re utilizing it to its full potential across platforms? If you’re not sure about what Coroutines really have to offer or if you want to share your business logic between Android and other platforms, thi...
Sean McQuillan
Android
Kotlin
The Language of Programming
Humans use language to communicate with one another; humans use programming to communicate with machines (or do they?). In this talk we’ll look at the practice and culture of programming from the perspective of linguistics, the scientific study of...
Anjana Vakil
The Soul of Erlang and Elixir
Whether you're developing a small web site or a large-scale distributed system, Erlang and Elixir are great tools for building server-side systems. Both languages can help you start quickly and deal with highly complex problems at a large scale. ...
Saša Jurić
Elixir
Erlang
What Technical Leads Can Learn from Great General Managers
Being a member of a rapidly growing team can feel both exhilarating and overwhelming. Technical decisions become more complicated alongside the growth of the team. Many of us are also thrust into the spotlight of leadership and asked to perform ex...
Courtney Hemphill
Why Open Source Firmware is Important
This talk will dive into some of the problems of running servers at scale with data from surveys and how open source firmware can solve some of those problems. Why is it important for security and root of trust? It will also cover the state of ope...
Jessie Frazelle
Open Source
Security
DevSecOps, Containers & Shift-Left, are those just Buzzwords?
Are you thinking about using Containers? Why should I worry about security? Why is everything Devinsert something hereOps? Isn’t shift left just a fancy way of saying ‘do it earlier’? Let's talk about real life experiences and what are some of the...
Juan Alvarez, James Szubryt
DevOps
Security
Introduction to Quantum Computing
Certain types of problems can take billions of years to solve on our current conventional computers. Quantum computers, however, can solve these types of problems in just seconds. Because of their ‘quantum power’, quantum computers have the potent...
Jessica Pointing
Quantum Computing
Using Kubernetes for Machine Learning Frameworks
Kubernetes provides isolation, auto-scaling, load balancing, flexibility and GPU support. These features are critical to run computationally and data intensive and hard to parallelize machine learning models. Declarative syntax of Kubernetes deplo...
Arun Gupta
Kubernetes
Machine Learning
Adopting gRPC: Overcoming Team and Technical Hurdles
gRPC and Protocol Buffers are becoming industry standards for exchanging data across systems and stitching together micro-services to build scalable applications. But there are barriers for new teams that want to adopt gRPC, such as minimal toolin...
Josh Humphries
Kubernetes
Microservices
gRPC
Journeys To Cloud Native Architecture: Sun, Sea & Emergencies
Many businesses want to embrace modern business practices by delivering projects quickly and scaling faster. For this, adopting a Cloud Native mindset and architecture makes sense but is not a simple magic carpet ride. In this talk, Nicki Watt fr...
Nicki Watt
Microservices
Troubleshooting & Debugging Microservices in Kubernetes
Debugging applications in production is like being the detective in a crime movie. Especially with microservices. Especially with containers. Especially in the cloud. Trying to see what’s going on in a production deployment at scale is impossible ...
Robert Kubis, Ray Tsang
Kubernetes
Microservices
Dynamic Reteaming at Fast-Growing Companies
Team change is inevitable, especially when your company is hiring like crazy and doubling in size. Your teams might grow and split - like mitosis. Twenty people might arrive in one day. What feels like tectonic shifts happen as you morph structura...
Heidi Helfand
The Promise and Limitations of AI
Almost everyone who talks about Artificial Intelligence, nowadays, means training multi-level neural nets on big data. Developing and using those patterns is a lot like what our right brain hemispheres do; it enables AI's to react quickly and – ve...
Doug Lenat
Artificial Intelligence
Machine Learning
AppSec: From the OWASP Top Ten(s) to the OWASP ASVS
Some people are under the misconception that if they follow the OWASP top 10 that they will have secure web applications. But in reality the OWASP Top Ten (and other top ten lists) are just the bare minimum that at best provide entry-level general...
Jim Manico
Security
It Really is Easier to Ask for Forgiveness (than Permission)
It's a Pythonic maxim that "it's easier to ask for forgiveness than permission" and Pythonic code is written with a strong preference for attempting an operation and raising exceptions as needed. This contrasts with many languages which take a "lo...
Naomi Ceder
Python
Without Data, you're just another Person with Opinions
In this talk, we'll talk about data-driven DevOps and how the cross-cutting metrics from dev, QA, and ops can be integrated to provide you and the teams you support with an insight into the status of your engineering organization. As the DevOps E...
Baruch Sadogursky
DevOps
Discovering RESTful Web Microservices: A Traveler's Guide
Navigating the landscape of scalable, resilient Microservices can be tricky. While each service fulfills a different purpose, there are a handful of shared properties of microservices. Knowing what these properties are and how to implement them is...
Mike Amundsen
Microservices
Re-engineering Inclusion
For years now, companies across the tech industry have been releasing dismal diversity reports. We started with the basics: implementing unconscious bias training, hiring heads of Diversity & Inclusion, and pouring funding into Employee Resource G...
Jill Wetzler
Frugal Innovation
Even when located in one of the largest cities on the continent of Africa, we still face many challenges when building software: lack of electricity, little to no connectivity particularly in rural areas, cash-based transactions, lack of an addres...
Betty Enyonam Kumahor
Data-Driven Engineering
Big Data is changing nearly every aspect of our lives. As a software engineer, there’s a good chance you’re already leveraging data to help your end users do their jobs more efficiently, but have you considered how it might help you do your own jo...
Andy Cirillo
Kubernetes Operability Tooling
Artisanally hand-crafting our own container hosting solutions can be a fun learning experience, but for repeatable production use, we want to deploy and manage Kubernetes in a reproducible fashion. Using Azure Kubernetes Service (AKS) with open s...
Bridget Kromhout
Kubernetes
Why You Need a Software Delivery Machine
Many teams have a clear vision of how they want their software delivery to work. For example, what checks and staging deployments should occur on commits; what approval steps are required before promotion to production; what code needs to be inclu...
Rod Johnson
Serverless is the Abstraction We Deserve
Monolithic applications are an anti-pattern, especially when moving to cloud scale deployments. For years, microservices adoption has been tied to containers and more recently to Kubernetes. But moving from pure software development to learning Ku...
Jesse Butler
Kubernetes
Microservices
Serverless
Keep it Clean: Why Bad Data Ruins Projects and How to Fix it
The Internet is full of examples of how to train models. But the reality is that industrial projects spend the majority of the time working with data. The largest improvements in performance can often be found through improving the underlying data...
Phil Winder
Machine Learning
Intro to Empirical Software Engineering: What We Know We Don't Know
There are many things in software we believe are true but very little we know. Maybe testing reduces bugs, or maybe it's just superstition. If we want to improve our craft, we need a way to distinguish fact from fallacy. We need to look for eviden...
Hillel Wayne
Reactive Spring
Microservices and big data increasingly confront us with the limitations of traditional input/output. In traditional IO, work that is IO-bound dominates threads. This wouldn't be such a big deal if we could add more threads cheaply, but threads ar...
Josh Long
Microservices
Spring
Principles for Developing More Secure Systems
Security can be scary – regardless if you've been coding for a few months, years or decades. In this talk, we'll walk you through a useful set of tools for thinking about system security, regardless of what kind of system you're building. While y...
Eleanor Saitta
Security
Kotlin: Dissecting the stdlib
One of the best places to learn idiomatic Kotlin is the stdlib. Now I don’t mean just using the stdlib but going to the source, literally. In this session, we’ll look at some of the methods and tools inside the stdlib and dig into how they’re wri...
Huyen Tue Dao
Functional Programming
Kotlin
On the Road to Artificial General Intelligence
Danny Lange will demonstrate why a game engine is the perfect virtual biodome for AI’s evolution. Attendees will recognize how the scale and speed of simulations is changing the game of AI while learning about new developments in reinforcement lea...
Danny Lange
Artificial Intelligence
Machine Learning
A Case For Outside-In Design
For the past few decades, one of the most common approaches to software design has been to first focus on the domain model (application layer), then persistence (data layer) and finally the user interface (presentation layer). But what are the pro...
Sandro Mancuso
DDD
Microservices
Software Architecture
How Business Is The Key To Making The World A Happier Place
We can all agree that we want to live in a happy world. We can make slow change by teaching people the tools necessary to lead happier lives, or we can make a bigger impact by also leveraging businesses to make the world a happier place. Evan Sut...
Evan Sutter
Java Current and Future
Java has changed more in the last year than in the previous five years. Find out more about these changes and what they mean for you! This session will cover the changes to the Java Release cadence and licensing, choices and options available to y...
Mikael Vidstedt, Georges Saab
Java
Data Driven Observability & Incident Response
The focus of DevOps is to streamline processes across the board. One way to produce a better experience across teams is to inject observability, leading to a proactive approach toward development and a fully visible situation when incidents occur....
Matt Stratton, PJ Hagerty
Going Serverless with VueJS
With the rise of serverless architectures, developers have the power to do more with less. Rather than spending time and energy deploying and managing a server, they can now focus on the business logic driving their applications. Serverless functi...
Divya Sasidharan
Serverless
Vue.js
CI/CD is just the Beginning: Optimize Value Creation with Flow Framework
DevOps practices, like CI/CD, have been key for speeding up software delivery from code commit to code deploy. Yet at large organizations, development work is still disconnected from the business needs and teams are struggling to accommodate decad...
Nicole Bryan
DevOps