
Coding Chats
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.
Latest episodes

Jul 3, 2025 • 1h 20min
From freelance software engineer to exited SaaS business owner.
Coding Chats episode 36 - Rob Morgan shares his journey from being a traditional software developer to becoming a successful freelancer and eventually launching his own SaaS product. He discusses the importance of client interaction, the challenges of freelancing, and how he identified a niche market in the window cleaning industry. Rob emphasizes the significance of networking, understanding user needs, and the iterative process of product development. He also provides valuable insights for aspiring freelancers and entrepreneurs, including tips on pricing and customer engagement. In this conversation, Rob shares his entrepreneurial journey, reflecting on the successes and challenges of his first SaaS business, Cleaner Planner, and the lessons learned from its eventual sale. He discusses the importance of timing, customer engagement, and the pull demand in business success. Rob also delves into his transition to a fractional CTO role after selling his second venture, highlighting the challenges of rebuilding a software product and the need for effective marketing strategies. Additionally, he expresses his interest in starting a podcast focused on the journeys of SaaS founders, aiming to create a community for early-stage entrepreneurs.Chapters00:00 The Journey to Freelancing05:40 The Transition to Freelance Work12:40 Navigating the Freelance Landscape20:00 Challenges of Freelancing26:46 The Shift from Freelancing to Startups30:30 Finding the Right Startup Idea38:12 Building a Community Around a Niche Problem51:23 Navigating the Challenges of Growth and Exit57:42 Reviving Skills and Embracing New Technologies59:30 The Journey of Rebuilding Software01:02:26 Understanding Customer Needs and Market Dynamics01:05:22 Navigating Marketing Challenges01:06:55 Transitioning to a Fractional CTO Role01:10:12 Exploring Future Opportunities and Podcasting01:13:17 Building a Community for FoundersRob's Links:https://trialtopaid.iohttps://linkedin.com/in/rbdmorgan/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.TakeawaysRob transitioned to freelancing after feeling stifled in traditional roles.He values client interaction for understanding user needs.Freelancing can be a rollercoaster of feast and famine.Rob's first freelance project came from a connection in affiliate marketing.Sales for Rob is about consultative problem-solving, not traditional selling.Freelancers should network to find clients and opportunities.Rob's SaaS idea emerged from identifying a niche problem in the window cleaning industry.Engaging potential customers early can validate a product idea.Pricing should reflect the value provided and be competitive. Rob reflects on his first business success and the lessons learned.The importance of timing and recognizing opportunities in business.Customer engagement and understanding needs are crucial for success.Rob's experience with the challenges of marketing a new product.The significance of having a pull demand rather than push in business.Rob discusses the natural end of his first business and the decision to sell.The transition from being a business owner to a fractional CTO role.Rob's insights on rebuilding a software product and the challenges faced.Rob's plans for a podcast focused on the journey of SaaS founders.

Jun 26, 2025 • 45min
The Debate: Self-Taught vs. Formal Education in Tech. Part 2 of 2 with Brian Feister.
Coding Chats episode 35 - John Crickett and Brian Feister explore the journey of becoming a software engineer, discussing the value of self-taught skills versus formal education, the impact of boot camps, and the importance of community in tech. They delve into their experiences with the Go programming language, sharing insights on learning, challenges faced, and the advantages of Go in modern software development.Chapters00:00 The Value of Computer Science Degrees05:46 Self-Taught vs. Formal Education in Software Engineering08:32 The Reality of Bootcamps and Career Expectations14:21 Approaches to Learning Go Programming18:03 Navigating Technical Challenges in Web Development20:22 Transitioning to Go: Experiences and Insights26:06 The Power of Go's Toolchain and Compiler Speed28:40 Learning Go: Tips and Resources32:06 Building with Go: Frontend and Backend Integration34:45 Understanding Go Routines and Concurrency39:28 Final Thoughts on Community and ConnectionBrian's Links:LinkedIn: https://www.linkedin.com/in/brianfeister/Meet Near Me on LinkedIn:https://www.linkedin.com/company/meet-near-meJohn'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.TakeawaysSelf-taught engineers often excel due to passion and curiosity.Formal education can provide useful fundamentals but isn't always necessary.Boot camps can mislead students about job prospects and salaries.Community support is crucial for growth in software engineering careers.Learning Go can be a rewarding experience with the right approach.Go's simplicity and efficiency make it a powerful tool for developers.Understanding concurrency in Go can enhance performance in applications.The tech industry is evolving, and adaptability is key for success.Remote work presents unique challenges for social interaction.Building a supportive network can help navigate the tech landscape.

