

Coding Chats
John Crickett
On Coding Chats, John Crickett interviews software engineers of all levels from junior to CTO. He encourages the guests to share the stories of the challenges they have faced in their role and the strategies and tactics they have used to overcome those challenges providing actionable insights other software engineers can use to accelerate their careers.
Episodes
Mentioned books

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. 

Apr 24, 2025 • 47min
Building HPC software with CUDA
 Coding Chats episode 26 - John Crickett talks to Dennis Kennetz about:the world of High Performance Computing (HPC), exploring its definition, differences from traditional development, and the significance of batch scheduling. They discuss the role of CUDA and GPUs in enhancing computational efficiency, the challenges of data movement, and the importance of correctness in software development. The conversation also highlights the balance between developer time and compute time, emphasizing the need for effective resource management in HPC applications. Finally, they provide insights into resources for learning more about HPC and CUDA programming.Dennis's Links:LinkedIn - https://www.linkedin.com/in/dennis-kennetz/Newsletter - https://substack.com/@dkennetzGithub with CUDA Examples - https://github.com/drkennetz/cuda_examplesJohn'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. 

Apr 17, 2025 • 51min
Using your network and posting on LinkedIn to find a job and the impact of AI on software engineers
 Coding Chats episode 25 - Eric Mariasis and John Crickett discuss the challenges faced by individuals entering the software engineering field, emphasizing the importance of perseverance and continuous learning. He highlights the significance of networking, building genuine relationships, and leveraging past interview experiences for future opportunities. Eric also shares insights on the value of sharing knowledge on platforms like LinkedIn, the benefits of freelancing, and the role of mentorship in career development. The discussion touches on the impact of AI on job roles and the future of work, particularly in the context of remote collaboration.GUEST's Links:Eric's LinkedIn - www.linkedin.com/in/careercodeproEric's Substack - https://substack.com/@ericmariasis1?r=5h4vvxEric's Website - https://careercodepro.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. 

Apr 10, 2025 • 7min
How to create your own luck as a software engineer to get more job opportunities or promotions
 Coding Chats episode 24 - how do you create your own luck so you get more job opportunities and promotion opportunities as a software engineer? In this episode John discusses how software engineers can create their own luck in their careers. He introduces the concept of 'luck surface area,' which suggests that the more passionate and active you are in your field, the more opportunities will arise. He emphasizes the importance of building a personal brand, sharing expertise, and networking to enhance career growth and seize serendipitous opportunities.TakeawaysYou can create your own luck as a software engineer. The amount of serendipity is directly proportional to your passion and communication. Luck is equal to doing multiplied by telling. Building a personal brand is essential for career growth. Engaging with your audience can clarify your thoughts and improve your skills.Networking both online and offline increases your luck surface area.Sharing original content can resonate with your audience and create opportunities.Internal communication within your organization can promote your personal brand.Maintaining relationships with knowledgeable individuals raises your own expertise.Documenting achievements helps in career advancement and job applications.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.socialNewsletters: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. 

Apr 3, 2025 • 52min
Transitioning to tech leadership and the importance of soft skills for software engineers
 Coding Chats Episode 23 - Anemari Fiser and John Crickett explore the software engineering mindset, the importance of asking questions, the differences between consultancy and product companies, the significance of soft skills in tech, and the challenges of making work visible.  The Engineering Mindset: An Overview The Importance of Asking Questions Consultancy vs. Product Companies: A Comparative Insight The Transition from Technical to Non-Technical Roles Building High-Performing Teams: The Role of Leadership Navigating the Challenges of Leadership Transitions Visibility and Impact in Work Navigating Career Paths: IC vs Management The Importance of Soft Skills Coaching vs Mentoring: Finding Your Path Developing Soft Skills: Starting Points and Strategies Courage to Change: Adapting to New EnvironmentsAnemari's Links:LinkedIn - https://www.linkedin.com/in/anemari-fiser/O’Reilly book - Leveling Up as a Tech Lead (Early release version) - https://www.oreilly.com/library/view/leveling-up-as/9781098177508O’Reilly online course - Soft Skills for Tech Leads - https://learning.oreilly.com/course/soft-skills-for/0642572043995/Level up as a Tech Lead Newsletter - https://anemarifiser.substack.comCoaching 1-1 - https://anemarifiser.substack.com/p/1-1-coachingJohn'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. 

Mar 27, 2025 • 41min
How to find a software engineering job by using LinkedIn to network with hiring managers.
 Coding Chats Episode 22 - John talks to Anna Miller about:  finding a job as a software engineer and how you can use LinkedIn to network with hiring managers  treating your job hunt and career like a business using data to identify and overcome the bottlenecks to finding your next role overcoming the fear of rejection- creating an effective LinkedIn profileAnna's Links:https://tinyurl.com/ccm-trainingJohn'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. 


