Coding Chats

John Crickett
undefined
Jan 29, 2026 • 50min

What to do when AI gets expensive and other CTO challenges

Coding Chats episode 63 - John Crickett and Rob Bowley discuss the evolving role of the CTO, emphasizing the importance of strategic leadership that integrates people, process, and technology. They explore the challenges and opportunities presented by AI and other technological trends, highlighting the need for adaptability and effective communication within leadership teams. The discussion also touches on the significance of assessing technology teams and strategies to ensure successful outcomes in software development and organizational growth.Chapters00:00 Introduction to the CTO Role02:49 The Misconceptions of the CTO Position05:05 The Importance of Feedback and Adaptability11:50 Navigating AI and Emerging Technologies19:08 Testing Hypotheses in Technology Implementation22:19 The Transformative Potential of AI in Software Engineering27:09 The Economic Impact of Generative AI29:24 Concerns Over AI Subscription Costs31:32 Adoption Challenges in Software Development35:14 Assessing Technology and Team Effectiveness38:44 The Future of Software Engineering and AI50:12 Exploring Related ContentRob's Links:Blog: https://blog.robbowley.net/LinkedIn: https://www.linkedin.com/in/robertbowley/Bluesky: https://bsky.app/profile/robbowley.netCompany URL: https://www.pragmaticpartners.co.uk/John's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck 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.TakeawaysThe role of a CTO is a strategic leadership position that intersects people, process, and technology.CTOs should focus on understanding their strengths and how to leverage them within their organization.Effective communication and collaboration with the senior leadership team are crucial for a CTO's success.Many misconceptions about the CTO role stem from a focus on technical skills rather than strategic business outcomes.Adaptability and awareness of one's strengths are key attributes of good leadership.Feedback from peers and team members is essential for recognizing gaps in skills and performance.Learning from failure is a critical aspect of leadership growth.The integration of AI into products should be approached with caution and thorough exploration.Organizations must focus on proven, common technologies rather than chasing every new trend.The assessment of technology teams should prioritize people and their capabilities over just the technology itself.
undefined
Jan 22, 2026 • 1h 6min

Bearly building in public

Coding Chats episode 62 - John Crickett engages in a deep conversation with James about personal branding, building in public, and the challenges of launching a product. James shares his journey of using LinkedIn to build his personal brand, emphasizing the importance of transparency and community feedback in his projects. He recounts how his social network gained 20,000 users in the first 24 hours due to his public approach, which not only helped him secure jobs but also fostered a sense of community around his work. The discussion also touches on the significance of mental health awareness and the need for open conversations in the workplace, particularly in the tech industry.As they delve into James's latest project, Bearly Fit, they explore the balance between creating a minimum viable product and ensuring quality. James reflects on the expectations that come with building in public and how he has navigated the challenges of app development while maintaining a connection with his audience. The conversation wraps up with insights on the role of AI in coding and the importance of mentoring junior developers, highlighting the need for a supportive environment in tech.Chapters00:00 The Power of Personal Branding06:35 Agility in Development: Lessons Learned18:29 Building in Public: Success and Challenges26:08 Streaming and Job Search: A Double-Edged Sword35:36 The Importance of Mentoring New Developers40:22 Building in Public: The Journey of Barely Fit52:58 Challenges and Expectations in App Development58:54 Leveraging AI in Development01:05:39 Final Thoughts and Future Plans01:06:06 Exploring Related ContentJames's Links:https://linktr.ee/mahybehttps://bearly.fitJohn's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck 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.TakeawaysBuilding in public can lead to unexpected success.Transparency in struggles fosters community support.Personal branding is crucial for career advancement.Quality matters in app development, especially when building in public.Mentoring junior developers is an investment in the future.
undefined
Jan 15, 2026 • 1h 27min

Mastering behavioural interviews with Austen McDonald

Coding Chats episode 61 - John Crickett interviews Austen about his new book and the significance of behavioural interviews in the hiring process, especially in today's competitive job market. Austen shares insights on what interviewers look for, how to tailor preparation for specific companies, and the importance of storytelling in interviews. He emphasizes the impact of AI on the interview process and discusses how candidates can effectively present their experiences, particularly in conflict resolution scenarios. The conversation also covers the different expectations for candidates at various career stages and the importance of preparation and practice in mastering behavioural interviews.Chapters00:00 The Importance of Behavioral Interviews02:43 What Interviewers Look For05:32 Understanding Company Expectations07:48 Austen's Background and Expertise09:59 The Impact of AI on Interviews12:10 Behavioral Interviews Beyond Big Tech14:11 Crafting Your Introduction18:55 Selecting Stories for Interviews24:32 Creating Compelling Interview Stories28:38 The Difference Between Junior and Senior Engineers29:50 Crafting Compelling Stories for Interviews31:28 Timing and Length of Stories in Interviews33:34 Selecting the Right Story for the Interview37:05 The Importance of Scope and Relevance in Storytelling37:52 Using the Menu Technique for Story Selection40:37 Enhancing Conflict Resolution Stories43:48 The Drama in Conflict Resolution48:12 Improving Conflict Resolution Narratives55:00 The Role of Escalation in Conflict Resolution58:11 The Big Three Questions in Behavioral Interviews59:54 Understanding Interview Dynamics01:03:08 The Importance of Asking Questions01:06:56 Feedback Loops in Behavioral Interviews01:12:04 Navigating Different Career Stages01:17:52 Adapting Stories for Different Organizations01:23:02 Leveraging Personal Projects in Interviews01:24:41 Key Takeaways for Interview SuccessAusten's Links:https://thebehavioral.substack.com/https://www.amazon.com/dp/B0G6CM9T87John's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck 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.TakeawaysBehavioral interviews are crucial for differentiating candidates in a competitive job market.Understanding what interviewers are looking for can significantly improve your chances of success.Tailoring your preparation to the specific company and role is essential.Your past experiences and stories are likely more valuable than you think.Practice and preparation are key to performing well in interviews.
undefined
Jan 8, 2026 • 42min

Spec driven development and building better software with AI agents

Coding Chats episode 60 - John Crickett and Paul discuss the transformative impact of AI on software engineering, exploring topics such as spec-driven development, the importance of small batches, and the challenges of requirements gathering. They delve into the evolving role of AI tools, the need for effective communication, and the balance between productivity and code quality. The discussion also touches on the future of AI in development, the significance of ownership in coding, and the potential for specialized AI agents to enhance workflows. Paul shares valuable tips for leveraging AI in software engineering, emphasizing the importance of joy, working in small units, and maintaining humility in the face of rapid technological change.Chapters00:00 AI in Software Engineering: A New Era03:36 The Revelation of Prompt-Driven Development06:08 Spec-Driven Development vs. Waterfall09:16 The Importance of Small Batches in AI Development12:05 Ownership and Responsibility in AI-Generated Code14:57 The Challenges of Outsourcing and Communication in Software Development20:15 The Future of Programming and Communication23:38 AI Tools and Upstream Bottlenecks27:18 Understanding JetBrains' AI Integration31:40 User Experience and AI Interaction35:42 Opinionated Workflows in Software Development37:24 Finding Joy in AI-Assisted EngineeringPaul's Links:https://buildermethods.com/agent-osJohn's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck 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.TakeawaysAI is revolutionizing software engineering practices.Spec-driven development formalizes the way we instruct AI agents.Small batches improve productivity and maintain context.Ownership of code is crucial for long-term success.Quality of code generated by AI is more important than quantity.Effective communication is key in AI-assisted development.Specialized AI agents will enhance the development process.JetBrains is evolving its tools to integrate AI effectively.Developers should find joy in their work, even with AI assistance.Humility is essential as we navigate the future of AI in programming.
undefined
Jan 1, 2026 • 36min

Building the Rig AI framework with Rust

Josh (Joshua Mo), a software engineer and co-maintainer of the Rig AI framework, shares his insights on building AI agents using Rust. He discusses the intricacies of embeddings and context management crucial for effective AI communication. Josh recounts his transition from technical writing to AI, detailing the challenges of coding agents. He emphasizes prompt strategies for better model interaction and explores the benefits of Rust, such as performance and safety. The conversation wraps up with ways to contribute to the Rig community and future directions in AI frameworks.
undefined
Dec 25, 2025 • 8min

Coding Chats holiday special - John answers your questions about software engineering

In this special holiday episode of Coding Chats, John Crickett answers audience questions about software engineering careers, the impact of AI, programming languages, and the importance of leadership. He discusses how to rebuild an engineering career, the significance of meaningful projects, and the readiness of self-taught developers. The conversation also touches on insights gained from hosting the podcast and the evolving landscape of software development.Chapters00:00 Introduction to the Coding Chats Holiday Special00:22 Rebuilding an Engineering Career in 202501:01 The Future of Software Engineering with AI01:27 Learning Programming: Starting Points and Languages02:27 Breaking the No Experience Loop for Developers04:17 Meaningful Experience: Projects and Contributions05:02 Self-Taught Developers: Readiness and Opportunities06:07 Qualities of a Good Software Engineering Leader06:52 Insights from 18 Months of Coding Chats07:43 Architecture as a Strategic Concern in EngineeringJohn's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck 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.TakeawaysLeverage AI to find answers quicker than before.Reading and curiosity are key habits for growth.All parts of software engineering will survive AI advancements.Focus on learning computer science fundamentals first.Choose programming languages based on your interests.Building personal projects can help you get noticed.Self-taught developers can be just as capable as those with degrees.Good leadership adapts to the situation and team needs.The software development field is diverse and evolving.Architecture should be treated as a strategic concern.
undefined
Dec 18, 2025 • 40min

Should you ship code without feature flags?

Software engineer and feature ops advocate Melinda Fekete joins to discuss the pivotal role of feature flags in managing code releases. She highlights the challenges of upkeep and emphasizes centralizing flag definitions for efficiency. Melinda explains the significance of user feedback and dogfooding in refining products. They explore the benefits of testing in production, particularly in mitigating outages, and caution against the overhead of unnecessary flags in small projects. Key insights on deployment strategies and the importance of operational safety round out their engaging chat.
undefined
Dec 11, 2025 • 57min

AI-assisted software engineering: challenges and opportunities

Coding Chats episode 57 - Owain Lewis and John Crickett explore the role of AI in software engineering, discussing the integration of AI into production systems and the challenges faced by AI engineers. They delve into the nuances of AI application, from building scalable systems to the importance of human oversight in AI-driven workflows.Chapters00:00 Defining the Role of AI Engineer03:13 Exploring Large Language Models (LLMs)06:15 Use Cases for LLMs in Business09:22 The Non-Deterministic Nature of AI12:12 AI in Software Engineering: The Future15:11 The Role of AI in Code Review17:53 The Bottleneck of Requirements Gathering20:38 Leveraging AI Throughout the Software Lifecycle29:53 Leveraging AI for Efficient Documentation30:47 AI in API Design and Review32:22 Spectrum Driven Development with AI34:06 The Role of Requirements in Software Engineering40:05 The Future of Programming Languages and AI49:54 Understanding Context and Prompt Engineering56:38 Exploring Related ContentOwain's Links:Substack: https://newsletter.owainlewis.com/subscribe AI Engineer: https://skool.com/aiengineerJohn's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck 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.TakeawaysAI engineering involves building software with AI, focusing on production systems.AI engineers bridge the gap between AI model builders and software developers.Understanding AI's unique paradigm is crucial for effective system architecture.AI should be used minimally and where it makes sense, not everywhere.Human oversight is essential in AI-driven workflows to ensure reliability.Large language models (LLMs) are a significant focus in current AI trends.AI can enhance business processes through automation and natural language interfaces.AI's role in software engineering includes improving code quality and efficiency.AI tools can amplify both good and bad engineering practices.Experimentation and building real projects are key to learning AI engineering.
undefined
Dec 4, 2025 • 37min

So you think you can lead a team of software engineers?

Coding Chats episode 56 - Paul Grenyer discusses his journey to writing a book on team leadership, sharing insights on the differences between leadership and management, common mistakes new leaders make, the importance of delegation, and building trust within teams. He emphasizes the need for curiosity in understanding both technical and business domains, and reflects on the role of AI in software development. The discussion culminates in insights from his book, which aims to guide new leaders in navigating their roles effectively.Chapters00:00 The Journey to Team Leadership08:44 Leadership vs Management10:33 Common Mistakes of New Leaders15:58 The Importance of Delegation19:46 Curiosity in Leadership22:33 Insights from the Book27:57 The Role of Technical Skills in Leadership31:58 The Impact of AI on Software EngineeringPaul's Links:Paul's website: https://paulgrenyer.com/John's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck 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.TakeawaysLetting go of doing the work is crucial for leaders.Listening to your team is essential for effective leadership.Delegation is often the hardest skill for new leaders to master.Building trust requires admitting mistakes and being approachable.Curiosity about team members' experiences can lead to better solutions.Technical knowledge helps leaders mediate and understand team dynamics.AI can enhance productivity but requires careful implementation.Leadership is about guiding a team towards a common goal.Understanding the business domain is vital for effective leadership.Encouraging a fun and open team culture fosters collaboration.
undefined
Nov 27, 2025 • 34min

Rust in production at planet scale : lessons learned deploying Rust code to millions of devices

Coding Chats episode 55 - Emma Nedelcu discusses her experience managing teams that transitioned to Rust at Amazon Prime Video. She highlights the reasons for choosing Rust, including its performance and safety features, and the challenges faced during the transition from JavaScript. Emma explains the importance of over-the-air updates, device constraints, and effective onboarding strategies for engineers. The conversation also covers testing strategies, managing technical debt, and hiring practices for Rust teams, emphasizing the need for a mindset focused on problem-solving and adaptability.Chapters00:00 Introduction to Rust and Its Adoption03:49 Performance Gains with Rust06:37 Challenges of Over-the-Air Updates09:36 Onboarding Developers to Rust12:33 Team Collaboration and Trust14:53 Testing Strategies for Rust Applications17:38 Trade-offs and Considerations with Rust20:13 Hiring and Team Building for Rust23:02 Advice for Organizations Considering Rust26:00 Managing Technical Debt in Rust28:48 Conclusion and Final Thoughts33:52 Exploring Related ContentLINKSEmma's Linkshttps://www.linkedin.com/in/emmanedelcu/John's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck 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.TakeawaysRust was chosen for its performance and safety guarantees.Transitioning from JavaScript to Rust involves a steep learning curve.Over-the-air updates are crucial for device management.Device constraints significantly impact application performance.Onboarding to Rust can take about three months for JavaScript developers.Building trust within teams is essential for fast-paced development.Testing strategies must be robust to handle diverse devices.Rust's compile-time checks require strict runtime discipline.Compiling for WebAssembly requires careful optimization to manage bundle size.The Rust ecosystem is maturing but still evolving.Organizations should engage with the Rust community for better integration.Prototyping can effectively demonstrate Rust's potential to stakeholders.Managing technical debt in Rust involves understanding complexity depth.Hiring for mindset and adaptability is more important than experience.Ideal Rust engineers should have a deep understanding of low-level systems.Candidates should demonstrate initiative and impact in their projects.

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app