Software Development Superstream: Building Better Software
Published by O'Reilly Media, Inc.
Designing, Architecting, Writing, and Maintaining code
Software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life. So software engineers don’t just need top-notch programming skills—they also have to understand how to develop proper engineering practices to make their codebase sustainable and healthy. That’s the difference between programming and software engineering.
Whether you’re a freshly minted software engineer or a seasoned pro, these expert-led sessions are sure to give you insight into the fundamental principles that should be top of mind when you're designing, architecting, writing, and maintaining code and introduce you to some of the new GenAI tools that can help you write code faster.
About the Software Development Superstream Series: This two-part event series will help you elevate your technical skills, become a better project manager, and build the other professional skills that will allow you to move into senior engineering roles.
What you’ll learn and how you can apply it
- Learn how to optimize your VS Code development environment and to refactor an existing code base with Rust
- Understand how a shift-left testing approach can create quicker feedback loops and how you can improve your software performance and design starting with making small changes to code (tidyings)
This live event is for you because...
- You’re a software developer or engineer looking for ways to write and refactor code faster and with fewer errors.
- You want to learn how to use new tools and programming languages.
Prerequisites
- Come with your questions
- Have a pen and paper handy to capture notes, insights, and inspiration
Recommended follow-up:
- Read The Staff Engineer’s Path (book)
- Read Software Engineering at Google (book)
- Listen to The Manager’s Path (audiobook)
- Read Fundamentals of Software Engineering (early release book)
- Take From Developer to Software Architect (live course with Nathaniel Schutta)
- Take Fundamentals of Software Engineering in 3 Weeks (live course with Nathaniel Schutta)
- Take Hands-On Software Design (live course with Venkat Subramaniam)
- Take Introduction to Critical Thinking (live course with Connie Missimer)
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Sam Newman: Introduction (5 minutes) - 8:00am PT | 11:00am ET | 3:00pm UTC/GMT
- Sam Newman welcomes you to the Software Development Superstream.
Lily Mara: Blazing Fast, Minimal Change—Speed Up Your Code by Refactoring to Rust (45 minutes) - 8:05am PT | 11:05am ET | 3:05pm UTC/GMT
- Lily Mara takes an existing code base and rewrites part of it in Rust, focusing on writing a Rust reimplementation, cross-language regression testing, and performance benchmarking of the new code.
- Lily Mara is an engineering manager at OneSignal, where she manages the infrastructure services team responsible for in-house services used by other OneSignal engineering teams. Lily is the author of Refactoring to Rust (Manning), an early-access book about improving the performance of existing software systems through the gradual addition of Rust code.
Maude Lemaire: Building Koi Pond—Simulating Millions of Slack Clients (45 minutes) - 8:50am PT | 11:50am ET | 3:50pm UTC/GMT
- During the summer of 2020, Slack's performance infrastructure team was tasked with building a load testing solution that could simulate hundreds of thousands of users in a single team ahead of a big customer launch. What followed was two months of prototyping: figuring out the right balance between simulating high-fidelity usage, efficient usage computing resources, and speed of execution. Join Maude Lemaire for a roller coaster ride of a story and a thrilling live demo of what Slack’s load testing systems can do.
- Maude Lemaire is a senior staff engineer at Slack, where she’s a founder and technical lead for the backend performance infrastructure team, responsible for large-scale load test tooling, performance regression monitoring, and successfully onboarding the world's largest companies to Slack. Over the past six years, she's helped the product scale from just 60,000 users per team to over 2 million. When she doesn't have her nose in a flamegraph, she’s building strong, empathetic engineering cultures. Maude is also the author of Refactoring at Scale, a blueprint for how technical leaders can successfully navigate large, complex refactors.
- Break (10 minutes)
Pamela Fox: Configure VS Code for Productive Programming (45 minutes) - 9:45am PT | 12:45pm ET | 4:45pm UTC/GMT
- Pamela Fox demonstrates the steps you can take to optimize your VS Code development environment. You’ll see how to create a devcontainer.json to set up a containerized environment, use profiles for your favorite editor settings, customize the VS Code debugger for easier debugging, and use community-made extensions for linting. Pamela also shares tips for prompting Copilot and Copilot Chat for more productive programming.
- Pamela Fox is a principal cloud advocate in Python at Microsoft. Previously, she was a lecturer for UC Berkeley, the creator of the computer programming curriculum for Khan Academy, an early engineer at Coursera, and a developer advocate at Google.
Thayse Onofrio: Why Software Engineers Should Make Quality a Priority—The Benefits of Shift-Left Testing (45 minutes) - 10:30am PT | 1:30pm ET | 5:30pm UTC/GMT
- Quality is an important element for software delivery to occur frequently and safely, but it’s a broad concept that can be applied in a variety of ways. QAs can be a dedicated team or even part of a cross-functional team. However, relying on just one role to ensure quality can introduce numerous risks. Software engineers, among other roles, benefit from making quality a priority. A shift-left testing approach can create quicker feedback loops and make it possible to add multiple quality gates in the deployment process. Thayse Onofrio discusses the processes that can help make this happen, the benefits of implementing shift-left testing, and ways to convince your team of the importance of making quality a part of their development process.
- Thayse Onofrio is a lead software engineer at Thoughtworks, based in Brazil. She loves working with frontend development and is interested in best practices for building software and enabling engineering teams. She participates in tech communities and believes in making technology more inclusive and accessible to everyone. Thayse has an MBA in Agile software engineering.
- Break (5 minutes)
Kent Beck: In Conversation (40 minutes) - 11:20am PT | 2:20pm ET | 6:20pm UTC/GMT
- Join us for a special conversation with Sam Newman and Kent Beck, creator of Extreme Programming, about software design as an exercise in human relations, and how you can improve software performance and design by starting with small changes to code (tidyings) and then making changes that improve the larger design. Sam and Kent dive into the theory behind software design: coupling, cohesion, discounted cash flows, and optionality. This is a chance for you to ask Sam and Kent anything you want about software, architecture, and their own career journeys.
- Kent Beck is a programmer, creator of Extreme Programming, pioneer of software patterns, coauthor of JUnit, rediscoverer of test-driven development, creator of the 3X (Explore, Expand, Extract) model, and the author of the Tidy First? series of books on software design. Kent is also alphabetically the first signatory of the Agile Manifesto. He lives in San Francisco and works for Studio Beck teaching skills that help geeks feel safe in the world.
Sam Newman: Closing Remarks (5 minutes) - 12:00pm PT | 3:00pm ET | 7:00pm UTC/GMT
- Sam Newman closes out today’s event.
Your Host
Sam Newman
Sam Newman is a technologist focusing on the areas of cloud, microservices, and continuous delivery—three topics which seem to overlap frequently. He provides consulting, training, and advisory services to startups and large multinational enterprises alike, drawing on his more than 20 years in IT as a developer, sysadmin, and architect. Sam is the author of the best-selling Building Microservices and Monolith to Microservices, both from O’Reilly, and is also an experienced conference speaker.