Principal Engineer at Salesforce on collaborative programming with James Simone
On this episode of the Distributed podcast, host Jack Hannah talks with James Simone, Principal Engineer at Salesforce, about how he went from no development experience to principal engineer in 7 years at a Fortune 500 and the effects of collaborative programming. James shares what things are like inside the agile org at Salesforce and how they approach remote work, including how they prioritize reflection and team agreements to foster productive and happy work environments. Highlights:James's journey to principal engineer The role of reflection in boosting productivity and happinessSalesforce's approach to ensemble and pair programming In this episode, we cover:(00:00) – Kicking things off with James Simone(01:09) – The empowerment of distributed teams: fostering community and learning(03:08) – Inside Salesforce's agile organization: a structural overview(04:17) – Legacy projects and measuring developer happiness(06:07) – Applying metrics: individual and executive perspectives(08:52) – Collaborative programming: a measured approach(11:03) – Starting the week: Monday morning routines(12:56) – Code review: transitioning from author to reviewer(14:26) – The role of working agreements in team dynamics(17:05) – Reflection and improvement: the impact of test-driven development(22:36) – Documentation and decision-making in collaborative teams(27:48) – Balancing career growth with personal life passionsReferencesTest Driven Development: By Example by Kent BeckDomain Modeling Made Function by Scott WlaschinWhere to connect further:Connect with James Simone on LinkedIn and on his websiteFollow TupleWant to hear more? Check out distributed.fmConnect with Jack Hannah
--------
31:12
6x founder and Shopify Principal Engineer on AI, Rails, and pairing with Obie Fernandez
In this episode of the Distributed podcast, host Jack Hannah sits down with Obie Fernandez, Principal Engineer at Shopify, 6x founder (including Andela and Hashrocket), and prolific author and musician. Obie reflects on his early role in the Ruby and Rails communities, what led him to shift away from Java, and how he uses and thinks about AI.Obie goes deep on how he and his team at Shopify uses AI, while touching on what this means for pair programming, mentorship, and the future of software development.Highlights:How Obie made Rails mainstream at ThoughtWorks and beyondHow Obie and Shopify use AIReflections on pair programming and the future of software developmentIn this episode, we cover:(00:00) – Opening the conversation with Obie Fernandez(01:59) – What made Ruby stand out after years of Java(07:45) – Driving Rails’ adoption at ThoughtWorks and shaking up the status quo(15:54) – How Shopify thinks about the developer experience(20:19) – Why every developer should experience pair programming(25:03) – How Obie uses AI(27:15) – The future of software development and collaboration(33:13) – When to stop vibe coding and prioritize quality(34:04) – Big P vs little p pair programmingReferences:Patterns of Application Development Using AIShopify CEO Tobi Lutke's now infamous AI memoWhere to connect further:Connect with Obie Fernandez on Instagram and obiefernandez.comFollow TupleWant to hear more? Check out distributed.fmConnect with Jack Hannah
--------
39:21
Raycast founder Thomas Paul Mann on iOS, community, and quality
In this episode of the Distributed podcast, host Jack Hannah chats with Thomas Paul Mann, cofounder and CEO of Raycast, the native productivity tool and extendable launcher. They cover how Raycast leverages community, ships such high quality product consistently, and approaches hiring. Jack actually spoke with Thomas the day after Raycast released their iOS app, so the episode starts with a pretty raw reflection on this major milestone before diving into the rest.Highlights:Thomas’s reaction to releasing iOSHow Raycast leverages community over dataWhat it takes to sustain Raycast’s biweekly shipping cadence and How dogfooding drives product polish and reliabilityIn this episode, we cover:(00:00) – Opening the conversation with Thomas Paul Mann(01:18) – Launching iOS with zero pre-hype(07:19) – Why iOS came before Windows(09:53) – Going remote during COVID(14:27) – Building an effective remote team(16:09) – Why 80% of Raycast is product(17:45) – Hiring in waves to avoid overgrowth(19:54) – The power of referral-based hiring(21:50) – How feedback beats metrics at Raycast(27:24) – Inside their biweekly shipping rhythm(32:55) – Using nightly builds to polish UXWhere to connect further:Connect with Thomas Paul Mann on XFollow Raycast on X or join the Slack communityFollow TupleWant to hear more? Check out distributed.fmConnect with Jack Hannah
--------
40:21
Agile Otter on why most devs work in the worst ways possible
How does the future hold for software development with remote collaboration?In this episode of the Distributed podcast, host Jack Hannah chats with Tim Ottinger, aka the Agile Otter, about how to manage and organize the work. Among other things, Tim is a Senior Consultant at Industrial Logic, contributor to the book Clean Code, and active presence online. Jack and Tim explore various ways to work in teams instead of solo and the various benefits they offer.Highlights:Rethinking solo work to boost first-time through rates and productivity Tim’s experiences with Extreme Programming and Agile Introducing swarm boards for better remote teamwork In this episode, we cover:(00:00) – Introduction to Tim Ottinger, Agile Otter(01:11) – Tim’s background and contributions to clean code and agile(01:46) – Early remote work and why covid changed remote training(04:03) – Benefits of spreading training over weeks vs. intense sessions(06:18) – What’s wrong with how most software teams manage work today(10:42) – The problems with solo work, parallelism, and utilization myths(14:14) – How AI can help coding but still has limitations(18:07) – Why increasing first time through rate is the key metric(24:18) – How to structure teams to avoid queues and handoffs with swarm boards(30:50) – Starting with small experiments to work together and improve flow(33:12) – Don’t lower the standards of the pipeline, raise the abilities of the team(40:07) – When it comes to remote work, longitude kills and latitude hurts(41:38) – Tim’s advice for making the most out of remote work(44:05) – The law of the 2nd floor(44:51) – Things can be better, don’t lose hopeReferencesSwarm Programming with the Swarm BoardClean Code by Robert C. MartinWhere to connect further:Connect with Tim Ottinger on LinkedIn and on his websiteConnect with Industrial LogicFollow TupleWant to hear more? Check out distributed.fmConnect with Jack Hannah
--------
46:41
Emily Bache on software quality, technical excellence, and driving change
In this episode of Distributed, host Jack Hannah speaks with Emily Bache, a technical coach and the creator of Samman Coaching, about her work helping teams improve their development practices. Emily shares her experiences with test-driven development and refactoring, and explains how these practices can transform both code quality and team dynamics.Highlights:The impact of test-driven development on software qualityHow to introduce new practices in a resistant environmentWhy collaborative coding, like ensemble programming, accelerates team growthThe role of leadership in creating a culture of continuous learning and qualityIn this episode, we cover:(00:00) – Kicking things off with Emily Bache(01:25) – First experience with extreme programming in 2000(02:28) – Struggling to get a new team on board with XP(04:03) – Why TDD transformed Emily’s coding approach(05:22) – Becoming a full-time technical coach and YouTuber(06:48) – Defining what a technical coach actually does(07:21) – Inside a high-performing architecture team’s microservices shift(09:04) – Can siloed experts still outperform collaborative teams?(14:42) – Simple tactics to nudge your team toward better practices(20:57) – Ensemble programming explained: many minds, one keyboard(24:45) – Why refactoring skills matter in the age of AI assistantsReferencesApproval Tests and the weekly Approval Tests EnsembleChatGPT & Copilot are NOT Refactoring ToolsWhere to connect further:Connect with Emily Bache on LinkedIn and Samman Technical Coaching SocietyFollow TupleWant to hear more? Check out distributed.fmConnect with Jack Hannah
Remote work is here to stay. Whether you’re firmly in the return to office camp or die hard distributed, the cat’s out of the bag for the industry.
The Distributed podcast, from Tuple, deconstructs how world-class engineers and their teams navigate the challenges (and opportunities) remote work creates.
Host Jack Hannah uncovers stories of teams and individuals overcoming technical challenges, working through interpersonal dynamics, and battling their own distractions.
Through these conversations, we’ll unpack the practical side of how folks work together in this new normal, and dig into the social emotional piece so often overlooked in programming.