DiscoverCoding Chats
Coding Chats
Claim Ownership

Coding Chats

Author: John Crickett

Subscribed: 12Played: 220
Share

Description

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.
76 Episodes
Reverse
Coding Chats episode 73 - John Crickett interviews Benjamen Pyle across topics ranging from tech influencer trust to the software engineer vs. craftsman debate. Benjamen argues that what makes an influencer worth following isn't follower count but authenticity and genuine intellectual evolution over time.The conversation then turns to AI, where Benjamen— initially a skeptic converted by Claude Code — observes that the developers getting the most out of AI are those with strong leadership and problem-solving skills, drawing a parallel between directing an AI assistant and managing a team effectively.Chapters00:00 Evaluating Tech Influencers06:15 Craftsmanship vs. Engineering in Software12:06 Career Ownership and Development20:47 Finding and Utilizing Mentors30:28 The Value of Diverse Mentorship36:49 Navigating Careers Outside Big Tech42:43 AI and Leadership in Programming49:42 Exploring Related Content49:50 Outro Final Coding Chats.mp4Benjamen's Links:https://binaryheap.com https://pylecloudtech.comJohn'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.TakeawaysFollower counts and engagement metrics don't equal credibility — dig into someone's post history and body of work before trusting a tech influencer.Changing your opinion is a strength, not a weakness, as long as the change is driven by genuine learning rather than external incentives like sponsorships.Most developers aren't truly "data-driven" despite the industry's rhetoric — people tend to follow trends and stay in safe, popular lanes.The "software engineer" label is contested — real engineering disciplines are governed by hard facts and standards, whereas software dev still argues about tabs vs. spaces.Many developers just want to clear their sprint tickets and go home, and that's fine — but it's a different mindset from those who treat the craft as a passion.AI isn't just a code-writing shortcut — used well, it's more like coordinating a team of engineers, QA, and analysts all at once.Developers who struggle with AI tend to be those who just spam it with prompts; those who thrive treat it more like a leadership and delegation challenge.Strong soft skills — clear communication, problem decomposition, managing priorities — are turning out to be the key differentiator in who gets the most from AI tools.Benjamen was initially skeptical of AI but changed his mind after hands-on experience with Claude Code, which he sees as a good example of his "strong opinions, weakly held" philosophy in action.
Coding Chats episode 72 - Charles Humble and John Crickett explore why professional skills — communication, critical thinking, and documentation — are arguably more important than writing code itself. Drawing on his O'Reilly shortcut article series and a career that began with an English Literature degree, Charles makes the case that these so-called "soft skills" are actually core to the job, and that they can be learned through practice by anyone, regardless of background or natural talent.The conversation also digs into the seismic impact of AI on the software industry. Charles shares his nuanced take: while generative AI tools are reshaping how code gets written, the durable skills — understanding systems, debugging, domain knowledge, and clear communication — matter more than ever. Rather than panic or uncritical adoption, Charles encourages engineers to focus on what remains irreplaceable, and to approach an uncertain future with curiosity and a willingness to take shots on goal.Chapters00:00 The Importance of Professional Skills for Software Engineers06:24 Navigating the Impact of AI on Software Engineering12:09 The Evolving Role of Software Engineers17:50 AI for the Rest of Us: Bridging the Knowledge Gap25:43 The Ethical Implications of AI and Communication27:12 Ethics in AI Development31:04 Improving Communication Skills for Engineers38:00 Overcoming the Fear of Writing42:15 The Importance of Public Speaking50:17 The Journey of Continuous Learning54:30 Exploring Related ContentCharles's Links:https://www.linkedin.com/in/charleshumble/\https://bsky.app/profile/charleshumble.bsky.socialJohn'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.Takeaways"Soft skills" is a misleading term — Communication, critical thinking, and documentation aren't soft skills; they're literally the job.Non-technical skills can be learned — You don't need natural talent. Like anything, they improve with deliberate practice.Career success often comes from non-coding skills — Charles found his own progression was driven more by presenting to executives and systems thinking than by programming ability.Communication becomes critical as you progress — From mid-level upwards, working with stakeholders, mentoring, and documentation determine who makes it to senior and beyond.Nobody knows what programming will look like in two years — Even Kent Beck acknowledges the deep uncertainty ahead.AI has shifted engineers from "extract" to "explore" — Programmers who felt settled in well-defined work have been thrown into a messier, less certain phase by generative AI.The durable skills are the same ones that always mattered — Debugging, domain knowledge, system design, and communication are as valuable now as ever — arguably more so."Coding is dead" is nonsense — Software engineering has always been mostly about understanding what to build and why. Writing code was always a small part of it.Try things and see what happens — No grand plan needed. If you don't kick the ball, you're guaranteed not to score.
Coding Chats episode 71 - Anita Kalmane-Boot talks to John Crickett about neurodiversity, its spectrum, strengths, challenges, and how organizations can foster inclusive environments, especially in software teams. Discover practical strategies for recruitment, team building, and accommodating neurodivergent individuals to enhance innovation and productivity.Chapters00:00 Understanding Neurodiversity03:32 The Spectrum of Neurodivergence06:30 Strengths of Neurodivergent Individuals09:08 Creating Inclusive Teams12:10 Improving Recruitment Practices15:00 Work Environment for Neurodivergent Individuals17:43 The Connection Between Neurodiversity and Software Engineering23:38 Exploring Neurodiversity in Engineering24:39 The Impact of AI on Neurodivergent Workers27:08 Inclusive Recruitment Practices32:57 The Role of Managers in Hiring38:46 Disclosing Neurodivergence in Job Interviews44:11 The Future of Neurodiversity in the Workplace46:11 Exploring Related ContentAnita's Links:https://www.linkedin.com/in/anitakalmane/John's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@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.TakeawaysNeurodiversity covers a wide spectrum — including ADHD, autism, and dyslexia — not just a single condition.Neurodivergent individuals often have exceptional strengths like pattern recognition, deep focus, and creative problem-solving.These traits make neurodivergent thinkers particularly valuable in software engineering and tech roles.Traditional hiring processes can unintentionally screen out neurodivergent candidates.Small recruitment adjustments — like sharing questions in advance or allowing written responses — can open the door to better talent.Managers are key to creating environments where neurodivergent employees can thrive.Many neurodivergent people struggle with whether to disclose during interviews — psychological safety reduces that burden.AI has the potential to reduce friction for neurodivergent workers, but also brings new challenges.Embracing neurodiversity isn't just ethical — it leads to stronger, more innovative teams.
Coding Chats episode 70 - Aaron LeClair discusses the top five mistakes startup CTOs make, covering everything from misunderstanding development pipelines to failing to make the leadership identity transition. The conversation explores AI adoption parallels, team diversity, hiring pitfalls, the "move fast and break things" mantra, and why a CTO's first team should be the C-suite — not the engineering team.Chapters00:00 Scaling the Pipeline: Common Mistakes of CTOs03:13 Understanding the Development Environment05:59 The Importance of Team Diversity09:03 Building Effective Teams11:53 Hiring for Fit: The Cost of Misalignment14:36 The Role of Leadership in Team Dynamics33:52 Building Effective Teams as a Leader37:35 Transitioning from Engineer to Leader43:31 Hiring the Right Technical Leaders46:01 Understanding the Role of CTO in Start-ups54:40 The Balance of Speed and Quality in Development01:01:24 Exploring Related ContentAaron's Links:https://www.linkedin.com/in/aaronleclair/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.TakeawaysScaling your dev team without first fixing QA, product management, and stakeholder flow will create more problems than it solves.AI adoption falls into the same trap — faster code generation doesn't help if requirements, testing, and deployment are still bottlenecks.Invest in tooling, DevOps, and documented processes early, as poor systems frustrate great engineers just as much as poor management.Always ask why a process exists — the original reason may no longer apply, and changing it is often easier than expected.Build teams like an Ocean's 11 cast: diverse in skills, backgrounds, and working styles, not a clone army of specialists in the same stack.Hire generalists with depth in different areas who can flex as start-up needs shift, and reserve deep specialists for your true business differentiators.A failed hire is most often a leadership failure — you had more information than the candidate, so treat every miss as a learning opportunity.The most important things a CTO does are hiring and developing people — if a leader is still submitting PRs to a team of more than three, that's a red flag.A CTO's primary team is the C-suite, not the engineering team — treating engineers as "your team" creates an us-vs-them culture that damages the whole business.Match technical leadership seniority to your company stage — pre-product-market-fit you need a generalist head of engineering, not a full CTO."Move fast and break things" is valid pre-product-market-fit for validating hypotheses, but once you have real customers it becomes an excuse for poor process.
Coding Chats episode 69 - John Crickett and Sairam Sundaresan discuss the evolving landscape of artificial intelligence (AI) and its implications for learning, software development, and organizational culture. Sairam emphasizes the importance of bridging the gap between technical and business perspectives on AI, advocating for a hands-on approach to learning. They explore the hype surrounding AI, particularly large language models (LLMs), and the need for a cultural transformation within organizations to effectively adopt AI technologies. The discussion also touches on the future of software engineering in an AI-driven world, highlighting the blurred lines between roles and the necessity for continuous learning and adaptation.Chapters00:00 Bridging the Gap: Understanding AI for Everyone03:44 Learning AI: A Practical Approach06:29 The Evolution of AI: From Hype to Reality09:33 Generative AI: The Current Landscape and Future Directions12:35 Transformative Use Cases: Beyond Basic Applications15:23 The Art of Questioning: Engaging with AI Effectively18:36 Navigating Large Codebases: AI as a Tool for Engineers21:24 Writing and Coding: Learning from the Masters27:42 Harnessing Subagents for Efficiency29:48 Bridging the Gap Between Business and Tech31:35 Cultural Transformation in AI Adoption34:22 Understanding AI Fundamentals for Better Collaboration36:11 The People Problem in AI Implementation39:26 Evolving Roles in Software Engineering42:26 The Resurgence of Software Engineering44:37 Leading an AI-First Organization49:16 Learning by Doing in AI52:03 Navigating the Landscape of AI Research and Publications54:05 Exploring Related ContentSairam's Links:Book- AI for the Rest of Us:https://www.amazon.com/dp/B0F29THNLTSubstack Gradient Ascent: https://newsletter.artofsaience.comJohn'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 essential for modern products and services.Bridging the gap between business and engineering is crucial.Learning AI requires a hands-on approach, not just theory.Cultural transformation is necessary for successful AI adoption.Understanding the basics of AI is vital for all roles.The hype around AI often overshadows other important areas.Software engineering is evolving with AI technologies.AI tools can enhance productivity but require thoughtful use.Continuous learning is key in the fast-paced AI landscape.The roles within organizations are becoming more integrated.
Coding Chats episode 68 - Paulina Dubas shares her experiences and insights on the importance of public speaking at conferences, the challenges engineers face in communication, and the benefits of networking within the tech community. She discusses the significance of understanding AI in the workplace, the ongoing issues of gender balance in tech, and the value of an MBA for engineers transitioning into business roles. The conversation emphasizes the need for inclusivity and the importance of sharing knowledge and experiences to foster growth in the industry.Chapters00:00 The Benefits of Speaking at Conferences05:07 Overcoming Public Speaking Challenges09:04 Key Lessons for Aspiring Speakers10:49 Navigating AI in the Workplace14:48 The Gender Balance in Tech22:07 Creating Inclusive Workplaces24:48 Consulting vs. Product Roles27:32 The Value of an MBA for Engineers34:28 Exploring Related ContentPaulina's LinksLinkedIn : https://www.linkedin.com/in/paulinadubas/website : https://paulinadubas.com/YouTube : https://www.youtube.com/@PaulinaDubasJohn'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.TakeawaysIt's beneficial to be involved in the community and put yourself out there.Public speaking helps deepen your understanding of topics.Overcoming the fear of public speaking can enhance communication skills.Networking at conferences can lead to valuable connections.You don't need to be an expert to speak at conferences.Starting small can build confidence for larger speaking engagements.AI tools need proper processes and training for effective use.Banning AI tools is a temporary solution that can lead to bigger issues.Gender balance in tech starts from early education and cultural perceptions.Consulting roles provide diverse experiences that accelerate learning.
Coding Chats episode 67 - Matt Boyle discusses the innovative AI software engineering platform, Ona, which aims to enhance productivity by automating coding tasks and managing multiple AI agents. The discussion covers the importance of planning, security, user experience, and the future of software development with AI. Matt emphasises the need for good specifications and the role of feedback in improving AI-driven development processes.Chapters00:00 Introduction to Ona and AI Software Engineering03:24 Parallelising AI Agents for Enhanced Productivity06:16 Enterprise Solutions and Security in AI09:21 User Experience and Unique Features of Ona11:53 Feedback and Growth Initiatives at Ona14:45 The Ralph Loop and Its Implications for AI Development25:20 Understanding Context Management in AI Models27:48 Optimising Task Management with Context Windows31:45 The Importance of Clear Specifications36:07 Enhancing Software Development with AI Tools39:26 Demonstrating AI-Driven Development Environments46:11 The Future of AI in Software EngineeringMatt's Links:Ona: https://ona.com/Matt's LinkedIn: https://www.linkedin.com/in/mattjamesboyle/Matt's Twitter: https://twitter.com/MattJamesBoyleMatt's Website: https://www.bytesizego.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.TakeawaysOna is focused on building AI software engineers to enhance productivity.Human attention is treated as the most valuable resource in AI development.The platform aims to provide a calm user experience by managing multiple AI agents effectively.Ona allows for parallelisation of tasks across different environments to improve efficiency.Security is a priority, with AI agents operating within the customer's cloud environment.The integration with tools like Jira and Linear enhances the planning process.Good specifications are crucial for successful AI-driven development.The Ralph Loop encourages deeper thinking in AI task completion.Ona is targeting both enterprise and individual developers to broaden its user base.The future of software development will involve AI managing entire backlogs and driving changes autonomously.
Coding Chats episode 66 - Alex Garella discusses the current state of the Rust job market, highlighting its mixed nature amidst broader software development trends. He emphasizes the importance of specific skills and industry experience, particularly in emerging technologies like data infrastructure. The impact of AI tools on software development and hiring practices is explored, along with strategies for breaking into the Rust market, including open source contributions and leveraging LinkedIn effectively.Chapters00:00 The Current State of the Rust Job Market03:15 Skills in Demand for Rust Developers05:46 Emerging Domains for Rust Applications08:44 Rust's Role in AI and Machine Learning11:38 The Evolution of Interview Processes14:30 Challenges in Hiring Rust Developers17:28 Navigating the Job Market as a New Rust Developer20:27 Leveraging LinkedIn for Job Opportunities23:21 Final Tips for Aspiring Rust DevelopersAlex's Links:https://rustjobs.dev/https://scalajobs.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.TakeawaysThe Rust job market is currently mixed, with both opportunities and challenges.Experience in specific industries is often more valuable than tool-specific knowledge.Emerging technologies, especially in data infrastructure, are driving demand for Rust.AI tools are changing the landscape of software development and hiring.Hiring managers need to adapt their interview processes to account for AI usage.Open source contributions can significantly enhance a developer's profile.Tailoring CVs too specifically can raise red flags for recruiters.Remote work options can broaden the talent pool for Rust developers.Developers should not limit themselves to Rust when seeking jobs.Persistence and passion for Rust can lead to job opportunities.
Coding Chats episode 65 - Mike Rispoli discusses his experience of building a Loom replacement through vibe coding, the economic implications of AI for small agencies, and the evolving landscape of software engineering. He emphasizes the importance of hand coding, the challenges of interviewing in the age of AI, and the necessity of clear requirements when working with AI tools. The discussion also touches on the future demand for software engineers and the role of UX in AI-generated code.Chapters00:00 Building a Loom Replacement in 30 Minutes03:40 The Challenges of SaaS Pricing Models06:29 AI's Impact on Small Businesses and Enterprises09:19 Interviewing in the Age of AI11:59 The Future of Coding and AI Integration26:45 The Importance of Clear Requirements28:31 Navigating AI in Development31:31 Feature Creep and Planning32:30 The Evolving Role of Engineers34:34 Workflow and Planning with AI38:45 Iterative Development and Feedback42:28 Leveraging AI for UX and Design45:59 The Future of Software EngineeringMike's Links:https://www.linkedin.com/in/michael-rispoli-ctohttps://x.com/michael_rispolihttps://www.instagram.com/mike_rispoli_ctohttps://michaelrispoli.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.TakeawaysMike built a Loom replacement in just 30 minutes using vibe coding.AI tools can significantly enhance productivity for software engineers.The SaaS pricing model can be complicated for small agencies.It's acceptable to pass on good candidates but not to hire the wrong ones.AI is likely to amplify the demand for software engineers rather than replace them.Feature creep is a common challenge in software development.Clear requirements are essential when working with AI tools.The future of software engineering is promising and exciting.AI can help engineers improve their design capabilities.Navigating the evolving landscape of software engineering requires adaptability.
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.Chapters00:00 Introduction to the YouTube Collaboration Project03:22 Challenges in Motion Control and Computer Vision06:29 Trial and Error in Robotics Development09:15 Understanding Industrial Automation12:05 Programming Languages in Industrial Automation14:31 The Role of Real-Time Systems17:49 Constraints in Real-Time Programming21:22 Understanding Hardware Constraints in Industrial Automation24:46 The Role of PLCs in Industrial Control Systems28:45 Challenges in Software Development Practices35:32 Breaking into Industrial Automation CareersJakob's Links:Website: www.sagatowski.comPLC-programming course: https://www.youtube.com/playlist?list=PLimaF0nZKYHz3I3kFP4myaAYjmYk1SowOUnit 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/tcunitJohn'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.TakeawaysJakob 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.
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.
Bearly building in public

Bearly building in public

2026-01-2201:06:16

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.
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.
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.
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.
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.
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.Chapters00:00 Introduction to Feature Ops02:46 Managing Feature Flags Effectively07:41 Deployment Strategies: Canary Releases and Gradual Rollouts12:23 The Importance of Dogfooding and User Feedback15:05 Learning from Recent Outages19:13 Testing in Production and Its Benefits21:51 Managing Feature Flags at Scale27:01 Feature Flag Providers and Their Benefits30:50 Involving Product Teams in Feature Flag Management31:45 Trade-offs and Downsides of Feature Flags39:35 Exploring Related ContentMelinda's Links:A guide on working with feature flags in code: https://docs.getunleash.io/guides/manage-feature-flags-in-codeOpen-source repo: https://github.com/Unleash/unleashJohn'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.TakeawaysFeature 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.
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.
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.
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.
loading
Comments 
loading