

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

Aug 28, 2025 • 56min
How curiosity can accelerate your career in tech
Coding Chats episode 42 - Joe Woodhouse shares his journey with John Crickett - from a young software enthusiast to a non-executive director. He discusses the importance of customer engagement in software development, the balance between customer needs and technical solutions, and how he navigated his career without traditional management titles. Joe emphasizes the value of diversity in boards and the 'jobs to be done' theory, illustrating how understanding the underlying needs of customers can lead to better solutions and business outcomes.Chapters00:00 Journey into Software Development05:55 Customer-Facing Roles and Solution Architecture11:56 Soft Skills in Tech17:52 Transitioning to Non-Executive Director37:36 The Impact of Diversity on Board Performance41:44 Disagree and Commit: A Misunderstood Concept47:09 The Importance of Being Heard and Understood52:56 Building Trust Through AuthenticityJoe's Links:https://www.linkedin.com/in/joewoodhouseengineer/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.TakeawaysJoe's passion for software began in primary school.He transitioned from individual contributor to non-executive director through diverse experiences.Customer engagement is crucial for effective software solutions.Balancing customer needs with technical capabilities is essential.Management roles are not the only path to leadership.Diversity in boards can enhance company performance.Understanding the 'jobs to be done' theory is vital for effective sales and marketing.Soft skills are critical for success in technical roles.Curiosity and understanding others can lead to better collaboration.Disagreeing constructively can foster innovation and trust.

Aug 21, 2025 • 36min
How to transition into tech - Julianna's journey from classroom to coding.
Coding Chats episode 41 - Julianna Messineo shares her journey with John Crickett, from being a math teacher to transitioning into the tech industry, particularly focusing on educational technology (EdTech). She discusses her experiences with various educational software, the challenges she faced in the job market, and the importance of building projects to enhance her skills. Julianna also emphasizes the significance of networking and personal branding in her job search, as well as the role of AI and podcasts in her learning process. The conversation concludes with Julianna's aspirations for the future and her ongoing projects.Chapters00:00 Introduction to EdTech and Personal Journey03:17 Challenges in Educational Software and UX06:02 Transition from Teaching to Tech08:40 Navigating the Job Market in Tech11:11 Building Projects and Learning by Doing13:47 Networking and Community Engagement in EdTech20:48 Building Connections and Networking22:45 The Importance of Personal Branding25:09 Learning Through Projects27:15 Utilizing Podcasts for Learning29:24 The Role of AI in Learning33:00 Exploring Coding Challenges and ProjectsJulianna's Links:https://www.linkedin.com/in/julianna-messineo/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.TakeawaysEdTech encompasses a wide range of educational technologies.User experience (UX) in educational software is often lacking.Transitioning from teaching to tech can be challenging due to job market conditions.Building projects is a crucial part of learning software development.Networking and personal branding are essential for job seekers in tech.Podcasts can be a valuable resource for learning on the go.AI can assist in coding but requires critical evaluation of suggestions.The job market for junior developers is currently very competitive.Creating educational tools can help bridge the gap in learning.Engaging with the community can lead to job opportunities.

Aug 14, 2025 • 42min
Using a side hustle and Build in Public to advance your software engineering career
David Weiss, a former Spanish teacher turned software engineer, shares his inspiring journey and emphasizes how educators bring valuable skills to tech. He discusses the significance of personal branding in the industry, offering insights into navigating the job market. David highlights the challenges of building SaaS applications and validates the importance of user feedback. He also introduces 'Build to Give,' an initiative connecting early career tech professionals with nonprofits, enhancing their skills while making a positive impact.

Aug 7, 2025 • 43min
Revolutionizing Developer Experience with Ocuroot
Coding Chats episode 39 - Tom Elliott discusses his startup - Ocuroot - which aims to simplify the developer experience by automating the management of complex production environments. He shares insights on the challenges faced by software engineers, the importance of customer feedback, and the lessons learned during his journey as a founder. Tom also delves into the competitive landscape, regulatory challenges, and the technical aspects of building Ocuroot, including his tech stack and the complexities of implementing features like dark mode.Chapters00:00 Introduction to Ocuroot: The Startup Journey03:10 The Developer Experience: Automating Complex Environments06:15 Navigating Competition: Positioning Ocuroot in the Market08:49 Lessons Learned: Insights from a Year as a Founder11:57 Customer Conversations: Validating Business Ideas14:35 Understanding CI/CD Challenges in Enterprises17:10 Regulatory Complexities: The Impact on Software Development20:05 Bridging the Gap: Communication Between Tech and Business22:58 Engaging with Customers for Better Solutions26:33 Simplifying Complex Use Cases28:12 Avoiding Overengineering in Product Development32:26 Balancing Building and Marketing34:26 Tech Stack and Development Insights38:34 The Challenges of Dark Mode40:57 Future Plans for OcurootTom's Links:Ocuroot: https://www.ocuroot.comLinkedIn: https://www.linkedin.com/in/telliott1984/Bluesky: https://bsky.app/profile/telliott.meSubstack: https://thefridaydeploy.substack.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.TakeawaysOcuroot aims to automate the management of production environments.The developer experience is a key focus for Ocuroot.Customer feedback is crucial for validating business ideas.Not all companies face the same challenges with CI/CD.Regulatory requirements can complicate software deployment.Building a simple tool can be more effective than over-engineering.Engaging engineers with customers can lead to valuable insights.Dark mode implementation can be complex and time-consuming.A strong tech stack is essential for startup success.Continuous learning is vital for founders.

