Coding Chats

Coding Chats

By John CrickettTechnology
Download on the App Store

Coding Chats episodes

  • 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
  • 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
  • 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.

    9 min
  • 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
  • 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.


    Chapters

    00:00 Defining the Role of AI Engineer

    03:13 Exploring Large Language Models (LLMs)

    06:15 Use Cases for LLMs in Business

    09:22 The Non-Deterministic Nature of AI

    12:12 AI in Software Engineering: The Future

    15:11 The Role of AI in Code Review

    17:53 The Bottleneck of Requirements Gathering

    20:38 Leveraging AI Throughout the Software Lifecycle

    29:53 Leveraging AI for Efficient Documentation

    30:47 AI in API Design and Review

    32:22 Spectrum Driven Development with AI

    34:06 The Role of Requirements in Software Engineering

    40:05 The Future of Programming Languages and AI

    49:54 Understanding Context and Prompt Engineering

    56:38 Exploring Related Content


    Owain's Links:

    Substack: https://newsletter.owainlewis.com/subscribe

    AI Engineer: https://skool.com/aiengineer


    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 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.

    57 min
  • 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.


    Chapters

    00:00 The Journey to Team Leadership

    08:44 Leadership vs Management

    10:33 Common Mistakes of New Leaders

    15:58 The Importance of Delegation

    19:46 Curiosity in Leadership

    22:33 Insights from the Book

    27:57 The Role of Technical Skills in Leadership

    31:58 The Impact of AI on Software Engineering


    Paul'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/@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

    Letting 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.

    37 min
  • 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.


    Chapters

    00:00 Introduction to Rust and Its Adoption

    03:49 Performance Gains with Rust

    06:37 Challenges of Over-the-Air Updates

    09:36 Onboarding Developers to Rust

    12:33 Team Collaboration and Trust

    14:53 Testing Strategies for Rust Applications

    17:38 Trade-offs and Considerations with Rust

    20:13 Hiring and Team Building for Rust

    23:02 Advice for Organizations Considering Rust

    26:00 Managing Technical Debt in Rust

    28:48 Conclusion and Final Thoughts

    33:52 Exploring Related Content


    LINKS

    Emma's Links

    https://www.linkedin.com/in/emmanedelcu/


    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

    Rust 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.

    35 min
  • 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.


    Chapters

    00:00 The Importance of Soft Skills in Engineering

    03:14 Bridging the Gap: Engineers and Customer Interaction

    06:26 Nature vs. Nurture: The Art of Asking Questions

    09:06 Effective Communication: How to Ask the Right Questions

    12:06 Understanding Context: The Key to Effective Dialogue

    14:53 Navigating Emotional Reactions in Communication

    17:36 Feedback and Conflict Resolution: Building Better Relationships

    20:57 The Efficiency of Communication in Engineering

    23:32 The Role of Emotions in Engineering

    26:38 Team Dynamics: The Myth of the 10x Developer

    29:08 The Importance of Communication in Engineering

    31:29 Empowering Teams to Reduce Meetings

    34:40 Communicating with Impact

    38:21 Building Trust with Non-Technical Stakeholders

    42:11 Creating Meaningful Connections

    48:53 Owning Your Confidence as an Engineer


    Nikki'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/@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

    Engineering 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.

    57 min
  • 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.


    Chapters

    00:00 Introduction to Recruitment Challenges

    03:37 Common CV Mistakes in Job Applications

    09:19 The Evolution of Job Market Dynamics

    14:56 Leveraging AI in Job Hunting

    18:34 The Role of Cover Letters in Modern Applications

    23:13 Understanding Salary Expectations and Market Trends

    24:28 Market Recovery and Hiring Trends

    28:01 The Impact of AI on Employment

    28:53 Leveraging LinkedIn for Job Seekers

    38:14 Navigating Recruitment in a Changing Market

    40:52 The Rise of Project-Based Work

    46:34 Final Tips for Job Seekers


    LINKS

    Mary'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/@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

    One 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.

    48 min
  • Isograph: the future of data driven apps

    Coding Chats episode 52 - Robert Balicki discusses Isograph, an opinionated framework designed to simplify the development of data-driven applications, particularly with GraphQL and React. He explains the challenges faced in web development, such as over-fetching data and network waterfalls, and how Isograph addresses these issues by allowing developers to focus on specific components and their data needs. The discussion also covers the technical foundation of Isograph, built using Rust, and the challenges of compiler development. Robert emphasizes the importance of testing, CI/CD integration, and the potential for Isograph to scale effectively in large projects. He invites developers to get involved in the project and contribute to its growth.


    Chapters

    00:00 Introduction to Isograph

    05:11 Understanding the Problem Isograph Solves

    09:57 The Concept of Opinionated Frameworks

    13:40 Exploring Network Waterfalls

    16:43 Testing and CI/CD Integration

    20:49 Scaling with Monorepos and Integration

    27:57 Future Vision for Isograph

    28:04 Understanding Isograph's Runtime and Compiler

    29:40 The Influence of Rust in Compiler Development

    32:04 The Challenges of Building a Compiler

    35:53 Transitioning from Batch to Incremental Compilation

    45:28 Leveraging Rust for Enhanced Developer Experience

    52:55 Community Engagement and Future of Isograph

    56:32 Exploring Related Content


    LINKS

    Robert's Links:

    Isograph: http://isograph.dev/


    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

    Isograph simplifies building data-driven applications.

    The framework is opinionated, promoting best practices.

    Network waterfalls can degrade user experience.

    Isograph allows for precise data fetching.

    Testing is a key focus in Isograph's development.

    Rust provides safety and performance benefits.

    The framework aims to support SQL backends in the future.

    Isograph encourages a full-stack development approach.

    Community involvement is welcomed through Discord.

    The developer experience with Isograph is superior to other frameworks.

    57 min

About Coding Chats

From the publisher's feed

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…

More shows like Coding Chats

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

286 Listeners