Steven Nunez
Senior Software Engineer @ GitHub; Teacher
Steven is an experience Elixir dev who championed Elixir adoption at his previous engineering organization, The Flatiron School. He's a dedicated teacher with years of experience teaching programming to career-change students and more recently he co-created a workshop on event-driven design with Elixir and RabbitMQ.
Past Activities
Code BEAM V America
09.00 - 17.00
Shipping Greenfield Elixir in a Legacy World
You’ve built a monolith, but the constraints of your legacy system are slowing you down. You love working with Elixir---Supervisors, built-in distribution, and fault tolerance make it a great fit for the needs of your team and your product---but a rewrite would be expensive and time consuming. If only there was a way to seamlessly integrate a new Elixir application into your ecosystem. Well, there is a way to do exactly that! In this course, we’ll show you how to build autonomous, event-driven systems with Elixir, RabbitMQ and Google Protobuf that let you decouple the data your ecosystem creates from the systems that create them. This opens the path to greenfield applications, and Elixir, in your legacy world.
EXPERTISE
- Moderate Elixir experience
- Advanced Elixir experience
- No experience with RabbitMQ or Google Protobuf required
COURSE DURATION
- 1 day
TARGET AUDIENCE
- This course is for anyone that wants to bring Elixir into your existing tech stack.
- Those interested in event-driven design.
- Those interested in working with message brokers like RabbitMQ
PREREQUISITES
- Moderate Elixir experience is a plus but no prior knowledge of RabbitMQ or Google Protobuf is assumed.
OBJECTIVES
- Elixir and Inter-Process Communication create the blueprint for integrating Elixir into your existing tech stack. By the end of the day, you’ll understand when and why to reach for IPC and how to leverage Elixir’s fault-tolerance and concurrency capabilities to create an event-driven system that seamlessly brings Elixir into your existing ecosystem.
- You’ll learn how to identify scenarios that can benefit from IPC, and then we’ll dive right into building an IPC system. Starting with the basics of RabbitMQ and how to interact with it in Elixir, we’ll move on to discussing the challenges of message synchronization and how Google Protobuf solves some of these problems.
- You'll see how Elixir's concurrency and fault tolerance features--in particular supervision trees and the "let it crash" mentality--make Elixir the perfect fit for building IPC. We'll wrap up with a look at some deployment concerns and strategies.
COVERS THE FOLLOWING TOPICS
- Inter-Process Communication (IPC) and event-driven design
- Working with RabbitMQ and Elixir
- Working with Google Protobuf and Elixir
WHY YOU SHOULD ATTEND THIS COURSE
- You’ll have a path forward to integrating greenfield Elixir applications into your legacy system, in a way that your team can deliver on, while still meeting the needs of your business.
- You’ll learn how to think about event-driven systems, by creating an ecosystem of rich messages whose utility extends beyond their source application, moving you towards a Microservice-Oriented Architecture.
- You’ll see all the ways in which Elixir is the perfect fit for such a system.
Code BEAM V Europe 2021
14.30 - 18.30
Shipping Greenfield Elixir in a Legacy World
You’ve built a monolith, but the constraints of your legacy system are slowing you down. You love working with Elixir---Supervisors, built-in distribution, and fault tolerance make it a great fit for the needs of your team and your product---but a rewrite would be expensive and time consuming. If only there was a way to seamlessly integrate a new Elixir application into your ecosystem. Well, there is a way to do exactly that! In this course, we’ll show you how to build autonomous, event-driven systems with Elixir, RabbitMQ and Google Protobuf that let you decouple the data your ecosystem creates from the systems that create them. This opens the path to greenfield applications, and Elixir, in your legacy world.
EXPERTISE
- Moderate Elixir experience
- Advanced Elixir experience
- No experience with RabbitMQ or Google Protobuf required
COURSE DURATION
- 1 day
TARGET AUDIENCE
- This course is for anyone that wants to bring Elixir into your existing tech stack.
- Those interested in event-driven design.
- Those interested in working with message brokers like RabbitMQ
PREREQUISITES
- Moderate Elixir experience is a plus but no prior knowledge of RabbitMQ or Google Protobuf is assumed.
OBJECTIVES
- Elixir and Inter-Process Communication create the blueprint for integrating Elixir into your existing tech stack. By the end of the day, you’ll understand when and why to reach for IPC and how to leverage Elixir’s fault-tolerance and concurrency capabilities to create an event-driven system that seamlessly brings Elixir into your existing ecosystem.
- You’ll learn how to identify scenarios that can benefit from IPC, and then we’ll dive right into building an IPC system. Starting with the basics of RabbitMQ and how to interact with it in Elixir, we’ll move on to discussing the challenges of message synchronization and how Google Protobuf solves some of these problems.
- You'll see how Elixir's concurrency and fault tolerance features--in particular supervision trees and the "let it crash" mentality--make Elixir the perfect fit for building IPC. We'll wrap up with a look at some deployment concerns and strategies.
COVERS THE FOLLOWING TOPICS
- Inter-Process Communication (IPC) and event-driven design
- Working with RabbitMQ and Elixir
- Working with Google Protobuf and Elixir
WHY YOU SHOULD ATTEND THIS COURSE
- You’ll have a path forward to integrating greenfield Elixir applications into your legacy system, in a way that your team can deliver on, while still meeting the needs of your business.
- You’ll learn how to think about event-driven systems, by creating an ecosystem of rich messages whose utility extends beyond their source application, moving you towards a Microservice-Oriented Architecture.
- You’ll see all the ways in which Elixir is the perfect fit for such a system.
Code BEAM V America
11.55 - 12.35
What Other Languages Can Learn From BEAM: A Ruby Case Study
One of the core building blocks of the BEAM's concurrency story is the Actor Model. It's the foundation for Supervision trees, Agents and Tasks in Elixir, and GenServers.
A new kid on the Actor Model block has arrived. With version 3, Ruby has implemented their own version of the Actor Model. We'll explore what it learned from the BEAM, and where it needs to grow if it wants to let developers build world class, concurrent applications with it.