Jul 31, 2025 • 51min
AI's Role in Software Development & Navigating the Divide: Data Science vs Software Engineering
Coding Chats episode 38 - John Crickett and Ryan Varley explore the distinctions between data science and software engineering, the impact of AI on these fields, and the current job market dynamics. They discuss the challenges of scaling start-ups, the importance of clear communication in software development, and the transition from leadership roles back to individual contributor positions. Ryan emphasizes the need for curiosity and seizing opportunities for career growth.Chapters00:00 Data Science vs. Software Engineering05:41 The Evolution of AI and Machine Learning10:52 The Future of AI and Its Impact on Jobs16:11 The Challenges of Requirements Gathering in Software Development23:11 Current Job Market Insights24:47 The Changing Landscape of Job Applications27:04 Navigating the Interview Process30:22 The Impact of AI on Hiring33:42 Scaling Startups: Challenges and Strategies39:51 Transitioning from Leadership to Individual Contributor44:25 Advice for Career GrowthRyan's Links:LinkedIn: https://www.linkedin.com/in/ryanvarley/Brilliant People, Exceptional Teams Newsletter: newsletter.ryanvarley.comWebsite: ryanvarley.comTikTok: https://www.tiktok.com/@rvarleyYoutube: https://www.youtube.com/@rvarleyJohn'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.TakeawaysData science and software engineering have distinct roles and challenges.AI is reshaping the landscape of software development and data science.The job market is currently competitive, requiring applicants to stand out.AI-generated CVs can complicate the hiring process.Scaling startups presents unique challenges that require careful management.Transitioning from leadership to individual contributor roles can be refreshing.Curiosity and taking opportunities are key to career growth.Effective communication is crucial in understanding project requirements.The importance of adapting to changes in the job market.Learning to say no is essential for effective management.

Jul 24, 2025 • 1h 10min
AI, management and situational leadership in software engineering
Coding Chats episode 37 - John Crickett and Simon Copsey explore the intricate relationship between technology, management, and leadership in software engineering. They discuss the limitations of technology, particularly AI, emphasizing that while it can be a powerful tool, it is not a one-size-fits-all solution. The importance of soft skills, situational leadership, and understanding organizational dynamics is highlighted as essential for effective management. They also delve into the significance of learning from mistakes and the need for psychological safety in decision-making processes.Chapters00:00 Technology: Necessary but Not Sufficient02:49 AI: The Shiny Object Syndrome05:38 The Role of Collaboration in Software Engineering08:09 Management vs. Engineering: A Different Skill Set10:33 Understanding Team Dynamics and Cooperation13:28 The Importance of Systems Thinking16:13 Identifying Underlying Causes in Organizations18:58 Creating Paths of Least Resistance21:37 The Impact of Metrics on Team Behavior23:54 The Role of Systems in Organizational Success26:00 Balancing Individual Uniqueness and Organizational Needs31:53 Leadership Models and Situational Context34:20 Bureaucracy vs. Creativity in Leadership37:37 Command and Control vs. Intent-Based Leadership42:35 The Importance of Psychological Safety45:18 Learning from Mistakes and Decision-Making48:51 Sociocratic vs. Democratic Leadership53:11 The Role of Assumptions in Decision-Making56:37 Adapting Leadership Styles to Team Contexts01:00:49 The Importance of Asking Why in Leadership01:04:34 Summary of Key Insights01:09:37 Outro Final Coding Chats.mp4LINKSTalk by Simon: From Diapers to Delivery: Parenting Lessons for Management - https://www.youtube.com/watch?v=HBCLoklUZMgReferences: The Goal (Book, Eli Goldratt)Necessary But Not Sufficient (Book, Eli Goldratt)Technical debt is a myth (Article, Noah Cantor)Management in Small Doses (Book, Russell Ackoff)The New Economics (Book, W. Edwards Deming)Thinking for a Change (Book, Lisa Scheinkopf)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.TakeawaysTechnology is necessary but not sufficient for success.AI should be applied to specific problems, not as a blanket solution.Management is a distinct career path from engineering.Soft skills are crucial in software engineering.Mistakes are essential for learning and growth.Situational leadership adapts to the context and team dynamics.Understanding the system is key to solving organizational problems.Effective decision-making requires psychological safety.Disagree and commit fosters a culture of learning.Assumptions should be documented to facilitate learning.

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.