Coding Chats

John Crickett
undefined
Jan 1, 2026 • 36min

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.Chapters00:00 Introduction to Rig and AI Frameworks02:56 Understanding Agents and Embeddings05:24 Use Cases for Embeddings and Context Management07:53 Benefits of Using Rig in Rust10:10 Learning Rust and Overcoming Challenges12:56 Transitioning to Rig and AI Focus15:21 Building a Coding Agent: Challenges and Insights17:45 Prompting Techniques and Best Practices20:06 Contributing to Rig and Community Engagement22:49 Final Thoughts and Future DirectionsJosh's Links:https://github.com/0xPlaygrounds/righttps://www.rustnationuk.com/speaker/joshua-mohttps://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/@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.TakeawaysRig 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.
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.
undefined
Nov 20, 2025 • 56min

The power of soft skills in software engineering

Coding Chats episode 54 - Nikki Maginn and John Crickett explore the critical role of soft skills in engineering, emphasizing the importance of communication, emotional intelligence, and collaboration. They discuss how engineers can bridge the gap between technical expertise and customer-facing roles, the art of asking questions, and the significance of building trust and meaningful connections. The dialogue also touches on the balance of confidence and humility in leadership, the power of storytelling, and the necessity of understanding context in communication. Ultimately, the conversation highlights that soft skills are essential for engineers to thrive in their careers and contribute effectively to their teams.Chapters00:00 The Importance of Soft Skills in Engineering03:14 Bridging the Gap: Engineers and Customer Interaction06:26 Nature vs. Nurture: The Art of Asking Questions09:06 Effective Communication: How to Ask the Right Questions12:06 Understanding Context: The Key to Effective Dialogue14:53 Navigating Emotional Reactions in Communication17:36 Feedback and Conflict Resolution: Building Better Relationships20:57 The Efficiency of Communication in Engineering23:32 The Role of Emotions in Engineering26:38 Team Dynamics: The Myth of the 10x Developer29:08 The Importance of Communication in Engineering31:29 Empowering Teams to Reduce Meetings34:40 Communicating with Impact38:21 Building Trust with Non-Technical Stakeholders42:11 Creating Meaningful Connections48:53 Owning Your Confidence as an EngineerNikki's Links:Website: www.insideoutengineering.com LinkedIn: https://www.linkedin.com/in/nikki-maginn/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.TakeawaysEngineering success relies on effective communication and collaboration.Engineers must learn to translate technical work for broader understanding.Emotional intelligence is crucial for engineers in customer-facing roles.Asking the right questions is a teachable skill.Building trust requires meaningful connections with colleagues.Navigating difficult conversations is essential for team dynamics.Context is key in understanding reactions and emotions in communication.Confidence should be balanced with humility in leadership roles.Storytelling can enhance the impact of technical communication.Investing in relationships leads to more efficient conversations.
undefined
Nov 13, 2025 • 48min

Perfect your CV - a guide for software engineers

Coding Chats episode 53 - John Crickett and Mary Fidler discuss the evolving landscape of job applications, focusing on common CV mistakes, the importance of showcasing skills and achievements, and the role of AI in recruitment. They explore the relevance of cover letters, salary transparency, and the current state of the job market, including signs of recovery. Mary emphasizes the significance of LinkedIn for job seekers and shares insights on adapting to the changing recruitment landscape, particularly for contractors.Chapters00:00 Introduction to Recruitment Challenges03:37 Common CV Mistakes in Job Applications09:19 The Evolution of Job Market Dynamics14:56 Leveraging AI in Job Hunting18:34 The Role of Cover Letters in Modern Applications23:13 Understanding Salary Expectations and Market Trends24:28 Market Recovery and Hiring Trends28:01 The Impact of AI on Employment28:53 Leveraging LinkedIn for Job Seekers38:14 Navigating Recruitment in a Changing Market40:52 The Rise of Project-Based Work46:34 Final Tips for Job SeekersLINKSMary's LinkedIn - https://www.linkedin.com/in/mary-fidler/Mary's Career Page https://trusttechrecruitment.zohorecruit.eu/jobs/Careers 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.TakeawaysOne page CVs are a common mistake.Highlight achievements over duties in CVs.AI tools are increasingly important for developers.Cover letters are often unnecessary if CVs are strong.Salary transparency can build trust between candidates and recruiters.The job market is showing signs of recovery.LinkedIn is essential for job seekers to stand out.Contractors can provide cost-effective solutions for companies.Personal branding on LinkedIn can lead to job opportunities.Networking and asking for impact details can enhance CVs.
undefined
Nov 6, 2025 • 57min

Isograph: the future of data driven apps

Robert Balicki, the creator and lead developer of Isograph, delves into the future of data-driven applications crafted with GraphQL and React. He discusses the common pitfalls of over-fetching data and network waterfalls, and how Isograph's opinionated framework tackles these challenges by generating precise, per-screen queries. Robert also highlights the significance of testing, CI/CD integration, and scaling in large projects, fueled by Rust's robust capabilities. He invites developers to contribute to the evolving landscape of Isograph and its community.
undefined
Oct 30, 2025 • 52min

From fire fighting to AI pair programming: Shane Harger's journey

Coding Chats episode 51 - Shane Harger shares her unique career journey from web development and graphic design to firefighting and back to tech, emphasizing the importance of pair programming, incident management lessons, and the evolving role of AI in software development. She discusses the significance of DevOps and platform engineering in enhancing team collaboration and efficiency, while also highlighting the value of junior developers in fostering a learning environment within teams.Chapters00:00 Shane Harger's Unique Career Journey05:32 Transitioning from Firefighting to Tech10:12 The Importance of Pair Programming15:01 Lessons from Incident Management20:02 DevOps and Platform Engineering Insights27:44 The Dynamics of Code Review and Pair Programming29:54 AI as a Partner in Programming34:03 Key Learnings from AI Pair Programming Experiments45:37 The Importance of Diverse Pairing in Development TeamsShane's links:https://www.linkedin.com/in/shaneharger/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.TakeawaysShane's career spans web development, firefighting, and consulting.Firefighting provided unexpected tech opportunities in incident management.Pair programming fosters camaraderie and knowledge sharing.DevOps emphasizes ownership and collaboration in software development.AI can assist in coding but lacks the human element of teamwork.Juniors bring fresh perspectives and questions that benefit teams.Effective incident management requires calmness and basic troubleshooting skills.Automation in DevOps enhances response times and reduces handovers.Product thinking is essential for infrastructure teams to meet customer needs.The transition from POC to production can be challenging without clear requirements.

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