Coding Chats

Coding Chats

By John CrickettTechnology
Download on the App Store

Coding Chats episodes

  • From fire fighting to AI pair programming: Shane Harger's journey

    Coding Chats episode 51 - Shane Harger shares her unique career journey from web development and graphic design to firefighting and back to tech, emphasizing the importance of pair programming, incident management lessons, and the evolving role of AI in software development. She discusses the significance of DevOps and platform engineering in enhancing team collaboration and efficiency, while also highlighting the value of junior developers in fostering a learning environment within teams.


    Chapters

    00:00 Shane Harger's Unique Career Journey

    05:32 Transitioning from Firefighting to Tech

    10:12 The Importance of Pair Programming

    15:01 Lessons from Incident Management

    20:02 DevOps and Platform Engineering Insights

    27:44 The Dynamics of Code Review and Pair Programming

    29:54 AI as a Partner in Programming

    34:03 Key Learnings from AI Pair Programming Experiments

    45:37 The Importance of Diverse Pairing in Development Teams


    Shane's links:

    https://www.linkedin.com/in/shaneharger/


    John's Links:

    John's LinkedIn: https://www.linkedin.com/in/johncrickett/

    John’s YouTube: https://www.youtube.com/@johncrickett

    John's Twitter: https://x.com/johncrickett

    John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social


    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.


    Takeaways

    Shane's career spans web development, firefighting, and consulting.

    Firefighting provided unexpected tech opportunities in incident management.

    Pair programming fosters camaraderie and knowledge sharing.

    DevOps emphasizes ownership and collaboration in software development.

    AI can assist in coding but lacks the human element of teamwork.

    Juniors bring fresh perspectives and questions that benefit teams.

    Effective incident management requires calmness and basic troubleshooting skills.

    Automation in DevOps enhances response times and reduces handovers.

    Product thinking is essential for infrastructure teams to meet customer needs.

    The transition from POC to production can be challenging without clear requirements.

    52 min
  • How to manage technical debt with Lou Franco

    Coding Chats episode 50 - Lou Franco discusses the concept of technical debt, its implications for software development, and the importance of quantifying it. He emphasizes that technical debt is not just a financial metaphor but a real issue affecting developer productivity and team dynamics. The discussion also covers the role of managers in understanding and addressing technical debt, the importance of metrics, and the eight questions that can help teams evaluate their technical debt. Additionally, the conversation touches on the impact of AI on technical debt management, highlighting both its potential benefits and challenges.


    Chapters

    00:00 Understanding Technical Debt

    03:17 The Financial Metaphor of Tech Debt

    06:04 Defining Technical Debt: Internal vs External Effects08:59 The Role of Developer Productivity

    12:05 The Team Responsibility of Technical Debt

    14:51 Why Managers Should Care About Tech Debt

    18:05 Quantifying Technical Debt for Visibility

    20:57 Improving Developer Productivity

    23:43 Communicating Tech Debt to Executives

    26:41 Understanding Technical Debt and Its Management

    36:37 The Eight Questions for Managing Technical Debt

    46:29 AI's Role in Technical Debt: A Double-Edged Sword


    Lou's Links:

    LinkedIn: https://www.linkedin.com/in/loufranco/Book: https://loufranco.com/tech-debt-book


    John's Links:

    John's LinkedIn: https://www.linkedin.com/in/johncrickett/

    John’s YouTube: https://www.youtube.com/@johncrickett

    John's Twitter: https://x.com/johncrickett

    John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social


    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.


    Takeaways

    Technical debt is often misunderstood and miscommunicated.

    The financial metaphor of technical debt can be misleading.

    Technical debt can arise from changing technologies, not just poor choices.

    Developers experience anxiety due to technical debt affecting estimates.

    Managers need to understand the visible effects of technical debt.

    Quantifying technical debt helps in communicating its impact.

    The eight questions framework aids in evaluating technical debt.

    AI can assist in managing technical debt but requires careful oversight.

    Collaboration with other teams can provide valuable insights into technical debt.

    Technical debt should be viewed as a team responsibility, not just an individual issue.

    57 min
  • An introduction to cybersecurity - from physical breaches to digital intrusions

    Coding Chats episode 49 - John Crickett and Kev Milne delve into the critical realm of cybersecurity, exploring its various facets from social engineering to the importance of penetration testing. They discuss the evolution of attacks, the role of AI, and the significance of mainframes in modern security. The conversation also highlights the career paths in cybersecurity and the necessity for continuous investment in security measures to protect digital assets.


    Chapters

    00:00 Understanding Cybersecurity

    03:38 The Evolution of Attacks: Physical vs. Digital

    06:18 Social Engineering: The Art of Deception

    09:15 The Importance of Penetration Testing

    12:02 Career Paths in Cybersecurity

    14:49 The Diverse Landscape of Cybersecurity

    17:56 The Necessity of Ongoing Security Measures

    20:34 The Cost of Neglecting Cybersecurity

    25:48 The Evolution of Wi-Fi Security

    27:04 Mainframes: The Misunderstood Giants

    28:15 Mainframe Security: Myths and Realities

    30:02 The Challenge of Legacy Code

    32:20 Balancing Security and Functionality

    34:12 Defense in Depth: A Security Strategy

    35:35 AI's Role in Cybersecurity

    37:50 The Threat Landscape: Script Kiddies and Beyond

    38:34 Training the Next Generation of Cybersecurity Experts

    41:36 The Importance of Conferences in Cybersecurity


    Kev's Links:

    LinkedIn: https://www.linkedin.com/in/kevinmilne/

    Website where folks can obtain the Mainframe Offensive Security Tester course, download the Gibson Mainframe Simulator or purchase the Cyber Coach labs: https://offensivesec.org

    Try out some free labs Kev has created: https://cyber-coach-labs-bd010da0.base44.app/FreeLabs


    John's Links:

    John's LinkedIn: https://www.linkedin.com/in/johncrickett/

    John’s YouTube: https://www.youtube.com/@johncrickett

    John's Twitter: https://x.com/johncrickett

    John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social


    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.


    Takeaways

    Cybersecurity is essential for protecting digital assets.

    Social engineering remains a significant threat today.

    Red teaming involves advanced penetration testing techniques.

    Understanding networking is crucial for aspiring penetration testers.

    Mainframes are still vital for processing transactions.

    AI can both aid and complicate cybersecurity efforts.

    Continuous investment in cybersecurity is necessary for businesses.

    Penetration testing should be a standard practice for all companies.

    Security requires a layered defense approach.

    Conferences are valuable for staying updated in cybersecurity.

    50 min
  • Career growth strategies in software engineering: start-ups vs bigtech

    Coding Chats episode 48 - John Crickett and Gilad Naor explore the differences between working at startups and big tech companies, discussing the pros and cons of each environment. They delve into career growth, the importance of mentorship, and the balance between specialization and generalization in tech careers. The discussion also covers the management track versus individual contributor roles, the role of managers in creating positive change, and the significance of interview preparation. Additionally, they highlight the value of side projects and the necessity for managers to build empathy through understanding various roles within their organizations. The conversation concludes with advice on taking ownership of one's career and the importance of continuous personal development.


    Chapters

    00:00 Startups vs. Big Tech: A Comparative Overview

    03:19 Navigating Career Growth in Tech

    06:08 The Reality of Big Tech Work

    09:06 Specialization vs. Generalization in Tech Careers

    11:39 The Management Track: Leadership vs. Management

    14:28 Creating Positive Change as a Manager

    17:14 Interview Preparation for Managers

    20:33 Choosing the Right Stories for Interviews

    26:59 Navigating Conflict in Technical Leadership

    29:12 Addressing Gaps in Management Experience

    32:15 Interview Strategies for Senior Roles

    35:17 Demonstrating Depth of Experience in Interviews

    38:52 The Role of Side Projects in Personal Development

    42:02 The Importance of Technical Empathy in Management

    47:32 Taking Ownership of Your Career


    Gilad's Links:

    Gilad's LinkedIn: https://www.linkedin.com/in/giladnaor

    Gilad's Website: https://managementdeltas.com/


    John's Links:

    John's LinkedIn: https://www.linkedin.com/in/johncrickett/

    John’s YouTube: https://www.youtube.com/@johncrickett

    John's Twitter: https://x.com/johncrickett

    John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social


    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.


    Takeaways

    Working at startups allows for a broader range of experiences.

    Big tech offers more mentorship opportunities for career growth.

    The term 'startup' can encompass a wide range of company sizes and structures.

    Career growth in tech often requires navigating internal mobility.

    Specialization can provide a competitive advantage in tech careers.

    Management and leadership are distinct roles that require different skill sets.

    Interview preparation is crucial for both managers and individual contributors.

    Building empathy as a manager involves understanding various roles in the organization.

    Side projects can help maintain technical skills and foster personal development.

    Taking ownership of your career is essential for success.

    49 min
  • How to get jobs to come to you - a guide for staff+, directors, VPEngs and CTOs #jobhunting

    Coding Chats episode 47 - Warren Beazley shares his extensive experience in recruiting CTOs and outlines a five-step process designed to help tech leaders navigate the job market effectively. He emphasizes the importance of understanding one's value proposition, building a strong network, creating engaging content, and actively engaging with potential employers. The discussion highlights the challenges posed by traditional job searching methods and the impact of AI on recruitment, while offering practical strategies for candidates to stand out in a competitive landscape.


    Chapters

    00:00 Introduction to the Five-Step Process

    10:53 Understanding the Job Market Dynamics

    19:08 The Importance of Value Proposition

    27:57 Building Your Network Effectively

    36:17 Creating Engaging Content on LinkedIn

    42:46 Leveraging Personal Experiences for Content Creation

    45:32 The Importance of Storytelling in Professional Growth

    48:20 Detailing Achievements for Interviews

    50:12 Building a Library of Personal Stories

    52:49 Understanding LinkedIn's Algorithm and Engagement

    54:26 Ethical Stalking: Engaging with New Connections

    58:16 The Power of Meaningful Comments

    01:00:50 Recap of Five Steps for LinkedIn Success

    01:03:39 Transforming Your LinkedIn Profile into a Landing Page

    01:08:04 Creating Value Through Content and Networking


    John's Links:

    John's LinkedIn: https://www.linkedin.com/in/johncrickett/

    John’s YouTube: https://www.youtube.com/@johncrickett

    John's Twitter: https://x.com/johncrickett

    John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social


    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.


    Takeaways

    The traditional job search process is broken and needs a new approach.

    Understanding your value proposition is crucial for job seekers.

    Networking is essential; aim to connect with relevant individuals daily.

    Quality content creation is more important than quantity.

    Engaging with your network can lead to new opportunities.

    AI screening tools often miss qualified candidates due to keyword matching.

    Your LinkedIn profile should serve as a landing page, not just a CV.

    Consistency in posting content on LinkedIn can enhance visibility.

    Building relationships through meaningful comments is key to networking.

    Candidates should view themselves as a solution to potential employers' problems.

    1 hr 14 min
  • Unlocking developer experience: the key to productivity and flow state for software engineers

    Coding Chats episode 46 - John Crickett and Fernando Villalba delve into the concept of Developer Experience (DevEx) and its significance in software engineering. They discuss how optimizing for flow state can enhance productivity, the importance of effective tooling, and the role of a supportive work environment. The conversation also touches on team dynamics, the necessity of regular retrospectives, and the impact of meetings on developer flow. Ultimately, they emphasize that improving developer experience is not just beneficial for developers but is also a strategic advantage for companies.


    Chapters

    00:00 Understanding Developer Experience

    03:14 Optimizing for Flow State in Development

    05:56 The Importance of Tooling in Developer Experience

    08:36 Creating a Supportive Work Environment

    11:34 The Role of Developer Experience in Team Dynamics

    14:10 The Business Case for Investing in Developer Experience

    16:53 Improving Team Retrospectives for Better Developer Experience

    26:56 The Role of Daily Standups in Agile Teams

    32:36 Effective Meeting Practices and Rituals

    36:26 Understanding Scrum and Its Misinterpretations

    42:50 Optimizing Developer Experience for Flow State


    Fernando's Links:

    https://www.linkedin.com/in/nandoit/


    John's Links:

    John's LinkedIn: https://www.linkedin.com/in/johncrickett/

    John’s YouTube: https://www.youtube.com/@johncrickett

    John's Twitter: https://x.com/johncrickett

    John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social


    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.


    Takeaways

    Great developer experience is about how easy it is for developers to get into a flow state.

    Optimizing for flow state can lead to better productivity and code quality.

    Tooling should allow developers to perform tasks in the least number of steps possible.

    A well-structured office environment can enhance developer focus and reduce distractions.

    Companies should invest in their developers' experience to improve overall output and satisfaction.

    Team dynamics and communication significantly impact developer experience.

    Regular retrospectives can help teams identify and eliminate friction points.

    Meetings should be purposeful and well-structured to avoid wasting time.

    Adapting methodologies to fit the team's needs is crucial for success.

    Creating a culture of care and support can enhance developer engagement.

    47 min
  • How to collaborate with recruiters as an engineering leader to find the best software engineers

    Coding Chats episode 45 - Guy Allen and John Crickett discuss the dynamics between software engineers, hiring managers, and recruiters and how they can work together to recruit the best software engineers. They explore effective strategies for collaboration, the importance of clear communication, and the impact of recruitment models on candidate experiences. The discussion emphasizes the need for engagement, the significance of tailored job specifications, and the value of building long-term relationships with recruiters. Additionally, they touch on the role of AI in recruitment and the necessity of maintaining a human touch in the hiring process.


    Chapters

    00:28 How hiring managers can work effectively with recruiters

    10:37 What else can a hiring manager do to work effectively with a recruiter?

    17:39 How important is a clear job spec and sharing details with the recruiter?


    Guy's Links:

    https://www.linkedin.com/company/futura-talent/https://futura-talent.com/


    John's Links:

    John's LinkedIn: https://www.linkedin.com/in/johncrickett/

    John’s YouTube: https://www.youtube.com/@johncrickett

    John's Twitter: https://x.com/johncrickett

    John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social


    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.


    Takeaways

    Software engineers should engage actively with recruiters.Hiring managers need to provide clear job specifications.

    More recruiters do not guarantee better results.

    Building relationships with recruiters is essential.

    Engagement leads to better candidate experiences.

    Quality over quantity in job applications is crucial.

    Clear communication improves recruitment outcomes.

    Understanding different recruitment models is important.

    Human interaction enhances the recruitment process.

    AI should not replace the human element in hiring.

    25 min
  • How to become a non executive director in tech

    Coding Chats episode 44 - Joe Woodhouse shares his unique journey from software to non-executive director roles, emphasizing the importance of building skills, networking, and understanding board dynamics. He discusses the concept of 'luck surface area' and how being open to opportunities can lead to success. Joe highlights the significance of emotional intelligence in leadership and the value of experience in non-profit boards. He also addresses the role of training and education in career advancement and the importance of diversity in board composition.


    Chapters

    00:00 Developing Skills for Non-Executive Roles

    04:50 The Role of Non-Executive Directors

    05:33 Luck Surface Area: Creating Opportunities

    10:50 Understanding Cash Flow in Decision Making

    16:27 The Value of an MBA in Business Understanding

    19:51 Understanding Reputational Damage in Security

    20:21 The Importance of Team Dynamics in Business

    21:34 Engagement in Community Projects

    22:42 Diversity in Perspectives and Decision Making

    24:22 Conflict Resolution in Community Committees

    24:54 Financial Planning and Resource Allocation

    27:45 The Role of Not-for-Profits in Society

    28:42 Profitability in Not-for-Profit Organizations

    30:30 Emotional Decision Making in Business

    32:09 The Journey to Board Membership

    33:07 The Value of Experience Over Formal Training

    34:07 The Industry of Self-Help and Career Advancement

    36:30 The Path to Board Roles

    41:09 The Importance of Volunteer Experience

    43:51 Big Tech's Perspective on Board Experience

    45:57 Influence vs Authority in Leadership

    49:26 Diversity and the Wisdom of Crowds

    52:08 The Value of Soft Skills in Business

    53:07 Encouragement to Volunteer and Engage


    Joe'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/@johncrickett

    John's Twitter: https://x.com/johncrickett

    John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social


    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.


    Takeaways

    Joe Woodhouse's journey showcases a unique path to non-executive roles.

    Building skills for board positions requires deliberate effort and experience.

    The concept of 'luck surface area' emphasizes the importance of being open to opportunities.

    Networking and curiosity are key to creating professional connections.

    Understanding board dynamics is crucial for effective decision-making.

    Non-executive directors play a vital role in governance and strategy.

    Cash flow considerations are essential in business decision-making.

    Experience in non-profit boards can provide valuable insights and skills.

    Emotional intelligence is critical for influencing and leading teams.

    Diversity in board composition enhances decision-making and innovation.

    55 min
  • How to work with recruiters to find your next role - a guide for software engineers

    Coding Chats episode 43 - Guy Allen and John Crickett discuss how software engineers can effectively work with recruiters to find a job. They explore the importance of building relationships, understanding different types of recruiters, crafting an effective CV, leveraging AI in job applications, and maximizing LinkedIn for job searches. The discussion emphasizes empathy, visibility, and the need for clear communication in the recruitment process.


    Chapters

    00:00 Building Relationships with Recruiters

    04:22 Understanding Different Types of Recruiters

    12:13 Crafting an Effective CV19:45 The Role of AI in Job Applications

    21:49 Leveraging LinkedIn for Job Search


    Guy's Links:

    https://www.linkedin.com/company/futura-talent/

    https://futura-talent.com/


    John's Links:

    John's LinkedIn: https://www.linkedin.com/in/johncrickett/

    John’s YouTube: https://www.youtube.com/@johncrickett

    John's Twitter: https://x.com/johncrickett

    John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social


    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.


    Takeaways

    Building relationships with recruiters is crucial for candidates.

    Candidates should follow up on applications to stand out.

    Empathy towards recruiters can improve communication.

    Tailor applications for different types of recruiters.

    Providing clear context in CVs is essential.

    Candidates should highlight their achievements and impact.

    AI can assist in job applications if used wisely.

    A detailed LinkedIn profile increases visibility to recruiters.

    Networking on LinkedIn can enhance job search opportunities.

    Understanding the recruitment market dynamics is important.

    27 min
  • 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.


    Chapters

    00:00 Journey into Software Development

    05:55 Customer-Facing Roles and Solution Architecture

    11:56 Soft Skills in Tech

    17:52 Transitioning to Non-Executive Director

    37:36 The Impact of Diversity on Board Performance

    41:44 Disagree and Commit: A Misunderstood Concept

    47:09 The Importance of Being Heard and Understood

    52:56 Building Trust Through Authenticity


    Joe'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/@johncrickett

    John's Twitter: https://x.com/johncrickett

    John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social


    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.


    Takeaways

    Joe'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.

    56 min

About Coding Chats

From the publisher's feed

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…

More shows like Coding Chats

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

286 Listeners