Jun 19, 2025 • 40min
Navigating the Tech Landscape: From Big Tech to Startups. Part 1 of 2 with Brian Feister.
Coding Chats episode 34 - John Crickett and Brian Feister explore the journey from working in big tech to building startups, the evolution of mentorship in tech, the challenges of balancing multiple roles, and the intricacies of test-driven development. They discuss cognitive differences in software development, the importance of clear requirements, and the role of AI in the future of software engineering. The conversation emphasizes the value of learning from each other and the diverse paths in the tech industry.Chapters00:00 Navigating Dual Roles: Tech and Entrepreneurship03:12 From Mentorship to Startup: Building Together05:56 The Challenges of Team Dynamics and Testing08:40 Agile Development: Balancing Requirements and Flexibility11:48 Function Size and Cognitive Load in Coding14:18 The Art of Requirements Gathering17:15 The Future of AI in Software Engineering26:40 The Limitations of AI in Software Engineering30:29 Learning from Each Other in Software Development35:43 The Role of Domain Knowledge in Software Engineering39:52 Education Paths in Software EngineeringBRIAN'S LINKSLinkedIn: https://www.linkedin.com/in/brianfeister/Meet Near Me on LinkedIn:https://www.linkedin.com/company/meet-near-meJohn'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:Brian is currently working at Salesforce while building a startup.Mentorship has evolved into a community-driven project.Balancing a day job and a startup is challenging.Test-driven development has its pros and cons.Cognitive differences affect how developers approach problems.Requirements gathering is often more complex than coding.AI is unlikely to replace software engineers due to communication challenges.Learning from peers, regardless of experience, is valuable.The tech landscape is constantly evolving, requiring adaptability.Self-taught programmers face unique challenges in their learning journey.

Jun 12, 2025 • 46min
Unlocking the power of open source and mastering onboarding for new software engineers
Coding Chats episode 33 - John Crickett and Robert Roskam explore the significance of open source involvement, the critical nature of effective onboarding, the myth of 10x engineers, and the challenges of transitioning into management. They discuss how soft skills and community engagement are essential for software engineers, the importance of creating a supportive onboarding experience, and the misconceptions surrounding high-performing engineers. Additionally, they reflect on the realities of management and the emotional dynamics that influence decision-making within organizations.Chapters00:00 Introduction to FastAPI and Starlette01:50 Involvement in Django and Open Source Events04:17 Understanding the Python Software Foundation07:02 The Journey to Software Engineering09:43 The Importance of Onboarding12:09 Measuring Developer Experience and Impact15:03 The Honeymoon Period in New Employment17:52 Empathy in Leadership and Management Decisions22:49 The Importance of Team Commitment24:30 Onboarding and Documentation: The Foundation of Care26:33 Debunking the Myth of 10x Engineers29:48 Collaboration vs. Isolation in Software Engineering33:00 Effective Knowledge Sharing in Large Teams37:17 Transitioning to Management: Surprises and Realities44:06 The Value of an MBA for Software Engineering LeadersRobert's Links:robertroskam.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.Takeaways:Many software engineers are not involved in open source or community events.Soft skills are crucial for making projects successful.Onboarding is a critical period for new hires to learn and integrate into the company culture.Organizations often underestimate the time it takes for new hires to become productive.The concept of 10x engineers is often misunderstood; true value comes from collaboration and team dynamics.Effective onboarding can significantly reduce the time to first meaningful contribution.Emotional factors often drive organizational decisions more than rationality.An MBA can provide useful insights, but it's not necessary for all management roles.The best engineers are those who elevate their teammates and foster collaboration.All departments within an organization must work together for overall success.

Jun 5, 2025 • 26min
Learning Zig: A project-based approach - Part 2 of 2
Coding Chats episode 32 - John Crickett and Loris Cro discuss the Zig programming language, its community, and various ways to learn and apply Zig. Loris emphasizes the importance of project-based learning, the unique features of Zig, and how it is being used in production by various companies. Loris also shares insights on how to get involved with the Zig community and contribute to its growth.Chapters00:00 Learning Zig Through Projects04:58 Community and Learning Resources06:49 Zig in Production: Real-World Applications12:23 Understanding Zig's Unique Features18:07 Getting Involved with the Zig CommunityLoris's links:https://www.linkedin.com/in/kristoff-it/Jonathan Marler's talk: https://www.youtube.com/watch?v=aPWFLkHRIAQJohn'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.TakeawaysZig is a simple language that emphasizes debugging applications over language complexity.Project-based learning is effective for mastering Zig.Ziglings offers a hands-on approach for beginners to learn Zig.Companies like Tiger Beetle and BUN are using Zig in production.Zig's unique features include first-class support for no standard library.Zig allows for cross-compilation, making it versatile for different architectures.Community involvement is crucial for learning and contributing to Zig.Zig promotes a bottom-up approach to software development.Events like Zig Days foster collaboration and community building.Software You Can Love conference highlights innovative software development perspectives.

May 29, 2025 • 39min
Exploring the Zig programming language with Loris Cro - Part 1 of 2
Coding Chats episode 31 - John Crickett interviews Loris Cro about the Zig programming language and the Zig Foundation. They discuss the innovative features of Zig, including its unique approach to metaprogramming with Comp time, its role as a C and C++ compiler, and the benefits of using Zig for cross-compilation. Loris explains the structure and mission of the Zig Foundation, emphasizing its independence from big tech and its commitment to fostering a vibrant community. The conversation also delves into the development of the Zig compiler, its transition to being self-hosted, and the future of Zig in the programming landscape.Chapters00:00 Introduction to Zig Programming Language03:31 Understanding Nonprofit Structure and Community Engagement06:22 Innovative Features of Zig: Comptime and Cross-Compilation09:02 Exploring Metaprogramming with Comptime11:50 Benefits of Using Zig for C and C++ Projects15:07 Zig's Unique Approach to Compiler Design18:05 Incremental Compilation and Performance Improvements37:01 The Promise of Faster Compilation38:20 Learning Zig Through ProjectsLoris's links:https://www.linkedin.com/in/kristoff-it/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.TakeawaysZig is a lower-level programming language that provides raw access to machine power.The Zig Foundation operates as a nonprofit organization without backing from big tech.Community engagement is crucial for the growth and success of Zig.Comptime is a unique feature of Zig that allows for innovative metaprogramming.Zig supports cross-compilation for C and C++ projects, enhancing portability.The Zig compiler has transitioned to being self-hosted, improving productivity.Zig aims to provide instant builds for a better development experience.Incremental compilation and in-place binary patching are key features being developed.Zig's approach to metaprogramming is clearer and more manageable than traditional macros.The future of Zig looks promising with ongoing improvements in compiler performance.

May 22, 2025 • 54min
Moving to a portfolio career - working as a technical board advisor and non-executive director.
Coding Chats episode 30 - Tom Hill and John Crickett discuss Tom's transition into technical advisory roles, exploring the concept of a portfolio career, the differences between fractional executives and board advisors, and the essential skills required for success in these positions. He emphasizes the importance of communication, understanding business dynamics, and navigating the complexities of the job market, particularly in the context of AI's impact on software engineering. Tom also shares insights from his unique career journey, from sound engineering to becoming a tech advisor.Chapters00:00 Navigating Career Transitions: From Tech to Advisory Roles03:24 Understanding Fractional Executives vs. Board Advisors06:14 The Role of a Board Advisor: Responsibilities and Engagements09:00 The Importance of Communication in Advisory Roles12:06 Politics and Influence in Leadership14:42 AI's Impact on Software Engineering: Myths and Realities17:50 The Journey to Becoming a Technical Advisor28:11 Navigating the Job Market Challenges30:51 The Rise of Niche Recruitment34:08 Transitioning to Tech Advisory37:03 Understanding Business Financials43:08 From Music to Tech: A Unique JourneyTom's Links:Tom's LinkedIn https://www.linkedin.com/in/tomhill-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.Takeaways:Tom Hill has embraced a portfolio career, combining various advisory roles.Fractional executives focus on outcomes rather than just time spent.Board advisors provide guidance without operational involvement.Effective communication is crucial for translating technical concepts to non-technical stakeholders.Politics is inherent in business dynamics, and navigating it is essential.AI serves as an efficiency tool but won't replace software engineers soon.The job market is currently chaotic, with many candidates and roles available.Building skills for advisory roles involves understanding business fundamentals.Tom's career path reflects a journey of continuous learning and adaptation.Transitioning from technical roles to advisory positions requires a shift in perspective.

May 15, 2025 • 57min
Leadership, introverts, empathy in software engineering and dragons!
Coding Chats episode 29 - John Crickett and Sarah Gruneisen delve into the complexities of leadership, particularly in the engineering field. They discuss the challenges faced by individuals transitioning from technical roles to leadership positions, emphasizing the need for proper training and emotional intelligence. Sarah shares her insights on the importance of self-reflection, vulnerability, and understanding different personality types, including introverts as effective leaders. The discussion also touches on the pitfalls of agile methodologies when not implemented correctly and the necessity of connecting engineers with business goals to foster a productive environment.Chapters00:00 The Transition to Leadership03:50 Challenges of Leadership Training08:35 The Importance of Self-Awareness13:00 Empowering Teams and Leadership Styles16:42 The Journey to Leadership Coaching20:52 Understanding Emotional Intelligence29:36 Empathy and Its Many Forms33:09 Introverts as Effective Leaders35:39 The Power of Introverted Leadership40:28 Agile vs. Not Agile: Understanding the Framework50:34 Connecting Engineers with Business Needs55:36 Embracing the Dragon Within: Leadership and EmpathySarah's Links:Sarah's Book: https://www.avagasso.com/shopSarah's Leadership program: https://www.avagasso.com/leadSarah's Services: https://www.avagasso.com/offersJohn'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:Many individuals promoted to leadership lack proper training.Emotional intelligence is crucial for effective leadership.Self-reflection and vulnerability are key traits for leaders.Introverts can be effective leaders with the right skills.Agile methodologies often fail due to lack of understanding.Leaders should connect with their teams on a personal level.Empathy can be developed and is essential for leadership.Engineers need to understand business needs to thrive.Leadership is about inspiring and empowering others.Creating a safe environment for teams is vital for productivity.

May 8, 2025 • 44min
Zig, D, C++ programming languages and pair programming
Coding Chats episode 28 - Jonathan Marler discusses his journey as a programmer, focusing on his experiences with the Zig and D programming languages. He shares insights into the philosophies behind these languages, their applications in software development, and the challenges of cross-compilation. The discussion also covers his transition from a large corporation (HP) to a small startup (Tuple), the importance of pair programming, and the handmade philosophy in software development. Jonathan emphasizes the value of simplicity in programming languages and tools, and he shares practical examples of how Zig has been beneficial in his work.Jonathan's Links:https://github.com/marler8997https://twitch.tv/johnnymarlerhttps://www.youtube.com/@jonathanmarler5808https://www.linkedin.com/in/jonathan-marler-467585159/You can find Tuple here: https://tuple.appJohn'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.TakeawaysJonathan has been an engineer for about 15 years. He transitioned from D to Zig for its simplicity.Zig's philosophy focuses on keeping the language small and simple.D is a kitchen sink language with many features.Zig aims to circumvent the standard C library.Tuple is a tool for pair programming that enhances collaboration.Pair programming can be more motivating and effective for problem-solving.The handmade philosophy emphasizes writing good software with longevity.Zig allows for cross-compilation out of the box.Jonathan enjoys working in a small company for its impact and motivation.

May 1, 2025 • 39min
Go programming, Typescript, Python, WASM and AI in software development
Lane Wagner, Founder of Boot.dev, shares his journey in creating a platform for backend development focused on Go, TypeScript, and Python. He discusses the simplicity and performance of Go, the challenges of learning backend compared to frontend, and the appeal of TypeScript for better debugging. Wagner also highlights the importance of Python in programming fundamentals and shares insights on AI in the industry, emphasizing that while AI is a powerful tool, it can't replace the creativity and problem-solving skills of human engineers.