Coding Chats cover image

Coding Chats

Latest episodes

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

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app