Tuesday
Architecting and Building Serverless Solutions in Azure
Presented by: Brian Gorman
Time: Tuesday 8:00 AM - 12:00 PMThis workshop is a guided activity to learn, architect, and implement a real-world, serverless solution in the Microsoft Azure ecosystem. The tools utilized will include Azure Functions, Cosmos DB, Event Grid, Logic Apps, Application Insights, and Azure storage. After completing the workshop,...
Room: ZambeziTrack: ArchitectureFormat: PreCompilerLevel: IntermediateEvent Streaming, Catch of the Day!
Presented by: Barry Tarlton, David Day
Time: Tuesday 1:00 PM - 5:00 PMHave you heard enough event streaming fish stories to fill a cooler? Are you ready to wade in deeper and lure out some new skillz on event-driven architectures? Come join our catch-of-the-day session to experience first-hand designing and building an event-driven solution from start to finish. We'll...
Room: Nile/OrangeTrack: DataFormat: PreCompilerLevel: IntermediateWednesday
Prepare Your ASP.NET Core Application for 🚀 Liftoff: Hardening Your Applications for Production 1/2
Presented by: Kevin Griffin, Kendall Miller
Time: Wednesday 8:00 AM - 12:00 PMYou're about to push your latest project out to the launch pad - nearly every feature is complete, it's quick, and you're excited for launch day. But are you ready to achieve orbit and stay there safely? * Will it still be responsive when everyone uses it at the same time? * Do you have enough...
Room: ZambeziTrack: DevOpsFormat: PreCompilerLevel: IntermediateThe Demystifying Docker DOJO
Presented by: Barry Tarlton, Mark Ramsey
Time: Wednesday 8:00 AM - 12:00 PMHearing all about the container craze, but haven’t had time to really learn about it yet? Well, this session has you covered. Come roll up your sleeves and get ready to learn all about Docker in this hands on session. There will be no long pontificating about how Docker is better than other...
Room: Nile/OrangeTrack: ArchitectureFormat: PreCompilerLevel: IntermediateRealizing The Benefits Of Container DevSecOps With AWS
Presented by: James Strong, Colin Detwiller, Matthew Garber
Time: Wednesday 8:00 AM - 12:00 PMAttendees will learn how to set up, harden, & secure a container pipeline in AWS in this workshop using no servers for that pipeline. Please attend, If you’re interested in integrating security and compliance into a container pipeline to realize the benefits of DevSecOps. We will be using these...
Room: CypressTrack: SecurityFormat: PreCompilerLevel: IntermediatePrepare Your ASP.NET Core Application for 🚀 Liftoff: Hardening Your Applications for Production 2/2
Presented by: Kevin Griffin, Kendall Miller
Time: Wednesday 1:00 PM - 5:00 PMPart 2 of "Prepare Your ASP.NET Core Application for 🚀 Liftoff: Hardening Your Applications for Production"
Room: ZambeziTrack: DevOpsFormat: PreCompilerLevel: IntermediateThursday
Modern Cross-Platform Development with .NET 6
Presented by: Sam Basu
Time: Thursday 8:00 AM - 9:00 AMSlated for Nov 2021, .NET 6 ushers in modern development stacks and polished tooling throughout much of the .NET ecosystem. With .NET MAUI, developers get to build native cross-platform apps for mobile & desktop from single codebase. With Blazor component model, C# can power modern web apps on the...
Room: ZambeziTrack: ArchitectureFormat: General SessionLevel: IntermediateLife in the Fastlane: App Store Deployments That Won't Make You Lose Your Mind
Presented by: Keith Kurak
Time: Thursday 8:00 AM - 9:00 AMImagine deploying your shiny new app to the Apple App Store- creating certs, uploading your app to Testflight, adding testers, taking screenshots on four different devices, filling in dozens of fields on the store description, clicking through EULA’s, and resubmitting five times because the...
Room: Sagewood / ZebrawoodTrack: MobileFormat: General SessionLevel: IntermediateThe Four Principles of Accessibility
Presented by: Homer Gaines
Time: Thursday 9:15 AM - 10:15 AMWithin the WCAG 2.1, web-accessible content is broken into four principles collectively referred to as POUR. This acronym stands for Perceivable, Operable, Understandable, and Robust. These four areas specifically target areas where users have the most trouble when accessing digital content and...
Room: CypressTrack: Web/Front-EndFormat: General SessionLevel: IntermediateAre You Ready for a Senior Role?
Presented by: Jenny Bramble
Time: Thursday 10:30 AM - 11:30 AMMoving from being a mid level engineer a senior role can feel like a huge leap--especially when your new responsibilities aren't well defined. What does it mean to embrace a senior role? It's not just about experience and years on the job; it's an entire mindset shift. Jenny Bramble, Director of...
Room: Nile/OrangeTrack: Teams/Leadership/The Future of WorkFormat: General SessionLevel: IntermediateWhat a global pandemic can tell you about better DevOps practices
Presented by: Jeremy Meiss
Time: Thursday 10:30 AM - 11:30 AMIn early 2020 a global pandemic set in motion events which none of us could predict. With anonymous data collected from 900k+ devs, 50K orgs, and 60m+ builds/mo we found some interesting insights into better DevOps practices. Since then, we've seen even more interesting activities happen, which shed...
Room: Indigo BayTrack: DevOpsFormat: General SessionLevel: Intermediate10 Ways to Write Clean JavaScript Code
Presented by: Avindra Fernando
Time: Thursday 11:45 AM - 12:45 PMWritten in just 10 days, JavaScript continues to be very successful in modern software development. The flexibility of JavaScript empowered rapid innovation in software. But, this flexibility comes at a cost of readable, maintainable, and scalable JavaScript code. Over the years, after working...
Room: ZambeziTrack: Web/Front-EndFormat: General SessionLevel: IntermediateThe Elegance of “The Simplest Possible Thing”: Applying Simplicity Principles to Complex Problems
Presented by: Nate Berent-Spillson
Time: Thursday 11:45 AM - 12:45 PMSoftware development is complex work. Business requirements, platforms, and technology itself are all complex elements. Through all this complexity, software developers often try to create complex solutions that meet all the requirements at once. Similarly, when faced with a complex problem, they...
Room: Salon E/DTrack: Programming PrinciplesFormat: General SessionLevel: IntermediateRock-Solid Components with TypeScript and GraphQL
Presented by: Mat Warger
Time: Thursday 1:00 PM - 2:00 PMMost recent javascript frameworks bring a solid component model to modern web development, but how can you guarantee that your components work correctly? In this session, you learn how the features of TypeScript can be leveraged to bring clarity and dependability when constructing components with...
Room: Salon E/DTrack: Web/Front-EndFormat: General SessionLevel: IntermediateImplementing an Event Sourcing strategy on Azure
Presented by: Eldert Grootenboer
Time: Thursday 1:00 PM - 2:00 PMIn recent years the Event Sourcing pattern has become increasingly popular. By storing a history of events it enables us to decouple the storage of data from the implementation of the logic around it. And we can rebuild the state of our data to any point in time, giving us a wide range of...
Room: Aloeswood / LeopardwoodTrack: Programming PrinciplesFormat: General SessionLevel: IntermediateWho’s Afraid of the Big Bad Bluetooth?
Presented by: Leah Vogel
Time: Thursday 1:00 PM - 2:00 PMWith the buzz around IoT devices, Bluetooth Low Energy technology has become increasingly popular. Apple's CoreBluetooth has been around since iOS 5, and offers a host of utility APIs. This talk will cover the basics of Bluetooth LE technology and its history and terminology. Attendees will learn...
Room: CypressTrack: MobileFormat: General SessionLevel: IntermediateTime traveling in the cloud. Time series analytics with Microsoft Azure.
Presented by: Sam Vanhoutte
Time: Thursday 1:00 PM - 2:00 PMThe data collected in IoT scenarios are often thought of as a ‘time series”. Through this data it’s possible to understand the past and use this data to anticipate the future. But time traveling is never straight forward. That’s why in this session Sam will walk you through the processing of...
Room: Indigo BayTrack: DataFormat: General SessionLevel: IntermediateKeeping your Kubernetes Cluster Secure
Presented by: Gene Gotimer
Time: Thursday 3:30 PM - 4:30 PMMany organizations are shifting to containers and Kubernetes, and that move means learning new ways to secure their environments. Kubernetes clusters have to be hardened at different levels. We have to consider the nodes where the Kubernetes control plane is running. We also need to secure the...
Room: Sagewood / ZebrawoodTrack: DevOpsFormat: General SessionLevel: IntermediateMonolith Decomposition and Evolutionary Architectures: How to Safely Modernize Legacy Systems
Presented by: Ben Hoffman
Time: Thursday 4:45 PM - 5:45 PMReplacing and re-engineering a new system to replace a legacy or monolithic system, in its entirety, is risky. And after significant investment, the new system often suffers from many of the same issues the old system had. When you combine long development times with big-bang-style deployment, the...
Room: ZambeziTrack: ArchitectureFormat: General SessionLevel: IntermediateBetter Interviews, Better Work
Presented by: John Lange
Time: Thursday 4:45 PM - 5:45 PMBeing an interviewer for technical jobs is hard. Checking for technical competency can feel impossible. Asking questions that start with "tell me about a time when" can feel like it has no value. And for many people giving interviews, there is no training; you're left to figure it out on your...
Room: Nile/OrangeTrack: Teams/Leadership/The Future of WorkFormat: General SessionLevel: IntermediatePutting the FUN back in Fundamentals: Data Structures, Algorithms, and More!
Presented by: Matt Williams
Time: Thursday 4:45 PM - 5:45 PMIn this session, we will bring FUN back to Fundamentals as we: * Look at favorite data structures and algorithms from the 70s, 80s, and 90s: where are they today? You won't believe #7! * Discover why hashes aren't just for breakfast. * Discover the Lolrus' favorite data structure (hint: it's got...
Room: Salon E/DTrack: Programming PrinciplesFormat: General SessionLevel: IntermediateGetting started with Kubenetes Policy Development
Presented by: Robert Sirchia
Time: Thursday 4:45 PM - 5:45 PMThis session is designed to get a user started in writing Kubernetes policies in Rust. We will, touch on what is a policy. How we are going to leverage Rust and Web Assembly to write our policy. What tools you will need to develop a policy. Build out a sample policy and test it on a local...
Room: CypressTrack: SecurityFormat: General SessionLevel: IntermediateFriday
Visualizing Code
Presented by: Matt Eland
Time: Friday 8:30 AM - 9:30 AMWhat happens if we combine the fields of software architecture and data visualization? In this talk, we'll explore what git can tell us about software projects and the teams supporting them by looking at a variety of ways to visualize codebases. Over the course of the talk we'll examine an...
Room: Salon A/HTrack: DataFormat: General SessionLevel: IntermediateBuilding rugged DevOps pipelines with GitHub Actions
Presented by: Brian Gorman
Time: Friday 9:45 AM - 10:45 AMThis session dives into using GitHub actions to build out robust DevOps pipelines. In the session, we'll implement an architecture to build a temporary dev environment, and then push the code changes through the pipeline to an end release into production. In addition to just getting the CI/CD...
Room: ZambeziTrack: DevOpsFormat: General SessionLevel: IntermediateEffective React State: 7 Years of Lessons Learned
Presented by: Cory House
Time: Friday 9:45 AM - 10:45 AMManaging React state is hard. Why? Because there are so many options to consider! Local state, reducers, custom hooks, context, and over a dozen third-party libraries. In this session, we’ll explore the lessons I’ve learned from managing complex state in React over the last seven years. I’ll...
Room: Nile/OrangeTrack: Web/Front-EndFormat: General SessionLevel: IntermediatePerformance tuning for Azure Cosmos DB
Presented by: Hasan Savran
Time: Friday 9:45 AM - 10:45 AMAzure Cosmos DB is a fully managed service that takes database administration off your hands. Fully Managed Database sounds good, but developers end up with some of the database administration work anyway. As a developer, you will be responsible for changing Indexing policies, configuring...
Room: Indigo BayTrack: DataFormat: General SessionLevel: IntermediateSupercharge Your ASP.NET Core Applications
Presented by: Kevin Griffin
Time: Friday 11:00 AM - 12:00 PMFor many developers, the transition from ASP.NET 4.0+ to ASP.NET Core was a minor change. Depending on your application's complexity, you could make a couple syntax changes and be fully upgraded within a couple of days. Transitioning from one version to another is just the beginning. ASP.NET Core...
Room: Nile/OrangeTrack: Web/Front-EndFormat: General SessionLevel: IntermediateChatOps and DevOps: How to Use Comms as Incident Response
Presented by: Pj Hagerty
Time: Friday 11:00 AM - 12:00 PMThe most important tool in your DevOps toolbox is communication. Without it, nothing can be accomplished, especially resolving incidents when they occur. In this talk, we will discuss how to use a comms platform to tie-in playbooks, integrate the DevOps processes in place, and bring together remote...
Room: CypressTrack: DevOpsFormat: General SessionLevel: IntermediateExtending Spring Data and Spring Data Redis
Presented by: Brian Sam-Bodden
Time: Friday 11:00 AM - 12:00 PMIn this session, Brian will take you along for a journey into the codebases of Spring Data and Spring Data Redis to help you understand how to build your own annotation-based Spring Data extensions. Whether you are building a framework or a business/application-specific extension, understanding the...
Room: Indigo BayTrack: DataFormat: General SessionLevel: IntermediateCSS Houdini - Just what CSS needed, more JavaScript
Presented by: John Lange
Time: Friday 12:15 PM - 1:15 PMComing soon to a browser near you is a brand new technology that will revolutionize your websites. Finally, JavaScript can be embedded into your CSS! CSS Houdini is new, exciting, lets you do some really cool things, and is going to change everything you know about layout and display in CSS. Like,...
Room: ZambeziTrack: Web/Front-EndFormat: General SessionLevel: IntermediateDesign Patterns for Loosely Coupled Applications in .NET
Presented by: Barry Stahl
Time: Friday 12:15 PM - 1:15 PMBuilding loosely coupled applications is critical to creating solutions that follow good object oriented principles. These principles help make sure our applications are testable, maintainable and extensible. In this session we will explore several design patterns that are key to building...
Room: Salon A/HTrack: Programming PrinciplesFormat: General SessionLevel: IntermediateThe Super Spectacular Interactive Event Driven Light Show
Presented by: Barry Tarlton
Time: Friday 12:15 PM - 1:15 PMThe ability to properly design and implement highly resilient event driven systems is critical in our data centric world. But getting one’s mind around the complex choreography of this data driven architecture can be absurdly difficult. By using a Raspberry Pi Kafka Cluster, light bars, and...
Room: CypressTrack: ArchitectureFormat: General SessionLevel: IntermediateScaling Systems: Architectures that grow
Presented by: Kendall Miller
Time: Friday 2:45 PM - 3:45 PMIt's harder than ever to predict the load your application will need to handle in advance, so how do you design your architecture so you can afford to implement as you go and be ready for whatever comes your way. It's easy to focus on optimizing each part of your application but your application...
Room: Salon E/DTrack: ArchitectureFormat: General SessionLevel: IntermediateJakarta EE 10 is Coming Your Way!
Presented by: Ivar Grimstad
Time: Friday 2:45 PM - 3:45 PMJakarta EE 9 lowered the barriers of entry and established a foundation for future innovation paving the way for Jakarta EE 10. With Jakarta EE 10, we are introducing a new profile - the Jakarta EE Core Profile. This profile will enable certification of smaller runtimes suitable for microservices...
Room: Indigo BayTrack: ArchitectureFormat: General SessionLevel: Intermediate