This book provides a detailed introduction to C++, covering its core language features, standard library components, and advanced programming techniques. It is designed for both beginners and experienced programmers looking to deepen their understanding of C++.
In 'Project Hail Mary', Ryland Grace, a high school science teacher, awakens on a spaceship with no memory of how he got there or his mission. He soon discovers that he is the sole survivor of a desperate mission to save Earth from a microorganism called the Astrophage, which is threatening to cause a new ice age. As Ryland regains his memories, he encounters an alien named Rocky, and together they work to solve the scientific mystery and save their respective home planets. The story blends science, humor, and heart, exploring themes of survival, discovery, and unlikely friendships[1][3][5].
This book provides a hands-on introduction to test-driven development (TDD), a software development process that emphasizes writing automated tests before coding. Through practical examples, Kent Beck demonstrates how TDD can lead to cleaner, more reliable code by encouraging simple designs and continuous refactoring. The book follows two TDD projects from start to finish, showcasing techniques for increasing the quality of software development.
The Pragmatic Programmer is a book that centers on how to use software to solve problems effectively and how to grow as a developer pragmatically. It was first published in 1999 and a 20th Anniversary Edition was released in 2019. The book emphasizes key qualities such as being an early adopter, having fast adaptation, inquisitiveness, critical thinking, realism, and being a jack-of-all-trades. It uses analogies and short stories to present development methodologies and caveats, including concepts like DRY (Don't Repeat Yourself), YAGNI (You Aren't Gonna Need It), and rubber duck debugging. The book covers topics such as writing clean code, estimating software delivery, instituting change, combating stagnancy, and making software processes resilient and efficient through automation and testing.
Accelerate presents the findings from four years of research, including data from the State of DevOps reports, to identify key capabilities that drive high performance in software delivery. The book focuses on 24 practices grouped into five categories: Continuous Delivery, Architecture, Product and Process, Lean Management and Monitoring, and Cultural. It provides practical guidance on how to apply these practices to improve team performance, reduce deployment pain, and enhance overall business value. The book is ideal for management at every level involved in digital transformation and software development.
Supported by Our Partners
• Graphite — The AI developer productivity platform.
• Sentry — Error and performance monitoring for developers.
—
Reddit’s native mobile apps are more complex than most of us would assume: both the iOS and Android apps are about 2.5 million lines of code, have 500+ screens, and a total of around 200 native iOS and Android engineers work on them.
But it wasn’t always like this.
In 2021, Reddit started to double down on hiring native mobile engineers, and they quietly rebuilt the Android and iOS apps from the ground up. The team introduced a new tech stack called the “Core Stack” – all the while users remained largely unaware of the changes. What drove this overhaul, and how did the team pull it off?
In this episode of The Pragmatic Engineer, I’m joined by three engineers from Reddit’s mobile platform team who led this work: Lauren Darcey (Head of Mobile Platform), Brandon Kobilansky (iOS Platform Lead), and Eric Kuck (Principal Android Engineer). We discuss how the team transitioned to a modern architecture, revamped their testing strategy, improved developer experience – while they also greatly improved the app’s user experience.
We also get into:
• How Reddit structures its mobile teams—and why iOS and Android remain intentionally separate
• The scale of Reddit’s mobile codebase and how it affects compile time
• The shift from MVP to MVVM architecture
• Why Reddit took a bet on Jetpack Compose, but decided (initially) against using SwiftUI
• How automated testing evolved at Reddit
• Reddit’s approach to server-driven-mobile-UI
• What the mobile platforms team looks for in a new engineering hire
• Reddit’s platform team’s culture of experimentation and embracing failure
• And much more!
If you are interested in large-scale rewrites or native mobile engineering challenges: this episode is for you.
—
Timestamps
(00:00) Intro
(02:04) The scale of the Android code base
(02:42) The scale of the iOS code base
(03:26) What the compile time is for both Android and iOS
(05:33) The size of the mobile platform teams
(09:00) Why Reddit has so many mobile engineers
(11:28) The different types of testing done in the mobile platform
(13:20) The benefits and drawbacks of testing
(17:00) How Eric, Brandon, and Lauren use AI in their workflows
(20:50) Why Reddit grew its mobile teams in 2021
(26:50) Reddit’s modern tech stack, Corestack
(28:48) Why Reddit shifted from MVP architecture to MVVM
(30:22) The architecture on the iOS side
(32:08) The new design system
(30:55) The impact of migrating from Rust to GraphQL
(38:20) How the backend drove the GraphQL migration and why it was worth the pain
(43:17) Why the iOS team is replacing SliceKit with SwiftUI
(48:08) Why the Android team took a bet on Compose
(51:25) How teams experiment with server-driven UI—when it worked, and when it did not
(54:30) Why server-driven UI isn’t taking off, and why Lauren still thinks it could work
(59:25) The ways that Reddit’s modernization has paid off, both in DevX and UX
(1:07:15) The overall modernization philosophy; fixing pain points
(1:09:10) What the mobile platforms team looks for in a new engineering hire
(1:16:00) Why startups may be the best place to get experience
(1:17:00) Why platform teams need to feel safe to fail
(1:20:30) Rapid fire round
—
The Pragmatic Engineer deepdives relevant for this episode:
• The platform and program split at Uber
• Why and how Notion went native on iOS and Android
• Paying down tech debt
• Cross-platform mobile development
—
See the transcript and other references from the episode at https://newsletter.pragmaticengineer.com/podcast
—
Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
Get full access to The Pragmatic Engineer at
newsletter.pragmaticengineer.com/subscribe