On the Code with Jason podcast I discuss technical topics with interesting people. Guests include people like Kent Beck, Sandi Metz, Michael Hartl, Chris Oliver and Kelsey Hightower.
All Episodes
240 - JP Camara, Principal Software Engineer at Wealthbox
On this episode, I talk with JP Camara, Principal Software Engineer at Wealthbox about nicknames, how having quality A/V equipment impacts how people perceive you, concurrency in programming, quantum computing, Galileo and the multiverse, blank slate-ism and whether people deserve credit or blame for their inborn traits and decisions, free will or determinism, whether or not we live in a simulation, and Jeremy Bearimy.
239 - Artur Trzop, Co-Founder & COO of Knapsack Pro
In this episode, I sit down with Artur Trzop, co-founder and COO at Knapsack Pro for a conversation that touches on the Polish language and learning foreign languages, Artur's journey to founding his own company, what the Knapsack Pro gem does, American programming work taking place in Poland, growing a company to the point of financial sustainability, facing competition from larger entities, and recent improvements to Knapsack Pro.
235 - Derrick Fonseca
On this episode, I'm joined by Derrick Fonseca for a conversation that touches on Derrick's path to software development and the commonalities in problem solving between programming and mechanical engineering, finding the problem, my experience at Rails World 2024, the state of the Ruby community and the benefits of attending meetups, writing understandable tests and test driven design, and my upcoming conference Sin City Ruby 2025.
238 - Will Carey, CTO of Brand New Box
On this week's episode, Will Carey, CTO of Brand New Box and I get together for a chat that touches on RailsConf Detroit, Will's work at Brand New Box, the challenges of remote work, starting new development projects, the benefits and risks of deploying early, pets vs cattle when it comes to server maintenance, Kubernetes, state-full code vs stateless code, starting at the end and working backwards, the value of curiosity, the benefits of building long-term relationships, and my consulting work.
237 - Adarsh Pandit, Executive Director of Ruby Central
On this episode, I'm joined by Adarsh Pandit, Executive Director of Ruby Central. We discuss men's fashion, Adarsh's path to becoming a developer, the distinction between contracting and consulting, defining what you do as a consultant, keeping yourself top of mind to potential consulting clients, how Ruby Central is building community among Rubyists, the current state of Ruby meetups & conferences, and my conference, Sin City Ruby.
236 - Landon Gray
On this episode, Landon Gray and I get together for a conversation that touches on AI consulting, backfilling tests in a system that wasn't developed with TDD, generative AI assisting with testing in data science settings, using AI to develop your product vs using AI in your product, getting clients as an AI consultant, the benefits of remaining a solo contractor over starting an agency, work/life balance as a freelancer, whether charging an hourly rate is the best way to represent the value you provide as a consultant, having a north star to guide your decision making in your work life, what actually comprises risk, how marketing yourself is important regardless of whether you're an employee or a freelancer, how the modern hiring process is broken, value created vs compensation received, and Landon's trip to the AI Engineer World's Fair in San Francisco.
235 - Eric Normand
On today's episode, I sit down with Eric Normand to discuss how to select good customers, the importance of sales and marketing to a freelancer, the importance of imagination, industry, and optimism, the purpose of consulting, how I structure my consulting services, other ideas for consulting structures, domain modeling, tech debt vs dull knives as a metaphor, how product design influences domain modeling, how having a theory of your product impacts domain modeling, the abundance of bad advice for new consultants, and the pros and cons of masterminds.
233 - Joel Hawksley, Staff Engineer at GitHub
On this episode, I'm joined by Joel Hawksley, Staff Engineer at GitHub for a discussion of code ownership with regards to a 3-year WCAG (Web Content Accessibility Guidelines) project at GitHub, benevolent dictatorship, collective ownability, terrible code vs acceptable code vs the viability of a project, writing good code vs solving problems, defining quality code, quality code resulting from clear conceptualization, the desirability (or not!) of perfect adherence to standards, reducing defect rate, and meaningful testing goals.
232 - Allison McMillan, Fractional VP of Engineering & Leadership Consultant
On this week's episode, I talk with Allison McMillan to discuss working environments, the importance of getting a remote team together on a regular basis, the benefits of a well thought out offsite, not-so-great offsite types, elements of a worthwhile offsite, and more.
231 - Matt Kirkland, Founder and Designer at Brand New Box
On this episode, I talk to Matt Kirkland, Founder and Designer at Brand New Box. We talk about how to get good clients, the utility of reminding people that you exist, reading science fiction, ChatGPT as highly advanced autocomplete, reading history, The limits of ChatGPT-style AI as compared to AGI, and Matt's Dracula read-through newsletter Dracula Daily.
230 - Nate Clark, founder of Brand New Box
On today's episode I talk with Nate Clark, founder and principal software engineer of Brand New Box. We discuss Brand New Box's early days and what it's like to found an agency, the different ways Nate and I think about acquiring new business, marketing yourself, how big picture thinking can sharpen your day to day plans, deciding to build a product, the difficulty of finding a problem to solve where it makes financial sense to do so, and how personal relationships beget opportunities.
229 - Test Driven Design with Alex Bunardzic
On today's episode, I talk with Alex Bunardzic about TDD (Test Driven Design), separating IO from business logic, configurable dependencies, TCR (Test and Commit or Revert), making many small commits rather than trying to write the whole program right the first time, distributed cognition, order dependency and imperative vs declarative programming, coding speculatively, and coding without shipping.
- The Agile Manifesto
- Alex Bunardzic on Substack
- Software Breakthroughs for the 21st Century
- Coding Interviews with Alex
- Diary of a Perplexed Software Developer
- Alex Bunardzic on Open Source
- Alex Bunardzic on Medium
- Alex Bunardzic on Twitter
- Alex Bunardzic on LinkedIn
- Nonsense Monthly, my snail mail newsletter
228 - Flaky Tests with Alan Ridlehoover and Fito von Zastrow
On today's episode, I'm joined by Alan Ridlehoover and Fito von Zastrow for a deep dive on flaky tests.
- Code with Jason - Testing Anti Pattern: Merged Setup Data
- Code with Jason - Duplication
- Code with Jason - Why Duplication is More Acceptable in Tests
- A Brewer's Guide to Filtering out Complexity and Churn
- Fito von Zastrow on LinkedIn
- Fito von Zastrow on Twitter
- Alan Ridlehoover on LinkedIn
- Alan Ridlehoover on Twitter
- The Code Gardener
- Cisco Meraki
- Jobs at Cisco Meraki
217 - Rich Steinmetz
Today Rich Steinmetz returns for a discussion that touches on switching between languages, both spoken and programming, structuring tests, getting the most out of reading a book, buying an existing business, struggles with CircleCI and GitHub Actions, my project SaturnCI, and the need for better APIs.
227 - Paul Campbell, Co-Founder and CEO of Tito
On this episode, I talk with Paul Campbell, co-founder and CEO of Tito. We discuss the origins and early days of Tito, trends in current web design, Parkinson's Law, my project SaturnCI, using LLMs in the coding process, the need to understand universal programming principles rather than superficialities, and the quest for dejankification.
226 - Ciaran Lee, Co-Founder and Chief Engineer of Intercom
In today's episode, I'm joined by Ciaran Lee, founder and Chief Engineer of Intercom for a discussion that touches on the genesis of Intercom and factors that enabled their success, scaling challenges when you're dealing with double-digit growth month to month, load balancers, canary deployment, the benefits of making many small deployments, how a robust testing environment benefits the hiring process, and the benefits of in-person vs remote work.
224 - Matthew Kaliara, CTO and Co-Founder at Rescale
On today's episode, Matthew Kaliara joins me for a conversation on his work with his startup Rescale Supply. We also discuss React, ViewComponent, system testing, looks vs usability in design, flat design, the value of convention in design, usability testing, the inseparability of good UI design and good code, the importance of appropriate names in core components, and how good code can help with hiring.
225 - How Many Hot Dogs Could You Eat?
It must be both hot dogs and buns, not just the hot dogs themselves. Preparation (e.g. skipping meals beforehand) is allowed.
Guests: Peter Cai, Brandon Casci.
223 - What Causes Flaky Tests with Brad Pauly
On today's episode, Brad Pauly and I dig into the five causes (raised conditions, fixed time dependency, randomness, leaky state, and network or third party dependency) of flaky tests. We also discuss diagnosing flaky tests, common pitfalls of fixing flaky tests, and things that do work for fixing flaky tests.
222 - Into the Software Industry Straight out of High School with Verda Korzeniewski
On this episode, I talk with Verda Korzeniewski about going into programming straight out of high school. We also discuss Verda's experience in 3D printing, problems in modern manufacturing, and problem solving skills that transcend programming.
221 - Automated Translations in Rails with Trae Robrock
On today's episode, Trae Robrock joins me for a discussion of his new Rails project Translated and his hotel management software Comfort.ly. We also talk about managing a hotel, investing in real estate, internationalizing a Rails app, investing in assets that give you income, investing in your personal brand, marketing Comfort.ly, connecting with potential clients in person, the importance of having a comfortable working environment, reading to enrich yourself, and taking care of your health.
- Trae Robrock on Twitter
- trobrock.com
- TranslatedRB.com
- GitHub.com/GetComfortly
- Comfort.ly
- $100M Leads by Alex Hormozi
- $100M Offers by Alex Hormozi
- Never Split the Difference by Chris Voss
- A Sense of Style by Steven Pinker
- Copy That.com
- Modern Software Engineering by David Farley
- Refactoring by Martin Fowler
- Function Health
- Greenbits.com
- RezStream
220 - Sin City Ruby 2024 Recap with Andrew Atkinson
On today's episode, Andrew Atkinson joins me once again for a recap of events at Sin City Ruby 2024. We also talk about Andrew's new Postgres consulting venture, his upcoming book High Performance PostgreSQL for Rails and what he learned in the process of writing the book, deciding how to communicate what you do as a consultant, naming things appropriately, how poor decision making in the early stages in the creation of an app can make it prohibitively expensive to fix later, how consulting jobs can naturally grow into new opportunities for work, being a generalist vs being a specialist, and Andrew's upcoming speaking engagements.
- High Performance PostgreSQL for Rails by Andrew Atkinson
- RailsConf
- Posette
- Madison Ruby
- RubyConf
- Rails World
- Blue Ridge Ruby
- RubyKaigi
- Red Dot Ruby Conference
- PGConf.dev
- PGConf NYC
- Andy Atkinson.com
- Andrew Atkinson on Twitter
- Andrew Atkinson on Mastodon
- Andrew Atkinson on LinkedIn
- Andrew Atkinson on GitHub
- Sin City Ruby
219 - Tom Henrik Aadland, VP Development at EG
In this episode, Tom Henrik Aadland joins me for a conversation about learning languages, life as an ex-pat in small town Argentina, starting a company focused on quality control in Norwegian fish farming, microservices, object oriented design, learning from Fred George, and instilling a healthy testing culture.
218 - Working with and Testing APIs with Rich Steinmetz
On this episode, Rich Steinmetz returns once again for a conversation on working with and testing APIs.
216 - Andy Croll, Co-Chair of RailsConf 2024
In this episode I talk with Andy Croll about Brighton Ruby Conference, RailsConf, and why attending a conference is an investment in your career.
215 - Ran Craycraft, Managing Director at thoughtbot
In this episode, Ran Craycraft, Managing Director at Thoughtbot and I discuss consulting at Thoughtbot, the process of finding new clients, setting rates as a consultant, consulting vs becoming a full-time employee, earning a positive reputation as a consultant through thought leadership and referrals, the enduring popularity of Ruby on Rails, and work-life balance.
214 - Erik Cameron of The Gnar Company
On today's episode, I talk with Erik Cameron of The Gnar Company. We discuss containerization, WASI, the possibilities of AI-generated binaries, the iterative process of AI-assisted programming, potential professional and social changes from AI-assisted programming, the mismatch between the stock of currently available programmers and the needs of the current programming industry, and the granularity of the work that is output by AI.
213 - Adrian Marin, Founder of Avo
Avo founder Adrian Marin returns for a discussion about our experience at Friendly.rb and how to get the most out of your time at a conference. We also talk about Adrian's work with Avo, my upcoming Sin City Ruby conference and the possibilities for extracurricular activities, the Code with Jason World Tour, and my consulting work.
212 - Usability Testing with Andrew Maier
On today's episode, Andrew Maier joins me for a discussion of usability testing and models. We define usability testing and by using examples, we explore how it can make you a more efficient and effective developer.
- The Design of Everyday Things by Don Norman
- Stuck? Diagrams Help by Abby Covert
- How to Make Sense of Any Mess by Abby Covert
- Gamestorming by Dave Gray, Sunni Brown, and James Macanufo
- About Face by Alan Cooper, Et al.
- 3 Lessons From Teaching A Course On UX Design by Andrew Maier
- Flagrant
- Andrew Maier on Twitter
- Andrew Maier on Mastodon
211 - Jim Remsik, CEO of Flagrant
On today's episode Jim Remsik, CEO of Flagrant joins me for a discussion that touches on finding clients as a freelancer or consultant, building word-of-mouth, networking at conferences, design in the development life cycle, gathering data to assist with the design process, and welcoming new members into the development community.
- Flagrant
- Jim Remsik on Ruby.social
- Jim Remsik on Twitter
- Madison Ruby - August 1 & 2, 2024
- Sin City Ruby
210 - AI with Lorin Thwaits
On today's episode, I'm joined by Friendly.rb speaker Lorin Thwaits to talk conferences past and future, gauging the intelligence of ChatGPT and its ability to create novel solutions, the evolution of intelligence, evolution's effects on reproduction, AI's potential capacity (or lack thereof) for power-seeking, the economic and societal impacts of AI, the amount of interest purely AI-generated content will be able to command, the power and limits of simulation, machines as synthetic animals and animals as biological machines, developing AI via evolutionary processes, the speed limit of evolution, and Lorin's project the Brick Gem.
209 - GitHub Primer with Katie Langerman and Cameron Dutro
On today's episode, Katie Langerman and Cameron Dutro of GitHub join me for a discussion of design systems, style guides and GitHub's design system Primer, view components, view-related logic, view testing, and how design changes can pass a system test and yet fail a common sense test.
208 - Matt Swanson, CTO of Arrows
In this episode, Matt Swanson returns to discuss YAGNI (you ain't gonna need it), Kent Beck's quote "make the change easy (warning: this may be hard) then make the easy change," why educational materials for beginners abound, but that's not the case for intermediate and advanced developers, what drives people to create educational materials, the purpose of testing, and being judicious in what you spend your time thinking about.
207 - My Consulting Work (featuring Andrew Atkinson)
On this special episode of Code with Jason, Andy Atkinson returns but this time he's interviewing me. We cover my new consulting venture, the sorts of things my consulting clients are looking for, consulting as a generalist rather than specializing, CTO coaching, using tests to help you plan your project, some of the thinking around my upcoming Sin City Ruby conference, and my Code with Jason World Tour.
206 - Vignesh Rajendran, Co-Founder of Peach
In this episode, Vignesh Rajendran and I discuss his beginnings as a programmer, TDD, structuring your tests, organizing your workflow via testing, managing developers for success, and giving yourself permission to do a bad job in order to progress as a developer.
205 - Stefanni Brasil, Co-Creator of Hex Devs
On today's episode I'm joined by Stefanni Brasil to discuss her experience at Rubyconf in San Diego, what it's like being a maintainer on the open-source Faker-Ruby, her plans for her talk at the upcoming Sin City Ruby, her work with Thoughtbot, using templates to spin up new Rails applications, and we look ahead to 2024's packed conference slate.
204 - Mike Stone, Co-Founder of The Gnar Company
In this episode, Mike Stone, co-founder of The Gnar Company and I talk about his journey to becoming a developer and founding a consultancy, finding clients via leveraging personal networks and beyond, marketing as hunting and farming, making sense of freelancing and utilization, using the correct value/pricing model, productized services, and what's next for The Gnar Company.
203 - Simmon Li
On today's episode, Simmon Li and I discuss his beginnings as a developer, finding a job, the benefits of attending local developer meetups, being a lifelong learner, and the upcoming Sin City Ruby conference.
202 - Friendly.rb 2023 Speaker Naijeria Toweett
In this episode, Naijeria Toweett and I chat about her talk at Friendly.rb 2023, her beginnings as a developer, attending a bootcamp as Covid began to spread, how Naijeria came to speak at Friendly.rb, organizing a conference, and her motivation to speak at conferences.
201 - Remote Ruby Co-Host and Sin City Ruby 2024 Speaker Jason Charnes
This week, Jason Charnes and I got together to talk about my monthly newsletter, job hopping, taking time to sharpen the saw, fixing bugs, front end development, design, reusability, defining abstraction, and things to do and where to eat in Las Vegas while attending Sin City Ruby.
200 - Saron Yitbarek, Founder of CodeNewbie and RubyConf Keynote Speaker
For my 200th episode of Code with Jason, I spoke with Saron Yitbarek, Founder of CodeNewbie and RubyConf Keynote Speaker. We talk about her beginnings in tech, the founding of CodeNewbie, the power of simply asking for things, how to go about asking for things, how being self-taught still relies upon materials made available by the work of other developers, possible topics for Saron's upcoming keynote at RubyConf, and how to get the most out of your in-person conference experience.
199 - Samuel Giddins
This week, Samuel Giddins and I discuss life on call as a developer, the upcoming RubyConf, the pitfalls of online communications, Sam's beginnings as a developer, software supply chain security, and the difference between "amicable" and "amiable." Sam will be at the Ruby Gems and Bundler open space at RubyConf in San Diego on Monday, November 13th 2023.
198 - TDD with Wisen Tanasa
On this episode, Wisen Tanasa joins me to talk Test Driven Development. We discuss why TDD is intuitive, translating specifications into tests, the balance between design and execution, developing a walking skeleton, the value of learning design principles and UX, minimizing the need to use willpower with positive feedback loops, and understanding what TDD is.
197 - Thiago Massa
On this week's episode, Thiago Massa joins me for a conversation about international pizza styles, life in Berlin as compared to São Paulo, guitars and playing music, writing books, and reading well to write well.
196 - Defensive Programming with Prarthana Shiva
This week I'm joined by Prarthana Shiva for a discussion of defensive programming. We talk guard clauses, assertions, null tricks, secure coding, offensive programming, and loud failure. We also get into debugging processes, Prarthana's background, and my upcoming book on AI assisted programming.
195 - Effective Communication with Mark Shead
Mark Shead joins me for a discussion on effective communication as an engineering leader. We also get into how understanding your client's needs can help you work efficiently, the difference in difficulty between creating something completely new and iterating on an existing design, how early and frequent feedback helps make the development process more efficient, and focusing on the value developers provide, rather than checking off tasks completed.
194 - Josh Doody, Salary Negotiation Coach
This week, Josh Doody joins me for a conversation on the ins and outs of salary negotiation. We also discuss increasing your value as an employee, negotiating raises, the importance of precision in professional communications and avoiding pronouns for proper nouns, using positive language as opposed to negative language, and the effect of building goodwill wherever you work.
193 - Amanda Perino, Executive Director of The Rails Foundation
This week I'm joined by Amanda Perino, Executive Director of the Rails Foundation. We discuss the upcoming Rails World conference in Amsterdam on October 5th & 6th. We also discuss what makes for a great conference experience, learning new languages and studying abroad, cultural differences between the US and Europe, and what's new at the Rails Foundation.
192 - Yeong Sheng
Today, I'm joined by Yeong Sheng Tan. We discuss his work as a coach and a consultant, how he integrates himself with a team to gain insight into workflows and to gain buy-in on his recommendations. We also get into test design, taking small steps and making frequent commits, epistemology, Bayesian reasoning, and multiple assertions in test cases.
191 - Payload CMS (YC S22) with Dan Ribbens
This week, I'm joined by Dan Ribbens for an in-depth conversation about his headless CMS software Payload CMS. We also discuss other CMS platforms and Dan's experience with Y Combinator.
190 - PostgreSQL with Sin City Ruby Speaker Andrew Atkinson
On this episode, Andrew Atkinson returns for a conversation centering on partitioning in PostgreSQL. We also discuss his upcoming book High Performance PostgreSQL for Rails, Sin City Ruby and some of the benefits of attending conferences, and "getting reps in."
189 - Sin City Ruby Speaker Ernesto Tagwerker
On today's episode, Ernesto Tagwerker returns for a conversation that touches on my upcoming Sin City Ruby conference (March 21-22 2024, in Las Vegas), addressing technical debt, particularly at small companies, defining technical debt, test coverage metrics, code metrics, the meaning of code quality, and "good enough" software.
188 - Sin City Ruby Speaker Irina Nazarova
Today I welcome back Evil Martians CEO Irina Nazarova for a discussion of her travels, the relentless march of time, changes we expect to see in the future of large language models, preparing for AI tools of the future, the most effective ways of using ChatGPT, AI as a performance enhancing drug, the upcoming Sin City Ruby conference (March 21-22, 2024), the support of the Ruby community and the importance of surrounding yourself with open, positive people.
187 - Sin City Ruby Keynote Speaker Obie Fernandez
On today's episode, I'm joined by Sin City Ruby Keynote Speaker Obie Fernandez for a discussion of AI. We talk about his AI project Olympia and the utility of opinions in an AI model. We also get into the suspension of disbelief that AI is capable of engendering, the function and necessity of politeness in AI models, the feasibility of custom AI models, next steps for AI, and social interactions at conferences.
186 - Jimmy Miller
This week, Jimmy Miller joins me for a discussion that touches on layoffs, the pitfalls of vulnerability reporting, our paths to programming, YJIT and performance, why we need as many programming languages as possible, writing clever code, collective ownership of code, duplication, and the value of liberalizing your education.
185 - Test Suite Performance with Vladimir Dementyev
This week, Vladimir Dementyev returns for a discussion of test suite performance. We talk profiling your test suite, looking for commonalities between tests, using TestProf to identify the slowest parts of your tests, and dividing your tests by type. We also get into how ChatGPT can be used by developers, specialized versions of ChatGPT for development use, how I've used ChatGPT to assist with my debugging process, and the (extremely low) risk of exposing your code to hackers by using ChatGPT.
184 - ChatGPT with Moiz Ali
This week Moiz Ali and I talk ChatGPT and its likely impact on the programming profession. We look at how ChatGPT has already impacted our workflows, potential use cases, using ChatGPT to explain programming concepts to you, software engineers becoming prompt engineers, why AI is unlikely to completely replace human interaction with code, and why programming is like farming.
183 - AI and the Democratization of Programming with Ufuk Kayserilioglu
On today's episode, Ufuk Kayserilioglu returns for a discussion of what he's been up to with the Ruby infrastructure team at Shopify, the challenges of parsing Ruby, how AI tools like ChatGPT will change programming, the likelihood of AI replacing programmers, and how AI is democratizing programming.
182 - ChatGPT with Lee McAlilly
Lee McAlilly returns for a discussion of his experiences using ChatGPT, strategies for using ChatGPT in your work, how getting correct answers isn't the only value to be derived from ChatGPT, what the future of programming with AI tools looks like, the potential downsides of AI technology, and how AI will or will not affect employment.
181 - How to Fix Flaky Tests with Dan Manges, Founder of RWX
On today's episode I'm joined by Dan Manges, founder of RTX, to discuss strategies for diagnosing and fixing flaky tests.
180 - ChatGPT and Testing with J. B. Rainsberger
In today's episode I'm joined by J. B. Rainsberger for an assessment of what value can be derived from using ChatGPT as a programming tool. We also discuss why you should write your tests backwards, using ChatGPT to make tests pass, and J. B.'s philosophy and approach as a consultant. Finally, we get into the benefits of joining J. B.'s JBrains Experience mentoring group.
- Extreme Programming Explained by Kent Beck
- Extreme Programming Installed by Ron Jeffries, Ann Anderson, and Chet Hendrickson
- Planning Extreme Programming by Kent Beck and Martin Fowler
- Switch by Chip and Dan Heath
- Test Driven Development at Wiki.C2.com
- JBrains.ca - J.B. Rainsberger's Site
- The JBrains Experience
- The Code Whisperer
- Blog.JBrains.ca
- The World's Best Intro to TDD, Level 1
- J. B. Rainsberger on Twitter
179 - France, Snail Mail, and ChatGPT with Nick Schwaderer
In this episode, Nick Schwaderer returns for a wide-ranging discussion that touches upon the weather in Belfast, my trip to France, cocktail recipes, the thrill of receiving snail mail, my new newsletter, ChatGPT and the alleged end of programming, and Nick's new project Scarpe.
178 - Separating What from How with Patricio Arluciaga
In today's episode, Patricio Arluciaga and I discuss working together on separating the what from the how in software development. We also touch on Patricio's time in the printing industry and his subsequent transition into programming.
177 - Lucian Ghinda, Creator of Short Ruby Newsletter
On today's episode, I'm joined by Lucian Ghinda, creator of Short Ruby Newsletter. We discuss tactics for reading technical books on unfamiliar topics, consistently delivering quality programming to production, programming as a mix of engineering and art, understanding the reasons why an approach was used rather than applying rules to determine whether code is "good" or "bad", and we go in-depth on duplication.
176 - How to Build a Feature with Irina Nazarova, CEO of Evil Martians
This week, Irina Nazarova and I discuss the way we think about building features. We get into the kinds of questions you should ask at the beginning of a project, using feedback loops to make sure you understand the user's needs, the propensity of users to muddle through using software rather than reading documentation, releasing smaller chunks of work frequently to limit risk, and focusing on helping the user rather than on the tech. We also discuss upcoming conferences and our travel plans.
175 - Preventing Software Defects with Vitor Oliveira
On today's episode, I'm joined by Vitor Oliveira for a discussion including learning spoken languages and whether that relates to programming, testing and QA, the false dichotomy of perfect vs. good code, the types of defects (bugs, design defects, & missing features), and code review.
174 - Freelancing with Jeremy Smith
This episode, Jeremy Smith and I get together for an in-depth conversation on his approach to freelancing. We also discuss his upcoming conference Blue Ridge Ruby (June 8-9).
173 - Phlex with Joel Drapper
In today's episode, I'm joined by Joel Drapper for a discussion of all things Phlex. We also talk about some of the projects Joel worked on at Shopify.
172 - Collin Jilbert, Developer at GoRails
In this episode, Collin Jilbert and I discuss finding a job as a junior developer, tracing family history and learning foreign languages, how Collin came to work at GoRails, the Pay gem, software estimation, testing as you go, skateboarding and how your hobbies make you a better programmer.
171 - Smart Testing Practices with Rich Steinmetz
In this episode, Rich Steinmetz and I talk about the connections between programming, music, and poker, living and traveling in various parts of the world, test driven development, arranging your namespaces and testing, and the art of persuasion.
170 - Growing Large Rails Applications with Collin Donnell
On this episode, Collin Donnell returns for a discussion of the process of creating content, among many other miscellaneous topics. We also get into some of what I'm working on for my next book, called Growing Large Rails Applications.
169 - Rails Concerns with Jorge Manrubia of 37signals
In today's episode, Jorge Manrubia returns for a discussion of Rails concerns.
168 - Irina Nazarova, CEO of Evil Martians
This episode, I'm joined by Irina Nazarova, CEO of Evil Martians for a discussion of her time in Portugal, her time with Evil Martians and her previous experience with startups, my hair salon software, and how focusing on the user can influence design decisions.
167 - "Vanilla Rails is Plenty" with Jorge Manrubia of 37signals
In this episode I talk with Jorge Manrubia about his recent blog post, "Vanilla Rails is Plenty".
166 - Feature Flags and Duplication with Julian Fahrer
In this episode, Julian Fahrer returns to discuss feature flags and duplication.
165 - Upgrading Rails with Ernesto Tagwerker
This week Ernesto Tagwerker returns for a discussion of his work upgrading Rails apps with FastRuby, the benefits of exercise and getting outside, and the ins and outs of productized services.
164 - OOP Design in Rails with TJ Stankus
Code with Jason is back! On this episode, TJ Stankus returns for a discussion of Object Oriented Programming and his book 99 Bottles of OOP. We also discuss managing large applications with Rails, models, organizing by domain concept, and microservices.
- 99 Bottles of OOP by Sandi Metz, Katrina Owen, and TJ Stankus
- Responsibility-Driven Design by Rebecca Wirfs-Brock
- Design Stamina Hypothesis by Martin Fowler
- The Magic of Reality by Richard Dawkins
- Domain Driven Design by Eric Evans
- Why I Organize my Tests by Domain Concept, not by Test Type by Jason Swett
- TJ.Stank.us
- TJ Stankus on Twitter
- tjstankus@gmail.com
163 - The Final Episode (for Now): Nick Schwaderer
Nick Schwaderer returns for the final episode before the show goes on hiatus. In this episode, recorded live on Twitter, we discuss a cornucopia of topics, including running a live event on Twitter, the vegetable drink V8, multi-level marketing, conference organizing, air quality, structuring large applications, and soup.
162 - Large Rails Apps with Alex Evanczuk, Software Engineer at Gusto
In this episode, I'm joined by Alex Evanczuk for a conversation about large Rails applications, how they grow, and how to keep things under control as they grow.
- Alex Evanczuk's Email
- Laying the Cultural and Technical Foundation for Big Rails (blog post)
- Laying the Cultural and Technical Foundation for Big Rails (talk)
- Ruby/Rails Modularity Slack
- Ruby At Scale on GitHub
- Alex Evanczuk on Twitter
- Alex Evanczuk on LinkedIn
- Alex Evanczuk on GitHub
- Code Complete by Steve McConnell
161 - Adrian Marin, Founder of Avo Admin
In this episode, I talk with Adrian Marin about Avo Admin and how it compares to Jumpstart and Bullet Train, the origins of Avo Admin, the early struggles of developing Avo Admin, making the leap to working on Avo full time, the size of the Rails community, achieving profitability and the price of ramen.
160 - PostgreSQL with Andrew Atkinson
In this episode I talk with Andrew Atkinson about PostgreSQL and databases. We talk about check constraints, foreign keys, and other PostgreSQL/database concepts.
- Andy Atkinson.com
- Andrew Atkinson on Twitter
- Andrew Atkinson on GitHub
- Puny to Powerful PostgreSQL Rails Apps (RailsConf 2022 talk)
- Creating a constraint that is initially "not valid"
- Slides 16 & 17 of this presentation also deal with "not valid" constraints
- The Strong Migrations gem at Github
- Lukas Fittl's pganalyze
- Haki Benita's post on adding constraints without validating immediately
159 - Early Developer Career Stage with Brian Hogan
In this episode, I'm joined by Brian Hogan for a conversation about the state of hiring in tech, the problems surrounding the need to generate new senior developers, and developing your personal network with an eye towards career advancement.
158 - Andrew Mason, Senior Product Engineer at Podia
This week, I'm joined by Andrew Mason, Senior Product Engineer at Podia and co-host of Remote Ruby and Ruby for All for a discussion about tailoring content for an audience of junior developers, Andrew's newsletter Ruby Radar, SIM swapping, and dealing with internet problems.
157 - Seth Tucker, Developer at KNOWiNK
In this episode, Seth Tucker returns to discuss the Crystal programming language, developing a contextually-aware chatbot, developing for SEO, page loading time and ad spending.
156 - Hotwire with Matt Swanson
On this week's episode, I'm joined once again by Matt Swanson for a wide-ranging conversation that touches on blog writing, Hotwire, Turbo Frames, plants, making mistakes in the physical realm, books and science fiction, historic firsts and the impacts of innovation, and Stack Overflow.
155 - John Knapp, Startup Whisperer
This week, I sit down for a conversation with multi-hyphenate John Knapp. Our wide-ranging discussion touches on inventing, sailing, understanding user stories, deliberately building flexibility into your career, the need for domain expertise when starting a new company, and things to look for when seeking a new startup opportunity.
154 - Chris Seaton, Researcher at Shopify
In this episode, Chris Seaton and I discuss just-in-time compiling for Ruby, Chris's path to becoming a researcher, speed concerns with Ruby, Truffle Ruby, the book Chris is currently writing and the value of having a non-technical side project.
153 - Collin Donnell
In this episode, I welcome Collin Donnell back to discuss how to learn new techniques and technologies, Smalltalk, service objects and models, RailsConf, and speaking at conferences.
152 - Tom Rossi, Co-Founder of Buzzsprout
In this episode, Tom Rossi and I discuss his principles for developing applications, guiding your efforts via mantras, being intentional about culture, providing a safe space for mistakes and questions, understandable code, and how to hire programmers who fit your culture.
151 - LIVE from Sin City Ruby: Soup with Jason (feat. Nick Schwaderer, Andrew Katz and Kenny Kandola)
In this episode of Soup with Jason, recorded live at Sin City Ruby 2022, I talk with a few friends about topic near and dear to our hearts: soup.
150 - Urban Hafner
This week, I'm joined by Urban Hafner for a wide-ranging discussion on management roles, autism, programming organization structure, sci-fi and fantasy books, programming books, the reasons behind high developer turnover, and bass guitar.
149 - Seth Tucker, Developer at KNOWiNK
In this episode, Seth Tucker and I discuss forms and form builders, the differences between junior and senior developers, reverse proxies and (my apologies) WordPress.
148 - Incident Response with Thai Wood
This week, I'm joined by Thai Wood for a discussion about incident response, runbooks, unarticulated expertise, mistakes during incident response, and listening to feelings.
147 - Extraterrestrial Life with Dr. Arik Kershenbaum
This week, I'm joined by Dr. Arik Kershenbaum, zoologist and astrobiologist at Girton College, University of Cambridge for a fascinating discussion about alien life and what we can learn about it from life on Earth.
146 - Build, Measure, and Learn with Ufuk Kayserilioglu
In this episode, Ufuk Kayserilioglu and I discuss the Lean Startup methodology and how it relates to the scientific method and the build, measure, learn loop, how to come up with ideas for businesses, sharpening up a business concept with the Lean Canvas, the real reasons people go to conferences, and how to measure success.
145 - Docker with Nick Janetakis
This week, I'm joined by Nick Janetakis for a discussion about the basic concepts and terminology of Docker.
144 - Martin Lee
In this episode I talk with my boss, Martin Lee, about how he and I started working together and what it is that we're working on.
143 - Stefanni Brasil and Thiago Araujo, Co-Creators of Hexdevs
In this episode, I'm joined by Stefanni Brasil and Thiago Araujo, the co-creators of Hexdevs. We discuss the skills that help you improve as a programmer, such as writing good Stack Overflow questions, formulating Google queries, and getting examples rather than advice from senior programmers. We also delve into the type of questions that senior programmers ask that set them apart from junior programmers.
142 - Jason Harrison, VP of Engineering Operations at Zeal
In this episode, Jason Harrison and I talk about his career as a programmer, getting started as a programmer, transitioning from freelancing to working as an employee, pricing work as a freelancer, bringing new team members up to speed, and avoiding the pitfalls of onboarding.
141 - Thinking Like a Developer with Zell Liew
In this episode, Zell Liew and I discuss how to think like a developer and how to break big problems down into smaller problems.
140 - Habits of an Exceptional Developer with Aweys Ahmed
In this episode, I talk with Aweys Ahmed about what makes an exceptional software developer, how to maximize your productivity by making small changes to your work habits, managing distractions, preserving mental capacity with to-do lists, and what we can learn from the lives of exceptional people.
139 - David Heinemeier Hansson
In this episode I talk with David Heinemeier Hansson about car racing, employee/environment fit and its effect on happiness and productivity, COVID-19, cryptocurrency, the Canadian trucker protests, and the advantage of being able to change your mind in light of new information. Joined by co-host Martin Lee. (We had some audio issues during the recording of this episode. Apologies for the lower-than-normal audio quality.)
138 - Alex VKO, Founder of RubyCI
In this episode, Alex and I discuss the technical aspects of RubyCI as well as some of the business aspects.
137 - Marissa Goldberg, Founder of Remote Work Prep
In this episode I talk with Marissa Goldberg about rest and leisure, morning routines, self-discipline, and how managing your energy makes you a more effective, productive worker.
136 - Colleen Schnettler of Hammerstone and Simple File Upload
In this episode, Colleen Schnettler and I discuss her entrepreneurial ventures including Simple File Upload and Hammerstone, freelancing, and our strategies and goals for content creation.
135 - Andrew Culver, Creator of Bullet Train
In this episode, Andrew Culver and I discuss the origins of Bullet Train, finding ideas for new products as a consultant, developer productivity, domain modeling, and the benefits of attending a conference like Sin City Ruby.
134 - Behind the Scenes of Conference Organizing with Jason Charnes
Jason Charnes and I discuss organizing Southeast Ruby and Sin City Ruby.
133 - Kelly Sutton, Software Engineer at Gusto
In this episode, Kelly Sutton and I discuss Sidekiq, structuring large codebases with Packwerk, namespaces, the real purpose of private methods, and the upcoming Sin City Ruby conference.
132 - Ufuk Kayserilioglu, Engineering Manager of the Ruby Infrastructure Team at Shopify
In this week's episode, I'm joined by Ufuk Kayserilioglu for a wide-ranging conversation including Richard Feynman, Ben Franklin, philosophy, and the idea of dauntless curiosity.
131 - "Anti-Stubbornness" with Nick Schwaderer
In this episode I talk with Nick Schwaderer about a neat new concept we call "Anti-Stubbornness". We also talk about a bunch of other stuff.
130 - ViewComponent with Joel Hawksley, Staff Engineer at GitHub
In this episode Joel Hawksley and I discuss ViewComponent, accessibility, and borrowing good ideas from React.
129 - Drew Bragg, Staff Engineer at Within3
In this episode I talk with Drew Bragg about the Sin City Ruby conference, deciding what to spend your learning time on, Drew's time at Within3, missing objects, conceptualizing technical debt, and object-oriented principles.
128 - Adrian Marin, Founder of Avo Admin
In this episode I'm joined by Adrian Marin for an in-depth discussion of his product Avo Admin. In addition to talking about Avo, we also talk about the Romanian language and Slavic versus Romance languages.
127 - SOLID Principles with Dave Copeland, CTO of Mood Health
In this episode Dave Copeland and I discuss what we like about SOLID principles and what we don't.
126 - Benjamin Wood, CEO of Hint
In this episode, Benjamin and I talk about transitioning from being an independent freelancer to running an agency, plus the challenges involved in hiring programmers. We also talk about recording music.
125 - Anurag Goel, CEO of Render
In this episode with Anurag Goel, CEO of Render, I probe Anurag to try to find out how he became employee #8 at Stripe and how he managed to successfully start a PaaS/hosting startup.
124 - Testing JavaScript with Kent C. Dodds
In this episode, Kent C. Dodds and I talk about testing JavaScript. Among other things, Kent and I have a debate about whether it's possible to have good code without tests.
123 - Scaling a Rails App with Tom Rossi of Buzzsprout
In this episode, Tom Rossi and I talk about what types of challenges one might encounter when scaling a Rails application. We also talk about podcasting.
122 - Deployment from Scratch with Josef Strzibny
In this episode, Josef Strzibny and I talk about his book, Deployment from Scratch, and, naturally, deploying and running web applications.
[LIVE from RubyConf 2021] Crossover Episode
This multi-podcast crossover episode was recorded live at RubyConf 2021 in Denver. In this episode you'll hear Jemma Issroff, Emily Giurleo, Nick Schwaderer, Jason Charnes, Andrew Mason and Jason Swett.
121 - API Design with Damir Svrtan, Senior Software Engineer at Netflix
In this episode, Damir and I take a deep dive on API design.
[LIVE from RubyConf 2021] I Tell Nick Schwaderer About My Soup
In this episode I tell Nick Schwaderer about some soup I ate. We touch on ingredients, spice level, utensils and consumption logistics.
Links:
120 - Functional Programming with Jono Stiansen
In this episode, Jono Stiansen and I discuss the philosophy of science as it applies to programming, debugging methodology, and functional programming.
119 - Refactoring Techniques and Working with Large Codebases with Dana Kashubeck
In this episode, Dana Kashubeck and I discuss working in a rapidly growing environment, deciding when to refactor, the benefits of organizational knowledge, and how to effectively share knowledge as opposed to simply giving answers.
[LIVE from RubyConf 2021] Joel Hawksley Tells Me About His Drink
In this special episode of Code with Jason, recorded live in Denver at RubyConf 2021, I ask Joel Hawksley what he's drinking and he tells me.
118 - Training as a Career Option with Reuven Lerner
In this episode, Reuven Lerner and I discuss what it looks like to work as a trainer, how to get into training, and what kinds of training work are available to developers.
117 - PHP Frameworks and Freelancing with Mauro Chojrin
In this episode, Mauro Chojrin and I discuss the Symfony PHP framework, Wordpress, and we also share a couple cautionary freelancing tales.
116 - Perceptual Learning with Stefanni Brasil
In this episode, Stefanni Brasil and I discuss how perceptual learning can be used to improve programming education.
115 - Organizing Large Rails Apps with Jared White
In this episode, Jared White and I discuss single-page applications, service objects, POROs, and the various techniques Jared and I use to organize large Rails apps.
114 - 7 Years at GitHub with John Nunemaker
In this episode, John Nunemaker and I discuss what it's like to work at GitHub for seven years, and how Microsoft's acquisition of GitHub impacted John's job and career.
113 - Matthew Bellantoni, Creator of RailsGigs
In this episode, Matthew Bellantoni and I discuss useful definitions of good and bad code, problems in modeling and communicating reality, how to find clients as a freelancer, and the job market for junior and senior coders.
112 - Code, Food, and Philosophy with Collin Donnell
In this episode, Collin Donnell and I discus regional cuisine, philosophy reading recommendations, the strengths of various programming languages, and whether we have anything to fear from AI.
111 - Dockerizing Development and Production with Nick Janetakis
In this episode, Nick Janetakis and I discuss freelancing, Dockerizing for development versus Dockerizing for production, and Kubernetes.
110 - Code Organization, Project Management, and Freelancing with Riaz Virani
Riaz Virani joins me for a discussion that covers strategies for project management, the realities of freelancing, declarative versus imperative programming, and productive disagreements.
109 - Peter Cooper, Publisher of Ruby Weekly
In this episode, Peter Cooper and I discuss the publishing of Ruby Weekly and the benefits of podcasting and blogging. We also talk about cars and the Smashing Pumpkins.
108 - Docker, Kubernetes and Lambda with Ken Collins
In this episode I talk with Ken Collins, Principal Engineer at Custom Ink, about Dockerizing development environments, Dockerizing production environments, and hosting containerized applications with Kubernetes and AWS Lambda.
MEGA Crossover Episode (The Bike Shed x Rails with Jason x Remote Ruby x Ruby on Rails Podcast)
This is a "mega" episode featuring guests from The Bike Shed, Remote Ruby, The Ruby on Rails Podcast, and this podcast, Rails with Jason.
107 - Object Modeling and Testing Techniques with Lee McAlilly
In this episode Lee McAlilly and I discuss how to decide where to put your code, the benefits of good naming conventions, and how testing can help you figure out what to do and how to do it.
106 - The Benefits of Working on One Thing at a Time with Josh Thompson
In this episode, Josh Thompson and I discuss iterative teaching and the curse of knowledge, managing frustration by managing your expectations, metrics for evaluating a dev team, and lessons learned from attempting to maximize income as a freelancer.
105 - The Benefits of a Test-Oriented Development Workflow with Chris LaBarge
On this episode I'm joined by Chris LaBarge who works with me at Meadows Healthcare. Chris and I discuss testing in general as well as using TDD to lower the cognitive burden of coding.
104 - Nick Agliano, Software Engineer
In this episode, Nick Agliano and I discuss finding your first programming job, infrastructure, and AWS.
103 - From Junior to Intermediate with Aweys Ahmed
In this episode, Aweys Ahmed and I discuss life as a junior developer, leveling up your skill set, and how to market yourself as a job candidate.
102 - Building and Releasing Large Features with Rémi Mercier
In this episode, Rémi Mercier and I discuss feature branches, alternative strategies to feature branching, searching for your first programming job, France, and Rémi's background as a stained glass craftsman.
101 - Behind the Scenes of My $7,000 Book Launch
In this episode, Rob Zolkos interviews me for a behind-the-scenes look at the publishing of my new book The Complete Guide to Rails Testing.
100 - How to Determine Production Server Specs with Nate Berkopec
In this episode, Nate Berkopec and I discuss how to right size your infrastructure, how to choose and gain insight from an infrastructure monitoring solution, the pitfalls of running your first training sessions, and much more.
099 - Decoding Ruby's Magical Syntax with Justin Gordon
In this episode, Justin Gordon and I discuss Ruby syntax, reducing the need for testing with Rescript or Rust, the benefits of time tracking, and the multitude of skills needed for running a successful agency.
Links:
Shakacode.com
Hichee.com
Justin Gordon on GitHub
Justin Gordon on Linkedin
Justin Gordon on Twitter
098 - Turbo on iOS, Freelancing, and Mugshot Bot with Joe Masilotti
In this wide-ranging episode I talk with Joe Masilotti on a number of sundry topics including using Turbo on iOS, methods of pricing for freelancing work, and Joe's tool for creating social media preview cards, Mugshot Bot.
Links:
097 - Chris Oliver, Creator of GoRails
In this episode I talk with Chris Oliver, creator of GoRails, HatchBox and Jumpstart Pro. We talk about the GoRails story, the challenges of deploying apps, and Chris's new house.
Links:
096 - Engineering MBA with Kevin Murphy
In this episode I talk with Kevin Murphy, Software Developer at the Gnar Company. Kevin and I discuss the contents of his recent RailsConf talk, Engineering MBA: Be the Boss of Your Own Work.
Links:
095 - Writing for Developers with Jordan Raine of GitHub
In this episode I talk with Jordan Raine, Senior Developer at GitHub, about writing. We talk about writing PRs and writing emails. We also discuss some of our favorite books and authors.
Links:
094 - Stimulus with Jesse Spevack, Staff Engineer at Ibotta
In this episode I talk with Jesse Spevack, Staff Engineer at Ibotta about Stimulus, conference talks, and hiring developers.
Links:
- Jesse Spevack on Twitter
- jessespevack.com
- jesse.spevack@ibatta.com
- Refactoring Live: Primitive Obsession by James Dabbs
093 - Ruby Garbage Collection with Jemma Issroff
In this episode I talk with Jemma Issroff about how garbage collection in Ruby works. Concepts discussed include the Ruby heap and tri-color mark-and-sweep.
Links:
092 - Frontendless Rails Frontend with Vladimir Dementyev
In this episode I talk with Vladimir Dementyev, software engineer at Evil Martians, about "frontendless Rails frontend". We talk about what this means and how it relates to ViewComponent, StimulusReflex and Hotwire.
Links:
091 - Debugging Your Brain with Casey Watts
In this episode I talk with Casey Watts, author of Debugging Your Brain. We discuss modeling the brain, cognitive behavioral therapy, music, and bubbles.
Links:
090 - Scheduling and Service Objects with Julian Fahrer
In this episode I talk with Julian Fahrer, Engineer at Brightline, about complex scheduling challenges and service objects.
Links:
089 - Design Tips for Programmers with John Athayde, VP of Design at PowerFleet
In this episode I talk with John Athayde, VP of Design at PowerFleet. John and I discuss some design tips for developers who want to improve their design skills. We also talk about farming and presidents.
Links:
088 - ViewComponent with Joel Hawksley of GitHub
In this episode I talk with Joel Hawksley, Software Engineer at GitHub, about GitHub's ViewComponent library.
Links:
087 - The Shopify Upgrow Rorschach Test with Matt Swanson
In this episode I talk with Matt Swanson about the Shopify Upgrow guide (since taken offline), which recently made a small splash in the Rails community. Matt and I share our candid opinions regarding what in the Upgrow guide we agree with and what we disagree with.
Links:
086 - Keeping Rails Apps Organized with Tom Rossi
In this episode I talk with Tom Rossi about how to keep Rails apps organized. Tom and I talk about POROs, "service objects", /lib vs. /app, the "slots" Rails gives you, and the limits of Rails' ability to help organize application code.
085 - Systematic Debugging with Matt Swanson
In this episode I talk with Matt Swanson about how to debug systematically rather than haphazardly.
Links:
084 - Debugging Techniques with Noah Gibbs
In this episode I talk with Noah Gibbs, author of Rebuilding Rails, about debugging techniques, the scientific method, a useful concept called "the presenting complaint", and more.
Links:
083 - How to Estimate Accurately with Matt Swanson
If you've ever experienced the pain of having woefully underestimated something, this episode is for you. In this one I talk with Matt Swanson about how to estimate accurately as well as why I'm not a big fan of story points.
Links:
082 - Code Quality with Ernesto Tagwerker, Founder at FastRuby.io
In this episode I talk with Ernesto Tagwerker, founder of FastRuby.io, about the topic of code quality. We discuss what code quality means as well as some tools that can assist with giving code quality proper attention.
Links:
081 - RedwoodJS with Anthony Campolo, RedwoodJS Core Advocate
In this episode I talk with Anthony Campolo, RedwoodJS Core Advocate. Anthony and I talk about what RedwoodJS is as well as RedwoodJS's components, React, GraphQL, and Prisma.
Links:
080 - Organizing Rails Code Outside of Active Record with Dave Copeland, Author of Sustainable Rails
In this episode I talk with Dave Copeland, author of Sustainable Web Development with Ruby on Rails, about organizing Rails code. Dave and I discuss why although many Rails developers are used to it, putting code in Active Record models isn't always the best move. We also share the various tactics we prefer to use in order to keep Rails code organized.
Links:
079 - Dockerizing Rails Applications with Mike Rogers, Founder of TypoCI
In this episode I talk with Mike Rogers about how to Dockerize Rails applications. We talk about the difference between Dockerizing for development and Dockerizing for production, mount volumes, performance trade-offs, and more.
Links:
078 - StimulusReflex with Jason Charnes
In this episode I talk with Jason Charnes about StimulusReflex. Jason and I cover what StimulusReflex is as well as some of the core concepts of the technology.
Links:
077 - Courier Configuration Manager with Yoseph Radding
In this episode I talk with Yoseph Radding, founder of Shuttl, about Courier Configuration Manager.
Links:
076 - Heuristics for Object-Oriented Design in Ruby with Tyler Williams
In this episode I talk with Tyler Williams, Software Engineer at Home Game Poker, about the contents of a blog post he recently wrote entitled Heuristics for Object-Oriented Design in Ruby. Tyler and I discuss some of the ideas in his blog post, most of which came from Sandi Metz's book Practical Object-Oriented Design in Ruby (POODR).
Links:
075 - Puma, Front-End Performance and CLI Apps with Nate Berkopec
In this episode I talk with Nate Berkopec, author of The Complete Guide to Rails Performance. Nate and I discuss Puma, front-end performance and building command-line interface (CLI) apps.
Links:
074 - Molly Struve, Site Reliability Engineer at Forem (Dev.to)
In this episode I talk with Molly Struve, Site Reliability Engineer at Forem, about a variety of topics including performance, monitoring, types of incidents, dividing time between incident response and preventative work, and, of course, horses.
Links:
073 - [How I'd Build It] Building a Sailing Membership Feature with Adam Hawkins
This is another How I'd Build It episode, where listeners send in their feature requirements and we discuss them on the show. In this one we talk about a sailing application where there's a need to keep track of whether members' payments are up-to-date. Adam and I also talk about the YAGNI principle as well as why it's not possible to have high-quality code without tests.
Links:
072 - Release Toggles, Feature Branches and Continuous Deployment with Matt Swanson
It's commonly accepted that it's better to deploy frequently than to only deploy once in a while. However, an obstacle to achieving this ideal is when you have a long-running feature that can't be released until it's all the way done. In this episode Matt Swanson and I talk about the solution to this problem: release toggles, also known as feature flags.
Links:
071 - Stripe Checkout with CJ Avilla, Developer Advocate at Stripe
In this episode I talk with CJ Avilla, Developer Advocate at Stripe about integrating Stripe with web applications using Stripe Checkout. We also digress into mechanical keyboards and the challenges of keeping APIs up to date.
Links:
070 - Determining What Tools You Need with Adam Hawkins
In this episode I talk with Adam Hawkins about determining what tools you need for a project. Where should you host? Should you use Docker? Kubernetes? Ansible? We touch on some general DevOps principles along the way.
Links:
069 - [How I'd Build It] How Noah Gibbs Would Build My Scheduling Feature
In this episode I put Noah Gibbs on the spot and ask him how he'd build a certain doctor scheduling feature that I had to build for a real production application.
Links:
068 - Dave Ceddia, Author of Pure React
In this episode I talk with Dave Ceddia, author of Pure React. Dave and I talk about some of the fundamental concepts of React, common libraries used with React, and how persistence and HTTP communication typically work in React apps.
Links:
067 - Rails, Ansible and AWS with Axel Kee, Author of RubyYagi.com
In this episode I talk with Axel Kee about Ansible. Axel hosts his Rails application on AWS using Ansible as an infrastructure management tool, and so do I, so Axel and I compared notes on our respective setups. We also raised a recurring topic on the podcast: goats.
Links:
066 - Tom Rossi, Co-Founder of Buzzsprout
In this episode I talk with Tom Rossi, co-founder of Buzzsprout, about his entrepreneurial story. We talk about Tom's agency, Higher Pixels, and the products that grew out of that agency, including the podcasting platform Buzzsprout and the healthcare-related product StreamCare.
Links:
065 - [How I'd Build It] Poker Turn Enforcement with Tyler Williams, Software Engineer at Home Game Poker
In this How I'd Build It episode I talk with Tyler Williams about an interesting challenge in an online poker program. Tyler and I discuss what would need to happen in order to ensure that a player only gets a specific amount of time on his or her turn without the player being able to cheat the system. We talk not only about the technical implementation but also the costs of preventing cheating relative to the likelihood that someone would have the willingness and ability to cheat.
- Tyler Williams on Twitter
- Ogden Studios
- Intro to RSpec Syntax (use discount code RWJ2020 to get 30% of the price listed on the site)
064 - [How I'd Build It] Third-Party API Interaction with Trae Robrock
In this episode, the first "How I'd Build It" episode, my guest Trae Robrock and I discuss a listener question about interacting with the Active Campaign API. Trae and I touch on testing, VCR, service objects, Interactors, and our general approaches for dealing with third-party APIs.
Links:
063 - Turning Around Legacy Projects with Robby Russell, CEO of Planet Argon
In this episode I talk with Robby Russell, CEO of Planet Argon, about improving legacy codebases. Robby and I discuss the "we'll fix it later" fallacy, whether to sacrifice quality for speed, the value of having a test suite, and Robby's and Jason's bands.
062 - Database Views with Mark Hutter, Lead Engineer at Landing
In this episode I talk with Mark Hutter, Lead Engineer at Landing, about database views. Mark and are discuss what views are, in what scenarios you'd use them, how we handle database modeling in general, and other topics.
Links:
061 - SRE and Incident Response with Erin Dees, Principal Software Engineer at Stitch Fix
In this episode I talk with Erin Dees, Principal Engineer at Stitch Fix, about Site Reliability Engineering. Topics discussed include being on-call, incident response, SLAs and SLOs, incident severity levels, recovering from incidents, and more.
060 - Andy Croll, Organizer of Brighton Ruby Conference and CTO of CoverageBook
In this wide-ranging episode I talk with Andy Croll about tech conferences, living in Singapore, spicy food, Andy's employer CoverageBook, and legacy code.
059 - Keeping Rails Apps Organized with Tim Canty, Senior Software Engineer at VTS
In this episode I talk with Tim Canty, Senior Software Engineer at VTS, about keeping Rails applications organized as they grow. Topics discussed include Plain Old Ruby Objects (POROs) and where to put them, Jason's enduring antipathy for service objects, and the pros and cons of using gems as a tactic for keeping code organized.
058 - Talking Technical Blogging with Ross Kaffenberger
In this episode Ross Kaffenberger and I talk about technical blogging. We discuss the benefits that blogging can bring to your career, how to get started, and whether you need to wait until you're an expert to start blogging.
057 - Matt Swanson, Creator of Boring Rails
In this episode I talk with Matt Swanson, creator of Boring Rails, about SPAs vs. traditional Rails apps, ways of structuring model code, POROs, service objects, Interactors, the merits of FormBuilder, and some other stuff.
056 - Rails Deployment using Docker and Kubernetes with Cameron Dutro
In this episode I talk with Cameron Dutro, software engineer at quip, about deploying Rails applications using Docker and Kubernetes. Cameron has built a tool called Kuby which helps with Rails/Kubernetes deployment.
055 - When NOT to use Rails with Noah Gibbs
In this episode I talk with Noah Gibbs about when NOT to use Rails. We also talk about aliens, cephalopods, and several other pertinent topics.
Links:
054 - Third-Party APIs, Refactoring and Roller Derby with Brittany Martin
In this episode I talk with Brittany Martin, Lead Web Developer at the Pittsburgh Cultural Trust and host of the 5x5 Ruby on Rails Podcast. Brittany and I talk about working successfully with poor-quality APIs, whether to extract application code into gems or not, and, of course, roller derby.
053 - Tim Cheadle, Director of Engineering at Resolve to Save Lives
In this episode I talk with Tim Cheadle, Director of Engineering at Resolve to Save Lives. Tim and I discuss the app Tim works on, called Simple, which helps healthcare professionals in India and elsewhere manage hypertension patients' needs. We also talk about scaling issues and usability testing.
052 - Debugging Techniques with Chelsea Troy
In this episode I talk with Chelsea Troy regarding the debugging techniques she shared in her recent RailsConf talk, "Debugging: Techniques for Uncertain Times". Chelsea and I talk about "progress mode" vs. "investigation mode", binary search, tests as scientific experiments, and, naturally, outer space.
051 - Developer Productivity with Itamar Turner-Trauring
In this episode I talk with Itamar Turner-Trauring, author of The Secret Skills of Productive Programmers. We share a number of productivity tips including don't get stuck, don't work long hours, implement the riskiest part first, write down what you're working on, and much more.
050 - DevOps for Beginners with Adam Hawkins
In this episode I talk with DevOps expert Adam Hawkins, who also appeared in episode 49. Adam and I talk about what DevOps is and how you can use DevOps principles to deliver better software faster.
049 - Testing Your Deployment Pipeline with Adam Hawkins
In this episode I talk with Adam Hawkins about the concept of not just testing your application code, but testing your deployment pipeline so that you mitigate the risk of running bad deploys that take your site down.
048 - Chad Pytel, Developer and CEO at thoughtbot
In this episode, packed with nuggets of wisdom, I talk with thoughtbot CEO Chad Pytel about the meaning of the terms "code quality" and "bad code", the ways in which poor-quality code comes into existence, how to add tests to a codebase that doesn't have much test coverage, and much more.
047 - Discussing Rails Deployment and Hosting Options with Nate Berkopec
In this episode I talk with Ruby performance consultant Nate Berkopec. This time Nate and I talk not about Rails performance but about hosting options for Rails including Heroku, Convox and bare AWS. We also touch on infrastructure management tools like Kubernetes, Terraform and Ansible.
046 - Tips for Working with Legacy Code with Nicolas Carlo
In this episode I talk with Nicolas Carlo, creator of UnderstandLegacyCode.com, about working with legacy code, adding tests to legacy code, how to safely make changes to legacy applications, and more.
045 - Jeff Geerling, Author of Ansible for DevOps
In this episode I talk with Jeff Geerling, author of Ansible for DevOps. Jeff and I talk about what Ansible is and why you would want to use it, some alternatives to Ansible and how Ansible is different, my experiences and Jeff's experiences with using Ansible, and much more.
044 - Cameron Gray, Co-Founder of Convox
In this episode I talk with Cameron Gray about Convox which is a free, open-source tool to assist with deploying applications to various cloud platforms. Cameron and I talk about how Convox works under the hood and how to get started with Convox for deploying an application. Technologies we touch on include AWS, Elastic Beanstalk, ECS, Docker and Kubernetes.
043 - AWS Lambda with Ken Collins, Staff Engineer at Custom Ink
In this conversation I talk with Ken Collins about what Lambda is, what use cases it's good for, why they started using Lambda at Custom Ink, and much more.
042 - Docker and Kubernetes with Kelsey Hightower
In this episode I ask Kelsey all kinds of noob questions such as "Under what scenarios should I use Docker?", "How does Kubernetes relate to Docker?" and "Can I borrow your toaster?" This is a great one for people who, like me, still have a hard time wrapping their head around Docker and K8s.
041 - Frank Rietta, Founder & CEO of Rietta.com
In this wide-ranging discussion about Rails security Frank and I talk about the security value of keeping gems updated, the security risk of infrequent deployment, state-sponsored hacking, and much more.
040 - Active Storage, CDNs and Image Performance with Mark Hutter, Lead Engineer at Landing
Mark and I talk about Active Storage, CDNs (including what one is and why you would use it), image performance, RailsConf, the Birmingham on Rails conference, and more.
039 - Talking Software Consulting with Justin Searls, Co-Founder of Test Double
In this conversation Justin and I talk about our respective experiences in software consulting, the different types of consulting/agency work, and how to get started in consulting.
038 - Andy Leverenz, Creator of Hello Rails
In this episode Andy and I talk about learning Rails, Tailwind CSS, graphic design, usability testing, entrepreneurial mistakes, and more.
037 - Server Infrastructure, systemd, and the Business Side of Sidekiq with Mike Perham
Me and Mike start with a detailed discussion of how systemd and systemctl work in Linux, then transition into server infrastructure in general, then finally we talk about the business side of Sidekiq.
036 - Jason Gedge, Staff Production Engineer at Shopify
In this episode I talk with Jason Gedge, Staff Production Engineer at Shopify, about Shopify's Rails monolith.
035 - [Solo Episode] How to Write a Test When the Implementation Isn't Obvious
In this solo episode I explain how to write a test when the implementation isn't obvious.
034 - David Bryant Copeland, Author of Sustainable Web Development with Ruby on Rails
It's a challenge to keep projects organized as they grow and to sustain a high level of productivity. In this episode me and David Bryant Copeland talk about techniques we've used to accomplish this. Among other things, we discuss presenters/decorators/facades, service objects, OOP vs. procedural, and monoliths vs. microservices.
033 - How to Speak at Conferences with Karl Hughes, Creator of CFP Land
Speaking can be a really effective way to advance your programming career. In this episode me and Karl Hughes both share our advice for landing speaking gigs at conferences and local meetups.
032 - Test Desiderata with Kent Beck and Kelly Sutton
I talk with Kent Beck and Kelly Sutton about their recent video series, Test Desiderata.
031 - Noah Gibbs on His New Book, Mastering Software Technique
Noah is working on a new book called Mastering Software Technique. In this episode Noah and I talk about his book, parallels between visual art and programming, French loanwords, and European history.
029 - AWS Deployment with Andreas Wittig
Me and Andreas talk about various AWS deployment options including EC2, Elastic Beanstalk, Heroku (which uses AWS under the hood), ECS, Packer, Fargate, Ansible, Chef, and more!
028 - Sandi Metz, Author of POODR (with Special Guest TJ Stankus)
Sandi, TJ and I talk about OOP in Rails; Java and COBOL; service objects and Interactors; getting bitten by snapping turtles; and Sandi's 11 bicycles.
027 - Ben Orenstein's Entrepreneurial Journey
In this episode I talk with Ben Orenstein about his entrepreneurial journey.
026 - Adam McCrea, Creator of Rails Autoscale
Me and Adam talk about his Rails origin story, his team's working style at You Need a Budget, 37signals advice, Adam's product Rails Autoscale, testing, and more.
025 - Jessica Kerr
In this episode me and Jessica talk about documentation, working with large systems, and how we write tests.
Taking a break - see you in 2020
Taking a break from releasing episodes for a few weeks.
024 - Michael Hartl, Author of The Ruby on Rails Tutorial
I talk with Michael about various miscellaneous topics including evolution, Stephen Hawking, Tau (a number equal to two times pi), Michael’s time in Y Combinator, and Michael’s experience developing the Ruby on Rails Tutorial.
023 - Rails and Docker with Julian Fahrer
In this episode, Julian Fahrer and I talk about using Docker with Rails.
022 - Talking Raspberry Pi with Colleen Schnettler
In this episode, Colleen Schnettler and I discuss Raspberry Pi, ship valves, freelancing, programming with kids, and Colleen's new Rails screencast series.
021 - Nate Hopkins, Co-Founder of CodeFund
In this episode, Nate Hopkins of CodeFund joins me for a conversation about early-2000s JavaScript, Nate’s OSS project StimulusReflex, and the aforementioned CodeFund, an open-source funding platform.
020 - Rails Upgrades with Ernesto Tagwerker
Ernesto is back and this time we're talking upgrading Rails, speaking at conferences, how to find freelancing clients, and how to assess code quality.
019 - Charles Nutter and Tom Enebo, Co-Leads of the JRuby Project
Charles and Tom, co-leads of the JRuby project, explain what JRuby is, how it works and who it’s for. Our guests also patiently answer Jason’s numerous and excruciatingly fine-grained questions. Charles and Jason also discuss their respective endeavors for spicy food during their international travels.
017 Benedikt Deicke, Co-Founder of Userlist
On today's episode, Benedickt Deicke and I discuss Ember + Rails as an architecture choice, starting a software project from scratch, and some of our past failed business attempts.
018 - Andrew Culver, Creator of Bullet Train
Andrew and I got together to discuss his software Bullet Train, service objects, POROs, and the value of code testability.
016 - Richard Schneeman
Richard Schneeman and I discuss his job with Heroku, rate limiting, inventions, refrigeration, peas, and the overlaps between mechanical engineering and coding.
015 - Mike Perham, Creator of Sidekiq
Me and Mike discuss, among other things, good use cases for Sidekiq, deploying Sidekiq to production, and side topics like what the JVM is and what threads are.
014 - A Completely Unfocused and Utterly Mind-Blowing Conversation with Noah Gibbs
Noah and I got together for a conversation about his book Rebuilding Rails and then immediately digressed into a series of fascinating rabbit holes about the history of coding and computers themselves.
012 - Transitioning from Freelance to Products with Mike Buckbee
Mike Buckbee, founder of Expedited Security returns and we discuss how we transitioned from freelance work to building our own products.
013 - Rails Performance with Nate Berkopec
I talk with Nate Berkopec about common Rails performance issues. Nate also explains what the heck threads and connection pools are.
011 - Two Docker Noobs Talk About Docker - with Andrew Mason
In this episode I drag my friend Andrew Mason through a long, rambling, undisciplined discussion of a number of things including me and Andrew's respective experiences with Docker.
010 - Vim Tips with Trae Robrock
Trae Robrock returns and we share our favorite tips, tricks, and plugins for working in Vim.
009 - Freelancing and Entrepreneurship as a Programmer with Mike Buckbee
Mike Buckbee, founder of Expedited Security, and I talk about our how we approach entrepreneurship, what we've learned, and why you shouldn't listen to our advice.
008 - Maintaining Large Rails Applications with Ernesto Tagwerker
In this episode, Ernesto Tagwerker and I discuss how we approach working on large Rails applications, methods for writing useful tests in a large application setting, and we extend an invitation to join us for some Nashville hot chicken in August at Southeast Ruby.
007 - How to Find a Job with Charles Max Wood
Charles Max Wood and I discuss how to create, grow, and leverage the relationships you need to get the work you want as a programmer.
006 - Me and Trae Robrock Share Our Favorite Debugging Tips
Me and Trae Robrock share all our favorite debugging tips.
005 - Vladimir Dementyev and I Discuss Contributing to Rails
Vladimir Dementyev and I discuss the hows, whens, and whys of contributing to Rails and other open source projects.
004 - Webpacker with Prathamesh Sonpatki, Director at BigBinary
Prathamesh Sonpatki and I discuss what Webpack and Webpacker are and how to use Webpack to manage JavaScript in Rails.
001 - Ben Orenstein, Co-Founder of Tuple
On my premiere episode, I talk with Ben Orenstein about refactoring, forms in Rails, the pros and cons of inheritance, levels of abstraction, and ActiveRecord callbacks.
002 - Stimulus and Webpacker with Noel Rappin
In today's episode, I talk to developer and author Noel Rappin about Webpack, Webpacker, and Stimulus.
003 - Rails Security with Frank Rietta
Today, Frank Rietta and I discuss common application vulnerabilities from the OWASP top ten and basic steps you can take to secure your Rails code.
- Frank Rietta's Email: frank@rietta.com
- Frank Rietta on Twitter
- Frank Rietta on GitHub
- Rietta Inc.
- The OWASP Top 10