PodcastsTechnologyCoding Chats

Coding Chats

John Crickett
Coding Chats
Latest episode

78 episodes

  • Coding Chats

    Let it crash! How Erlang and BEAM build bullet proof software

    23/04/2026 | 37 mins.
    Coding Chats episode 74 - Erik Stenman talks to John Crickett about the BEAM virtual machine — the runtime behind Erlang, Elixir, and Gleam. Built by Ericsson in the 1980s for telephone switches, it was designed for fault tolerance and concurrency from day one, yet never achieved mainstream popularity despite being technically superior to many alternatives.

    The discussion covers what makes BEAM unique: lightweight isolated processes, a "let it crash" fault philosophy, and powerful built-in introspection. Erik also shares practical lessons from production use and explains why newer languages like Elixir and Gleam are finally bringing BEAM the attention it deserves.

    Chapters
    00:00 Introduction to Beam and Erlang
    02:45 The Unique Features of Erlang and Beam
    05:17 Concurrency and Fault Tolerance in Beam
    07:34 Applications and Use Cases of Erlang
    10:00 Error Handling and Process Supervision
    12:49 Performance Considerations in Beam
    15:09 Learning and Adopting Erlang and Elixir
    17:28 The Future of Erlang, Elixir, and Gleam
    37:04 Exploring Related Content

    Erik's Links:
    https://happihacking.com/ https://happihacking.com/blog/
    https://github.com/happi/theBeamBook
    https://www.amazon.com/dp/9153142535https://www.elixirconf.eu/trainings/the-beam-for-developers/

    John's Links:
    John's LinkedIn: https://www.linkedin.com/in/johncrickett/
    John’s YouTube: https://www.youtube.com/@johncrickett
    John's Twitter: https://x.com/johncrickett
    John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social

    Check out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.

    Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.

    Takeaways
    BEAM was built for telephone switches in the 1980s — its reliability features translate surprisingly well to modern web and distributed systems.
    Erlang lost the popularity race to Java largely due to marketing, not technical merit.
    BEAM processes are extremely lightweight — hundreds of bytes, not kilobytes — allowing millions to run concurrently.
    "Let it crash" is a design philosophy, not laziness — isolating failures prevents one bad process from taking down the whole system.
    No shared memory between processes eliminates an entire class of concurrency bugs.
    Per-process garbage collection means no "stop the world" pauses like you get in Java.
    Hot code loading lets you upgrade a running system without downtime — but it requires careful thought about data structure changes.
    BEAM's built-in introspection lets you inspect a live system in real time, making debugging far faster.
    Elixir and Gleam are modernising the syntax and bringing new developers onto the BEAM platform.
    BEAM doesn't solve everything — good architecture still matters, but it gets you there faster than most alternatives.
  • Coding Chats

    AI writes it. You own it. Don't ship AI slop

    16/04/2026 | 56 mins.
    Coding Chats episode 74 - John Crickett talks to Nnenna Ndukwe, a developer advocate at Qodo, discussing how teams can maintain code quality in the age of AI coding tools. She argues that AI agents should be combined with traditional tools like linters and static analysis — not replace them — and that teams need to define and codify what "good code" looks like so that consistency can be enforced across the whole development lifecycle.

    A recurring theme is developer ownership: as AI writes more code, engineers must stay in the driver's seat, genuinely reviewing what gets shipped rather than blindly accepting it. The episode also touches on dogfooding, with both agreeing that using your own tools internally is a strong signal of a product worth trusting.

    Chapters
    00:00 Introduction to AI in Software Development
    03:24 Embedding Quality Gates in Development
    06:03 The Importance of Consistency in Code
    09:09 Ownership and Critical Thinking in Engineering
    12:00 Balancing Tool Freedom and Intellectual Property
    14:56 Navigating AI Tools and Workflows
    17:47 Managing Burnout in AI Development
    20:47 The Evolution of Coding and Instant Gratification
    23:47 Documenting Ideas and Project Management
    26:54 Using AI for Ideation and Collaboration
    31:38 The Joy of Learning Through AI
    34:11 Codo: Enhancing Code Quality and Governance
    37:22 Comparing Code Review Tools
    40:10 The Future of AI in Software Development
    50:51 The Importance of Dogfooding Products
    56:12 Exploring Related Content

    Nnenna's Links:
    https://nnennahacks.com
    https://linkedin.com/in/nnenna-ndukwe/
    https://x.com/nnennahacks

    John's Links:
    John's LinkedIn: https://www.linkedin.com/in/johncrickett/
    John’s YouTube: https://www.youtube.com/@johncrickett
    John's Twitter: https://x.com/johncrickett
    John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social

    Check out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.

    Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.

    Takeaways
    Combine AI coding tools with deterministic tools (linters, static analysis) — don't ditch one for the other.
    Define what "good code" looks like for your team before expecting AI agents to enforce it.
    Embed quality checks early and consistently across every stage of the dev lifecycle.
    Developers must stay in the driver's seat — ownership and understanding of AI-generated code is a key differentiator.
    Code consistency (naming conventions, style, structure) becomes even more valuable when LLMs are in the mix.
    Coding rules need to live in a centralised, accessible place so all agents can rely on them.
    Dogfooding your own tools internally is a non-negotiable sign of a trustworthy product.
  • Coding Chats

    AI assisted software engineering need leaders not coders

    09/04/2026 | 49 mins.
    Coding Chats episode 73 - John Crickett interviews Benjamen Pyle across topics ranging from tech influencer trust to the software engineer vs. craftsman debate. Benjamen argues that what makes an influencer worth following isn't follower count but authenticity and genuine intellectual evolution over time.The conversation then turns to AI, where Benjamen— initially a skeptic converted by Claude Code — observes that the developers getting the most out of AI are those with strong leadership and problem-solving skills, drawing a parallel between directing an AI assistant and managing a team effectively.

    Chapters
    00:00 Evaluating Tech Influencers
    06:15 Craftsmanship vs. Engineering in Software
    12:06 Career Ownership and Development
    20:47 Finding and Utilizing Mentors
    30:28 The Value of Diverse Mentorship
    36:49 Navigating Careers Outside Big Tech
    42:43 AI and Leadership in Programming
    49:42 Exploring Related Content
    49:50 Outro Final Coding Chats.mp4

    Benjamen's Links:
    https://binaryheap.com
    https://pylecloudtech.com

    John's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/
    John’s YouTube: https://www.youtube.com/@johncrickett
    John's Twitter: https://x.com/johncrickett
    John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social

    Check out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.

    Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.

    Takeaways
    Follower counts and engagement metrics don't equal credibility — dig into someone's post history and body of work before trusting a tech influencer.
    Changing your opinion is a strength, not a weakness, as long as the change is driven by genuine learning rather than external incentives like sponsorships.
    Most developers aren't truly "data-driven" despite the industry's rhetoric — people tend to follow trends and stay in safe, popular lanes.
    The "software engineer" label is contested — real engineering disciplines are governed by hard facts and standards, whereas software dev still argues about tabs vs. spaces.
    Many developers just want to clear their sprint tickets and go home, and that's fine — but it's a different mindset from those who treat the craft as a passion.
    AI isn't just a code-writing shortcut — used well, it's more like coordinating a team of engineers, QA, and analysts all at once.
    Developers who struggle with AI tend to be those who just spam it with prompts; those who thrive treat it more like a leadership and delegation challenge.
    Strong soft skills — clear communication, problem decomposition, managing priorities — are turning out to be the key differentiator in who gets the most from AI tools.
    Benjamen was initially skeptical of AI but changed his mind after hands-on experience with Claude Code, which he sees as a good example of his "strong opinions, weakly held" philosophy in action.
  • Coding Chats

    Soft skills for software engineers - why coding isn't the hard part

    02/04/2026 | 54 mins.
    Coding Chats episode 72 - Charles Humble and John Crickett explore why professional skills — communication, critical thinking, and documentation — are arguably more important than writing code itself. Drawing on his O'Reilly shortcut article series and a career that began with an English Literature degree, Charles makes the case that these so-called "soft skills" are actually core to the job, and that they can be learned through practice by anyone, regardless of background or natural talent.

    The conversation also digs into the seismic impact of AI on the software industry. Charles shares his nuanced take: while generative AI tools are reshaping how code gets written, the durable skills — understanding systems, debugging, domain knowledge, and clear communication — matter more than ever. Rather than panic or uncritical adoption, Charles encourages engineers to focus on what remains irreplaceable, and to approach an uncertain future with curiosity and a willingness to take shots on goal.

    Chapters
    00:00 The Importance of Professional Skills for Software Engineers
    06:24 Navigating the Impact of AI on Software Engineering
    12:09 The Evolving Role of Software Engineers
    17:50 AI for the Rest of Us: Bridging the Knowledge Gap
    25:43 The Ethical Implications of AI and Communication
    27:12 Ethics in AI Development
    31:04 Improving Communication Skills for Engineers
    38:00 Overcoming the Fear of Writing
    42:15 The Importance of Public Speaking
    50:17 The Journey of Continuous Learning
    54:30 Exploring Related Content

    Charles's Links:
    https://www.linkedin.com/in/charleshumble/\
    https://bsky.app/profile/charleshumble.bsky.social

    John's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/
    John’s YouTube: https://www.youtube.com/@johncrickett
    John's Twitter: https://x.com/johncrickett
    John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social

    Check out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.

    Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.

    Takeaways
    "Soft skills" is a misleading term — Communication, critical thinking, and documentation aren't soft skills; they're literally the job.
    Non-technical skills can be learned — You don't need natural talent. Like anything, they improve with deliberate practice.
    Career success often comes from non-coding skills — Charles found his own progression was driven more by presenting to executives and systems thinking than by programming ability.
    Communication becomes critical as you progress — From mid-level upwards, working with stakeholders, mentoring, and documentation determine who makes it to senior and beyond.
    Nobody knows what programming will look like in two years — Even Kent Beck acknowledges the deep uncertainty ahead.AI has shifted engineers from "extract" to "explore" — Programmers who felt settled in well-defined work have been thrown into a messier, less certain phase by generative AI.
    The durable skills are the same ones that always mattered — Debugging, domain knowledge, system design, and communication are as valuable now as ever — arguably more so.
    "Coding is dead" is nonsense — Software engineering has always been mostly about understanding what to build and why. Writing code was always a small part of it.
    Try things and see what happens — No grand plan needed. If you don't kick the ball, you're guaranteed not to score.
  • Coding Chats

    Build better tech teams with neurodiversity

    26/03/2026 | 46 mins.
    Coding Chats episode 71 - Anita Kalmane-Boot talks to John Crickett about neurodiversity, its spectrum, strengths, challenges, and how organizations can foster inclusive environments, especially in software teams. Discover practical strategies for recruitment, team building, and accommodating neurodivergent individuals to enhance innovation and productivity.

    Chapters
    00:00 Understanding Neurodiversity
    03:32 The Spectrum of Neurodivergence
    06:30 Strengths of Neurodivergent Individuals
    09:08 Creating Inclusive Teams
    12:10 Improving Recruitment Practices
    15:00 Work Environment for Neurodivergent Individuals
    17:43 The Connection Between Neurodiversity and Software Engineering
    23:38 Exploring Neurodiversity in Engineering
    24:39 The Impact of AI on Neurodivergent Workers
    27:08 Inclusive Recruitment Practices
    32:57 The Role of Managers in Hiring
    38:46 Disclosing Neurodivergence in Job Interviews
    44:11 The Future of Neurodiversity in the Workplace
    46:11 Exploring Related Content

    Anita's Links:https://www.linkedin.com/in/anitakalmane/

    John's Links:
    John's LinkedIn: https://www.linkedin.com/in/johncrickett/
    John’s YouTube: https://www.youtube.com/@johncrickett
    John's Twitter: https://x.com/johncrickett
    John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social

    Check out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.

    Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.

    Takeaways
    Neurodiversity covers a wide spectrum — including ADHD, autism, and dyslexia — not just a single condition.
    Neurodivergent individuals often have exceptional strengths like pattern recognition, deep focus, and creative problem-solving.
    These traits make neurodivergent thinkers particularly valuable in software engineering and tech roles.
    Traditional hiring processes can unintentionally screen out neurodivergent candidates.
    Small recruitment adjustments — like sharing questions in advance or allowing written responses — can open the door to better talent.
    Managers are key to creating environments where neurodivergent employees can thrive.
    Many neurodivergent people struggle with whether to disclose during interviews — psychological safety reduces that burden.
    AI has the potential to reduce friction for neurodivergent workers, but also brings new challenges.
    Embracing neurodiversity isn't just ethical — it leads to stronger, more innovative teams.

More Technology podcasts

About Coding Chats

On Coding Chats, John Crickett interviews software engineers of all levels from junior to CTO. He encourages the guests to share the stories of the challenges they have faced in their role and the strategies and tactics they have used to overcome those challenges providing actionable insights other software engineers can use to accelerate their careers.
Podcast website

Listen to Coding Chats, Everyday AI Podcast – An AI and ChatGPT Podcast and many other podcasts from around the world with the radio.net app

Get the free radio.net app

  • Stations and podcasts to bookmark
  • Stream via Wi-Fi or Bluetooth
  • Supports Carplay & Android Auto
  • Many other app features