Share
Dead Code
Supercritical Gem (with Stefanni Brasil)
In this episode of the Dead Code Podcast, Jared Norman talks with Stefanni Brasil, a Senior Software Developer at thoughtbot and co-founder of hexdevs, about career growth, open source, and mentorship in tech. Stefanni shares her non-traditional path into software development and her passion for helping mid-level developers advance through her program "Get to Senior," which addresses both technical and non-technical skills. They discuss the challenges of career progression, the importance of understanding company promotion dynamics, and the need for developers to focus on leadership and communication skills. Stefanni also highlights the ethical concerns surrounding open-source contributions, advocating for companies to financially support the projects they benefit from. The conversation ends with a reflection on the role of AI, productivity, and the value of sharing knowledge publicly to strengthen the tech community.
Links:
Faker Library (GitHub Repository)
ChaelCodes (Rachel's Social Media)
Dead Code Podcast Links:
Jared’s Links:
More episodes
View all episodes
16. Postgres and Destroy (with Andrew Atkinson)
45:32||Ep. 16In this episode of Dead Code, host Jared Norman talks with Andrew Atkinson, author of High Performance Postgres For Rails, about the benefits and recent updates to Postgres. Andrew shares why he prefers Postgres for its reliability, extensibility, and independence from corporate control, making it ideal for applications with complex or fluctuating data needs. They delve into Postgres 17’s new features, like JSONB functions for querying JSON as if it were relational data, improved MERGE operations for simplified upserts, and new returning clauses. Andrew’s book is designed for application developers seeking to optimize performance and security beyond ORM abstractions, with practical examples to help them harness Postgres’s full potential. Jared and Andrew agree that Postgres’s robust tools can elevate an application’s reliability, especially in high-demand scenarios like e-commerce, encouraging developers to explore its depth.Links:Andrew Atkinson’s BlogAndrew’s Book, High Performance Postgres For RailsPostgres 17 Release NotesScenic Gem (for managing database views in Rails)JSON Path Syntax (for querying JSON data in Postgres)pgvector extension for Postgres (for AI and vector search applications)TimescaleDB Extension (for time series data)Citus Extension (for distributed Postgres workloads)Dead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript15. Twitching Hour (with Rachael Wright-Munn)
33:49||Ep. 15In this Dead Code podcast episode, Jared Norman interviews Chael Wright-Munn (ChaelCodes) about the benefits of working openly through activities like live streaming and contributing to open-source projects. Chael emphasizes how creating a "library of examples" through public coding can enhance a developer’s skills, build their professional network, and preserve their achievements beyond their current job. She offers practical advice on starting a stream, such as using OBS software, focusing on community building, and engaging in structured projects like Hacktoberfest. The discussion highlights the value of maintaining a visible presence in the tech community, whether through streaming, open-source contributions, or other public-facing efforts, as a way to retain knowledge and showcase work, even across job changes.Links:ChaelCodesRuby SocialHacktoberfestDev.toGitLabOBS StudioRegex CrosswordStreamlabs OBSCode Thesaurus GitHub RepositoryDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript14. Master of Generators (with Garrett Dimon)
33:38||Ep. 14In this episode of Dead Code, host Jared Norman interviews Garrett Dimon about the benefits of using Rails generators for automating tasks and maintaining consistency in Rails applications. Garrett, a seasoned developer, shares how he transitioned to Ruby and Rails and delved deep into using generators to simplify repetitive tasks, automate file creation, and adhere to Rails conventions. He discusses the advantages of generators, such as reducing errors, saving time, and creating a streamlined workflow that benefits entire teams. Garrett also talks about writing a book on the topic of making generators more accessible and highlights how they can be customized for various needs, offering significant productivity gains for developers. The episode emphasizes the enduring value of Rails generators in improving development processes and project structure.Links:Garrett Dimon's WebsiteThe Book on GeneratorsRails FrameworkThor GemFireside.fmDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript13. Hammer Smashed Argument (with Coraline Ada Ehmke)
30:35||Ep. 13In this episode, Jared speaks with Coraline Ada Ehmke, a veteran software developer and creator of the Contributor Covenant and Hippocratic License, about the ethics of open-source software. Coraline discusses common justifications developers use to avoid accountability for the potential harm their software may cause, such as the "freedom zero" argument advocating for unrestricted use of software and the belief that access to the source code ensures ethical behavior. She critiques these views, emphasizing that developers must consider the societal impact of their work and set clear ethical boundaries. Coraline encourages the use of a "negative roadmap" to define what developers refuse to build, urging them to think critically about the harm their technology may enable. The episode concludes with Coraline promoting her work with the Organization for Ethical Source and her upcoming book, which explores responsible tech practices.Links:Coraline Ada EhmkeContributor CovenantHippocratic LicenseOrganization for Ethical SourceRailsConfMadison RubyRichard StallmanUnited Nations Universal Declaration of Human RightsDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript12. Benevolent Dictatorship (with Mat, Noah, Sofia, and Chris)
47:00||Ep. 12In this episode, host Jared Norman and SuperGood teammates and guests Mat Harvard, Sofia Besenski, Noah Silvera, and Chris Todorov recap their experiences at Rails World 2024. They discuss the unique venue in Toronto, key takeaways from David Heinemeier Hansson's keynote on making Rails more accessible, and the shift towards on-prem solutions over services like Heroku. The panel highlights technical talks on scaling Postgres, Shopify’s automated Rails upgrade process, and debates on Kamal 2.0’s proxy features. They also explore Rails’ future direction, technical debt management, and the Rails boot process.Links:Rails WorldHerokuAWS EC2Kamal 2.0PostgreSQLRailsTest DoubleHotwireRuby on RailsPrismLet’s EncryptDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript11. Fear-Driven Development (with J. B. Rainsberger)
46:25||Ep. 11In this episode of *Dead Code*, J.B. Rainsberger discusses the pitfalls of integrated tests, calling them a "scam" due to their tendency to complicate rather than solve testing problems. He advocates for writing smaller, more focused tests, like unit tests, to simplify debugging and avoid tangled code. J.B. emphasizes that test-driven development (TDD) should be flexible, guiding developers to test based on what they're afraid might break, rather than following rigid rules. He introduces the concept of four stages of TDD, where developers evolve from focusing on bug prevention to refining their approach based on experience, adapting their testing strategy to different contexts while maintaining the core principle of starting with a failing test.Links:J.B. Rainsberger's websiteJ.B.'s technical blog: The Code WhispererJ.B.'s broader development blog: Blog by JBrainsMatteo Vaccari’s article: How I Learned to Love Mock ObjectsGrowing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat PryceTest-Driven Development: By Example by Kent BeckRSpec for Rails Rails Testing DocumentationExtreme ProgrammingDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript10. Pondering the Prism (with Kevin Newton)
29:10||Ep. 10In this episode of Dead Code, Jared interviews Kevin Newton, Staff Software Engineer at Shopify, about his work on Ruby's new parser, Prism. Kevin explains how Prism was created to address the limitations of Ruby's original parser by providing a portable, error-tolerant solution that unifies the ecosystem, replacing multiple outdated parsers used across different tools. They discuss the challenges of parsing Ruby's complex syntax, including quirky features like heredocs and regular expressions, and how Prism was designed for better control and performance. Kevin emphasizes the community-driven effort behind the project, making it more accessible to contributors, and shares how Prism will advance Ruby tooling in future releases.Links:Kevin Newton's blogKevin Newton's GitHubKevin Newton on Twitter (X)Crafting InterpretersThe Dragon BookPrism ParserRuby LSPShopifyRails World ConferenceESLintDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript8. Triplicate Multi-Nested Ternary (with Hilary Stohs-Krause)
35:03||Ep. 8Hilary Stohs-Krause and Jared discuss the importance of applying accessibility principles to coding environments, emphasizing how it benefits both developers and end-users. Hilary, a senior software engineer, shares insights from her talk at Madison Ruby, highlighting how small changes, like using descriptive variable names, avoiding acronyms, and incorporating linters, make code more readable and maintainable. These practices not only support programmers with disabilities, such as ADHD or vision impairments, but also improve the overall coding experience for all developers. Hilary argues that creating accessible code benefits everyone by reducing cognitive load, improving communication, and fostering more inclusive workplaces, even though such practices are often deprioritized in fast-paced, capitalist environments.Links:Stack Overflow Survey of DevelopersMadison Ruby ConferenceRed CanaryRuby on RailsRuboCopHAML-LintADA (Americans with Disabilities ActDyslexia in ProgrammersADHD in ProgrammersPlain Language Writing GuidelinesGo Programming LanguageFactoryBotDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript