Coding Chats

John Crickett

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.

  1. 1D AGO

    The secret lives of SWEs: industrial automation and moving million dollar machines

    Coding Chats episode 64 - Jakob Sagatowski discusses his unique collaboration with YouTuber Mark Rober to build a robot goalie that plays against Cristiano Ronaldo. He delves into the technical challenges of motion control and computer vision, the role of software engineers in industrial automation, and the importance of real-time systems. Jakob emphasizes the need for better software development practices in the industrial automation sector and shares insights on how aspiring engineers can break into this field. Chapters 00:00 Introduction to the YouTube Collaboration Project 03:22 Challenges in Motion Control and Computer Vision06:29 Trial and Error in Robotics Development 09:15 Understanding Industrial Automation 12:05 Programming Languages in Industrial Automation 14:31 The Role of Real-Time Systems17:49 Constraints in Real-Time Programming 21:22 Understanding Hardware Constraints in Industrial Automation 24:46 The Role of PLCs in Industrial Control Systems 28:45 Challenges in Software Development Practices 35:32 Breaking into Industrial Automation Careers Jakob's Links: Website: www.sagatowski.com PLC-programming course: https://www.youtube.com/playlist?list=PLimaF0nZKYHz3I3kFP4myaAYjmYk1SowO Unit testing framework for Beckhoff PLC’s (the course talks about this), if you want to apply TDD in industrial automation:www.tcunit.orghttps://github.com/tcunit 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 Jakob collaborated with Mark Rober on a robot goalie project. The project involved significant motion control and computer vision challenges. Real-time systems require deterministic execution within strict time frames. Industrial automation is evolving, integrating more software engineering practices. Software engineers are increasingly needed in industrial automation roles. The development environment in industrial automation is often proprietary and closed. AI's impact on industrial automation is still developing, with challenges in integration. Real-time programming constraints differ significantly from web development. PLCs are essential for controlling industrial processes and machinery. Aspiring engineers can learn about industrial automation through online resources and experimentation.

    42 min
  2. JAN 29

    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. Chapters 00:00 Introduction to the CTO Role 02:49 The Misconceptions of the CTO Position 05:05 The Importance of Feedback and Adaptability 11:50 Navigating AI and Emerging Technologies 19:08 Testing Hypotheses in Technology Implementation 22:19 The Transformative Potential of AI in Software Engineering 27:09 The Economic Impact of Generative AI 29:24 Concerns Over AI Subscription Costs 31:32 Adoption Challenges in Software Development 35:14 Assessing Technology and Team Effectiveness 38:44 The Future of Software Engineering and AI 50:12 Exploring Related Content Rob's Links: Blog: https://blog.robbowley.net/ LinkedIn: https://www.linkedin.com/in/robertbowley/ Bluesky: https://bsky.app/profile/robbowley.net Company 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/@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 The 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.

    50 min
  3. JAN 22

    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. Chapters 00:00 The Power of Personal Branding 06:35 Agility in Development: Lessons Learned 18:29 Building in Public: Success and Challenges 26:08 Streaming and Job Search: A Double-Edged Sword 35:36 The Importance of Mentoring New Developers 40:22 Building in Public: The Journey of Barely Fit 52:58 Challenges and Expectations in App Development 58:54 Leveraging AI in Development 01:05:39 Final Thoughts and Future Plans 01:06:06 Exploring Related Content James's Links: https://linktr.ee/mahybe https://bearly.fit 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 Building 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.

    1h 6m
  4. JAN 15

    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. Chapters 00:00 The Importance of Behavioral Interviews 02:43 What Interviewers Look For 05:32 Understanding Company Expectations 07:48 Austen's Background and Expertise 09:59 The Impact of AI on Interviews 12:10 Behavioral Interviews Beyond Big Tech 14:11 Crafting Your Introduction 18:55 Selecting Stories for Interviews 24:32 Creating Compelling Interview Stories 28:38 The Difference Between Junior and Senior Engineers 29:50 Crafting Compelling Stories for Interviews 31:28 Timing and Length of Stories in Interviews 33:34 Selecting the Right Story for the Interview 37:05 The Importance of Scope and Relevance in Storytelling 37:52 Using the Menu Technique for Story Selection 40:37 Enhancing Conflict Resolution Stories 43:48 The Drama in Conflict Resolution 48:12 Improving Conflict Resolution Narratives 55:00 The Role of Escalation in Conflict Resolution 58:11 The Big Three Questions in Behavioral Interviews 59:54 Understanding Interview Dynamics 01:03:08 The Importance of Asking Questions 01:06:56 Feedback Loops in Behavioral Interviews 01:12:04 Navigating Different Career Stages 01:17:52 Adapting Stories for Different Organizations 01:23:02 Leveraging Personal Projects in Interviews 01:24:41 Key Takeaways for Interview Success Austen's Links: https://thebehavioral.substack.com/ https://www.amazon.com/dp/B0G6CM9T87 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 Behavioral 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.

    1h 27m
  5. JAN 8

    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. Chapters 00:00 AI in Software Engineering: A New Era 03:36 The Revelation of Prompt-Driven Development 06:08 Spec-Driven Development vs. Waterfall 09:16 The Importance of Small Batches in AI Development 12:05 Ownership and Responsibility in AI-Generated Code 14:57 The Challenges of Outsourcing and Communication in Software Development 20:15 The Future of Programming and Communication 23:38 AI Tools and Upstream Bottlenecks 27:18 Understanding JetBrains' AI Integration 31:40 User Experience and AI Interaction 35:42 Opinionated Workflows in Software Development 37:24 Finding Joy in AI-Assisted Engineering Paul's Links:https://buildermethods.com/agent-os 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 AI 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.

    42 min
  6. JAN 1

    Building the Rig AI framework with Rust

    Coding Chats episode 59 - Josh discusses the AI agent framework Rig, its functionalities, and the benefits of using Rust for its implementation. He explains the concept of agents and embeddings, their applications, and the importance of managing context windows in AI models. Josh shares his journey of learning Rust, transitioning from a technical content writer to a co-maintainer of Rig, and the challenges faced while building a coding agent. He emphasizes effective prompting strategies and the importance of concise communication with AI models. The conversation concludes with insights on contributing to Rig and the future of AI frameworks. Chapters 00:00 Introduction to Rig and AI Frameworks 02:56 Understanding Agents and Embeddings 05:24 Use Cases for Embeddings and Context Management 07:53 Benefits of Using Rig in Rust 10:10 Learning Rust and Overcoming Challenges 12:56 Transitioning to Rig and AI Focus 15:21 Building a Coding Agent: Challenges and Insights 17:45 Prompting Techniques and Best Practices 20:06 Contributing to Rig and Community Engagement 22:49 Final Thoughts and Future Directions Josh's Links: https://github.com/0xPlaygrounds/rig https://www.rustnationuk.com/speaker/joshua-mo https://www.linkedin.com/in/joshua-mo-4146aa220/ 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 Rig is an AI agent framework that simplifies AI integration. Agents in AI are often misunderstood due to marketing hype. Embeddings serve as data representations for various applications. Retrieval augmented generation is a common use case for embeddings. Managing the context window is crucial for effective AI performance. Using Rust for Rig provides type safety and performance benefits. Learning Rust can be challenging but rewarding with the right approach. Josh transitioned from content writing to engineering at Rig. Building a coding agent revealed the complexities of AI. Concise prompts are essential to avoid overwhelming AI models.

    36 min
  7. 12/25/2025

    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. Chapters 00:00 Introduction to the Coding Chats Holiday Special 00:22 Rebuilding an Engineering Career in 2025 01:01 The Future of Software Engineering with AI 01:27 Learning Programming: Starting Points and Languages 02:27 Breaking the No Experience Loop for Developers 04:17 Meaningful Experience: Projects and Contributions 05:02 Self-Taught Developers: Readiness and Opportunities 06:07 Qualities of a Good Software Engineering Leader 06:52 Insights from 18 Months of Coding Chats 07:43 Architecture as a Strategic Concern in Engineering 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 Leverage 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.

    8 min
  8. 12/18/2025

    Should you ship code without feature flags?

    Coding Chats episode 58 - John Crickett and Melinda Fekete delve into the concept of feature ops, emphasizing the importance of managing code in production effectively. They discuss feature flags as a mechanism for safe testing and releasing of code, the challenges of managing feature flags, and the significance of user feedback in software development. The conversation also touches on deployment strategies like canary releases, learning from recent outages, and the benefits of testing in production. Additionally, they explore the role of feature flag providers and the trade-offs associated with adopting feature flags in software projects. Chapters 00:00 Introduction to Feature Ops 02:46 Managing Feature Flags Effectively 07:41 Deployment Strategies: Canary Releases and Gradual Rollouts 12:23 The Importance of Dogfooding and User Feedback 15:05 Learning from Recent Outages 19:13 Testing in Production and Its Benefits 21:51 Managing Feature Flags at Scale 27:01 Feature Flag Providers and Their Benefits 30:50 Involving Product Teams in Feature Flag Management 31:45 Trade-offs and Downsides of Feature Flags 39:35 Exploring Related Content Melinda's Links: A guide on working with feature flags in code: https://docs.getunleash.io/guides/manage-feature-flags-in-code Open-source repo: https://github.com/Unleash/unleash 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 Feature ops focuses on managing code in production effectively. Feature flags allow for safe testing and releasing of code without redeployment. Managing the lifecycle of feature flags is crucial for maintenance. Canary releases and gradual rollouts help mitigate risks during deployment. User feedback is essential for improving software products. Recent outages highlight the need for better feature management practices. Testing in production can catch issues that staging environments may miss. Feature flag providers offer tools for managing flags at scale. Trade-offs exist when adopting feature flags, especially for smaller projects. Effective management of feature flags can empower teams and improve deployment speed.

    40 min

About

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.