Making Open Work
May 8–9, 2017: Training & Tutorials
May 10–11, 2017: Conference
Austin, TX

Schedule: Architecture sessions

Software architecture is a massive multidisciplinary subject, covering many roles and responsibilities, which makes it challenging to grasp because so much context is required for every subject. It’s also a fast-moving discipline, where entire suites of best practices become obsolete overnight. Software architecture plays a key role in the success of any organization. How do you figure out the right way forward? Do you start from scratch? How do you migrate to microservices? Should you? What else is out there besides microservices?

Add to your personal schedule
9:00am–12:30pm Monday, May 8, 2017
Location: Meeting Room 9
Level: Intermediate
Daniel Hinojosa (Evolutionnext.com)
RxJava is a relatively new way of expressing and composing streams of data as well as asynchronous computations. Daniel Hinojosa demonstrates how to use RxJava safely and effectively in both greenfield and legacy projects, allowing you to write expressive, thread-safe, and well-performing code both on the server and on mobile devices. Read more.
Add to your personal schedule
9:00am–12:30pm Monday, May 8, 2017
Location: Meeting Room 10 A/B
Level: Intermediate
Jean Joswig (Google)
Members of Google’s Site Reliability Engineering (SRE) team guide you through the principles of systems engineering. You'll work in small groups to solve a systems problem, using ideas from distributed computing to build a sample system and gain practical experience with the issues surrounding large-scale system design. Read more.
Add to your personal schedule
9:00am–12:30pm Monday, May 8, 2017
Location: Meeting Room 12
Level: Beginner
John Chapin (Symphonia), Mike Roberts (Symphonia)
Serverless is the latest trend in application and system architecture, but it’s not obvious or intuitive how to architect, build, or operate serverless applications. John Chapin and Mike Roberts discuss the benefits, trade-offs, concepts, and patterns of serverless architecture and walk you through building, deploying, and running a serverless application. Read more.
Add to your personal schedule
9:00am–12:30pm Monday, May 8, 2017
Location: Meeting Room 17 A
Level: Intermediate
Hadi Hariri (JetBrains)
Hadi Hariri explains the basics of functional programming using Kotlin—where it fits in with the object orientation paradigm and how to use it in your everyday work. Along the way, Hadi covers important functional programming concepts and demonstrates how and where to apply functional patterns to cut down boilerplate code and keep it maintainable. Read more.
Add to your personal schedule
1:30pm–5:00pm Monday, May 8, 2017
Location: Ballroom G
Level: Advanced
Susan Fowler (Stripe)
Susan Fowler offers a quick, hands-on lesson on how to design production-readiness standards for your applications, systems, or microservices, covering the eight core principles of production-readiness before working on determining the specific requirements that apply to your own specific architecture. Read more.
Add to your personal schedule
9:00am–12:30pm Tuesday, May 9, 2017
Location: Meeting Room 19
Level: Advanced
Jim Blandy (Mozilla Corporation)
Jim Blandy shows you how to write a networked game in Rust, the new systems programming language from Mozilla, covering networking, graphics, and asynchronous I/O. At the end of the tutorial, we'll all play a game together. Read more.
Add to your personal schedule
1:30pm–5:00pm Tuesday, May 9, 2017
Location: Meeting Room 12
Level: Advanced
Susan Sons (Center for Applied Cybersecurity Research, Indiana University)
Susan Sons demonstrates how to refactor complex and possibly very broken systems and software while in operation, covering architecture, project management, and security aspects. Read more.
Add to your personal schedule
11:00am–11:40am Wednesday, May 10, 2017
Location: Ballroom G
Level: Non-technical
Robert Lefkowitz (Warby Parker), Simon Wardley (Leading Edge Forum)
Simon Wardley, the inventor of value chain mapping (Wardley maps), and distinguished enterprise architect Robert "r0ml" Lefkowitz debate whether mapping or architecture is the best method for guiding strategic planning. Read more.
Add to your personal schedule
11:50am–12:30pm Wednesday, May 10, 2017
Location: Ballroom G
Level: Beginner
CJ Johnson (GitHub)
The necessary cultural shift that accompanies the move from monolithic application to microservices is often overlooked and can topple the best-laid plans. CJ Johnson discusses the behaviors, mindset, and messaging necessary to effect a social change across an organization. Read more.
Add to your personal schedule
1:45pm–2:25pm Wednesday, May 10, 2017
Location: Ballroom G
Level: Intermediate
Rich Turner (Microsoft)
Windows 10 now includes the Windows Subsystem for Linux (WSL), which runs native, unmodified Linux binaries directly on Windows. Rich Turner discusses why, how, and what Microsoft built and shares what's coming next. Read more.
Add to your personal schedule
2:35pm–3:15pm Wednesday, May 10, 2017
Location: Ballroom G
Level: Intermediate
Brian Capouch (Saint Josephs College)
Electron, a project from GitHub that allows native applications to be developed using web development technologies, has gained rapid adoption and is being used by high-profile projects in a variety of application domains. Brian Capouch explains what Electron is all about and reviews in detail a simple application which illustrates its use. Read more.
Add to your personal schedule
4:15pm–4:55pm Wednesday, May 10, 2017
Location: Ballroom G
Level: Intermediate
Liz Rice (Microscaling Systems)
Liz Rice started playing with Linux syscalls to understand more about how containers work, which made her wonder what's happening under the hood when you make a system call and what else you can do with them. Liz offers an overview of syscalls—what they are, why they are there, and what you can do with them—live coding in Go to demonstrate some interesting features. Read more.
Add to your personal schedule
5:05pm–5:45pm Wednesday, May 10, 2017
Location: Ballroom G
Level: Beginner
Ray Tsang (Google)
gRPC is an open source high-performance general RPC framework that puts mobile and HTTP/2 first. Low latency and bandwidth and CPU efficient, gRPC is designed to create massively distributed systems that span data centers and power mobile apps, real-time communications, IoT devices and APIs. Ray Tsang offers an overview of gRPC's capabilities as he live-codes a real-time chatroom. Read more.
Add to your personal schedule
11:00am–11:40am Thursday, May 11, 2017
Location: Ballroom G
Level: Intermediate
Neal Ford (ThoughtWorks)
An evolutionary architecture supports incremental, guided change as a first principle across multiple dimensions. Neal Ford describes how to build architectures that safely evolve over time, adding evolvability as a standard "-ility" on software projects. Read more.
Add to your personal schedule
11:50am–12:30pm Thursday, May 11, 2017
Location: Ballroom G
Level: Intermediate
Angie Jones (LexisNexis)
Angie Jones explains how to combine multiple open source test automation tools to architect a hybrid framework that supports UI, web services, and BDD automation efforts. Along the way, Angie covers design techniques to ensure your automation framework is extendable and maintainable and easily allows for contributions even from less technical team members. Read more.
Add to your personal schedule
1:45pm–2:25pm Thursday, May 11, 2017
Location: Ballroom G
Level: Beginner
Katie McLaughlin (KatieConf)
Emoji have a rich history of allowing the communication of ideas in a reduced amount of data. However, there is a social responsibility to ensure limited miscommunication and a technical responsibility to ensure compatibility between platforms. Katie McLaughlin discusses the history of emoji, cross-platform adoption, the Unicode standard, and emoji accessibility in web applications. ✨ Read more.
Add to your personal schedule
2:35pm–3:15pm Thursday, May 11, 2017
Location: Ballroom G
Level: Intermediate
Frank Karlitschek (Nextcloud)
The internet and the world wide web were originally designed as distributed and federated networks, but in the last few years, there's been a trend toward more-centralized services. Frank Karlitschek discusses ways to go back to a more federated approach, in other words, back to the internet's original intent. Read more.
Add to your personal schedule
4:15pm–4:55pm Thursday, May 11, 2017
Location: Ballroom G
Level: Intermediate
Jeremy Eder (Red Hat)
It’s a common misconception that containers and virtualization are the same thing – that containers are a rip and replace alternative for virtual machines. The truth is that containers and virtualization have a lot in common, but often serve different use cases. To get the most out of these important technologies, we must understand their ins and outs, and how they do – and don't – work together. Read more.
Add to your personal schedule
5:05pm–5:45pm Thursday, May 11, 2017
Location: Ballroom G
Level: Intermediate
Hanneli Tavante (Codemine42)
Hanneli Tavante offers a quick introduction to the Rust language. Drawing on code comparisons between Java/Python and C, Hanneli explores some of Rust's main features, such as its type system, compiler structure, and development environment. Read more.