Home
Categories
EXPLORE
Comedy
True Crime
History
Society & Culture
Health & Fitness
Business
Education
About Us
Contact Us
Copyright
© 2024 PodJoint
00:00 / 00:00
Sign in

or

Don't have an account?
Sign up
Forgot password
https://is1-ssl.mzstatic.com/image/thumb/Podcasts211/v4/cc/17/b2/cc17b28e-dc17-28a5-ba96-b5a99bc92f41/mza_6646550504722810147.jpg/600x600bb.jpg
Coding Chats
John Crickett
63 episodes
2 days ago
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.
Show more...
Technology
RSS
All content for Coding Chats is the property of John Crickett and is served directly from their servers with no modification, redirects, or rehosting. The podcast is not affiliated with or endorsed by Podjoint in any way.
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.
Show more...
Technology
Episodes (20/63)
Coding Chats
Spec driven development and building better software with AI agents

Coding Chats episode 60 - John Crickett and Paul discuss the transformative impact of AI on software engineering, exploring topics such as spec-driven development, the importance of small batches, and the challenges of requirements gathering. They delve into the evolving role of AI tools, the need for effective communication, and the balance between productivity and code quality. The discussion also touches on the future of AI in development, the significance of ownership in coding, and the potential for specialized AI agents to enhance workflows. Paul shares valuable tips for leveraging AI in software engineering, emphasizing the importance of joy, working in small units, and maintaining humility in the face of rapid technological change.


Chapters

00:00 AI in Software Engineering: A New Era

03:36 The Revelation of Prompt-Driven Development

06:08 Spec-Driven Development vs. Waterfall

09:16 The Importance of Small Batches in AI Development

12:05 Ownership and Responsibility in AI-Generated Code

14:57 The Challenges of Outsourcing and Communication in Software Development

20:15 The Future of Programming and Communication

23:38 AI Tools and Upstream Bottlenecks

27:18 Understanding JetBrains' AI Integration

31:40 User Experience and AI Interaction

35:42 Opinionated Workflows in Software Development

37:24 Finding Joy in AI-Assisted Engineering


Paul's Links:https://buildermethods.com/agent-os


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

AI is revolutionizing software engineering practices.

Spec-driven development formalizes the way we instruct AI agents.

Small batches improve productivity and maintain context.

Ownership of code is crucial for long-term success.

Quality of code generated by AI is more important than quantity.

Effective communication is key in AI-assisted development.

Specialized AI agents will enhance the development process.

JetBrains is evolving its tools to integrate AI effectively.

Developers should find joy in their work, even with AI assistance.

Humility is essential as we navigate the future of AI in programming.

Show more...
2 days ago
41 minutes 54 seconds

Coding Chats
Building the Rig AI framework with Rust

Coding Chats episode 59 - Josh discusses the AI agent framework Rig, its functionalities, and the benefits of using Rust for its implementation. He explains the concept of agents and embeddings, their applications, and the importance of managing context windows in AI models. Josh shares his journey of learning Rust, transitioning from a technical content writer to a co-maintainer of Rig, and the challenges faced while building a coding agent. He emphasizes effective prompting strategies and the importance of concise communication with AI models. The conversation concludes with insights on contributing to Rig and the future of AI frameworks.


Chapters

00:00 Introduction to Rig and AI Frameworks

02:56 Understanding Agents and Embeddings

05:24 Use Cases for Embeddings and Context Management

07:53 Benefits of Using Rig in Rust

10:10 Learning Rust and Overcoming Challenges

12:56 Transitioning to Rig and AI Focus

15:21 Building a Coding Agent: Challenges and Insights

17:45 Prompting Techniques and Best Practices

20:06 Contributing to Rig and Community Engagement

22:49 Final Thoughts and Future Directions


Josh's Links:

https://github.com/0xPlaygrounds/rig

https://www.rustnationuk.com/speaker/joshua-mo

https://www.linkedin.com/in/joshua-mo-4146aa220/


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

Rig is an AI agent framework that simplifies AI integration.

Agents in AI are often misunderstood due to marketing hype.

Embeddings serve as data representations for various applications.

Retrieval augmented generation is a common use case for embeddings.

Managing the context window is crucial for effective AI performance.

Using Rust for Rig provides type safety and performance benefits.

Learning Rust can be challenging but rewarding with the right approach.

Josh transitioned from content writing to engineering at Rig.

Building a coding agent revealed the complexities of AI.

Concise prompts are essential to avoid overwhelming AI models.

Show more...
1 week ago
35 minutes 44 seconds

Coding Chats
Coding Chats holiday special - John answers your questions about software engineering

In this special holiday episode of Coding Chats, John Crickett answers audience questions about software engineering careers, the impact of AI, programming languages, and the importance of leadership. He discusses how to rebuild an engineering career, the significance of meaningful projects, and the readiness of self-taught developers. The conversation also touches on insights gained from hosting the podcast and the evolving landscape of software development.


Chapters

00:00 Introduction to the Coding Chats Holiday Special

00:22 Rebuilding an Engineering Career in 2025

01:01 The Future of Software Engineering with AI

01:27 Learning Programming: Starting Points and Languages

02:27 Breaking the No Experience Loop for Developers

04:17 Meaningful Experience: Projects and Contributions

05:02 Self-Taught Developers: Readiness and Opportunities

06:07 Qualities of a Good Software Engineering Leader

06:52 Insights from 18 Months of Coding Chats

07:43 Architecture as a Strategic Concern in Engineering


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

Leverage AI to find answers quicker than before.

Reading and curiosity are key habits for growth.

All parts of software engineering will survive AI advancements.

Focus on learning computer science fundamentals first.

Choose programming languages based on your interests.

Building personal projects can help you get noticed.

Self-taught developers can be just as capable as those with degrees.

Good leadership adapts to the situation and team needs.

The software development field is diverse and evolving.

Architecture should be treated as a strategic concern.

Show more...
2 weeks ago
8 minutes 12 seconds

Coding Chats
Should you ship code without feature flags?

Coding Chats episode 58 - John Crickett and Melinda Fekete delve into the concept of feature ops, emphasizing the importance of managing code in production effectively. They discuss feature flags as a mechanism for safe testing and releasing of code, the challenges of managing feature flags, and the significance of user feedback in software development. The conversation also touches on deployment strategies like canary releases, learning from recent outages, and the benefits of testing in production. Additionally, they explore the role of feature flag providers and the trade-offs associated with adopting feature flags in software projects.


Chapters

00:00 Introduction to Feature Ops

02:46 Managing Feature Flags Effectively

07:41 Deployment Strategies: Canary Releases and Gradual Rollouts

12:23 The Importance of Dogfooding and User Feedback

15:05 Learning from Recent Outages

19:13 Testing in Production and Its Benefits

21:51 Managing Feature Flags at Scale

27:01 Feature Flag Providers and Their Benefits

30:50 Involving Product Teams in Feature Flag Management

31:45 Trade-offs and Downsides of Feature Flags

39:35 Exploring Related Content


Melinda's Links:

A guide on working with feature flags in code: https://docs.getunleash.io/guides/manage-feature-flags-in-code

Open-source repo: https://github.com/Unleash/unleash


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

Feature ops focuses on managing code in production effectively.

Feature flags allow for safe testing and releasing of code without redeployment.

Managing the lifecycle of feature flags is crucial for maintenance.

Canary releases and gradual rollouts help mitigate risks during deployment.

User feedback is essential for improving software products.

Recent outages highlight the need for better feature management practices.

Testing in production can catch issues that staging environments may miss.

Feature flag providers offer tools for managing flags at scale.

Trade-offs exist when adopting feature flags, especially for smaller projects.

Effective management of feature flags can empower teams and improve deployment speed.

Show more...
3 weeks ago
39 minutes 46 seconds

Coding Chats
AI-assisted software engineering: challenges and opportunities

Coding Chats episode 57 - Owain Lewis and John Crickett explore the role of AI in software engineering, discussing the integration of AI into production systems and the challenges faced by AI engineers. They delve into the nuances of AI application, from building scalable systems to the importance of human oversight in AI-driven workflows.


Chapters

00:00 Defining the Role of AI Engineer

03:13 Exploring Large Language Models (LLMs)

06:15 Use Cases for LLMs in Business

09:22 The Non-Deterministic Nature of AI

12:12 AI in Software Engineering: The Future

15:11 The Role of AI in Code Review

17:53 The Bottleneck of Requirements Gathering

20:38 Leveraging AI Throughout the Software Lifecycle

29:53 Leveraging AI for Efficient Documentation

30:47 AI in API Design and Review

32:22 Spectrum Driven Development with AI

34:06 The Role of Requirements in Software Engineering

40:05 The Future of Programming Languages and AI

49:54 Understanding Context and Prompt Engineering

56:38 Exploring Related Content


Owain's Links:

Substack: https://newsletter.owainlewis.com/subscribe

AI Engineer: https://skool.com/aiengineer


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

AI engineering involves building software with AI, focusing on production systems.

AI engineers bridge the gap between AI model builders and software developers.

Understanding AI's unique paradigm is crucial for effective system architecture.

AI should be used minimally and where it makes sense, not everywhere.

Human oversight is essential in AI-driven workflows to ensure reliability.

Large language models (LLMs) are a significant focus in current AI trends.

AI can enhance business processes through automation and natural language interfaces.

AI's role in software engineering includes improving code quality and efficiency.

AI tools can amplify both good and bad engineering practices.

Experimentation and building real projects are key to learning AI engineering.

Show more...
1 month ago
56 minutes 49 seconds

Coding Chats
So you think you can lead a team of software engineers?

Coding Chats episode 56 - Paul Grenyer discusses his journey to writing a book on team leadership, sharing insights on the differences between leadership and management, common mistakes new leaders make, the importance of delegation, and building trust within teams. He emphasizes the need for curiosity in understanding both technical and business domains, and reflects on the role of AI in software development. The discussion culminates in insights from his book, which aims to guide new leaders in navigating their roles effectively.


Chapters

00:00 The Journey to Team Leadership

08:44 Leadership vs Management

10:33 Common Mistakes of New Leaders

15:58 The Importance of Delegation

19:46 Curiosity in Leadership

22:33 Insights from the Book

27:57 The Role of Technical Skills in Leadership

31:58 The Impact of AI on Software Engineering


Paul's Links:

Paul's website: https://paulgrenyer.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

Letting go of doing the work is crucial for leaders.

Listening to your team is essential for effective leadership.

Delegation is often the hardest skill for new leaders to master.

Building trust requires admitting mistakes and being approachable.

Curiosity about team members' experiences can lead to better solutions.

Technical knowledge helps leaders mediate and understand team dynamics.

AI can enhance productivity but requires careful implementation.

Leadership is about guiding a team towards a common goal.

Understanding the business domain is vital for effective leadership.

Encouraging a fun and open team culture fosters collaboration.

Show more...
1 month ago
36 minutes 33 seconds

Coding Chats
Rust in production at planet scale : lessons learned deploying Rust code to millions of devices

Coding Chats episode 55 - Emma Nedelcu discusses her experience managing teams that transitioned to Rust at Amazon Prime Video. She highlights the reasons for choosing Rust, including its performance and safety features, and the challenges faced during the transition from JavaScript. Emma explains the importance of over-the-air updates, device constraints, and effective onboarding strategies for engineers. The conversation also covers testing strategies, managing technical debt, and hiring practices for Rust teams, emphasizing the need for a mindset focused on problem-solving and adaptability.


Chapters

00:00 Introduction to Rust and Its Adoption

03:49 Performance Gains with Rust

06:37 Challenges of Over-the-Air Updates

09:36 Onboarding Developers to Rust

12:33 Team Collaboration and Trust

14:53 Testing Strategies for Rust Applications

17:38 Trade-offs and Considerations with Rust

20:13 Hiring and Team Building for Rust

23:02 Advice for Organizations Considering Rust

26:00 Managing Technical Debt in Rust

28:48 Conclusion and Final Thoughts

33:52 Exploring Related Content


LINKS

Emma's Links

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


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

Rust was chosen for its performance and safety guarantees.

Transitioning from JavaScript to Rust involves a steep learning curve.

Over-the-air updates are crucial for device management.

Device constraints significantly impact application performance.

Onboarding to Rust can take about three months for JavaScript developers.

Building trust within teams is essential for fast-paced development.

Testing strategies must be robust to handle diverse devices.

Rust's compile-time checks require strict runtime discipline.

Compiling for WebAssembly requires careful optimization to manage bundle size.

The Rust ecosystem is maturing but still evolving.

Organizations should engage with the Rust community for better integration.

Prototyping can effectively demonstrate Rust's potential to stakeholders.

Managing technical debt in Rust involves understanding complexity depth.

Hiring for mindset and adaptability is more important than experience.

Ideal Rust engineers should have a deep understanding of low-level systems.

Candidates should demonstrate initiative and impact in their projects.

Show more...
1 month ago
34 minutes 3 seconds

Coding Chats
The power of soft skills in software engineering

Coding Chats episode 54 - Nikki Maginn and John Crickett explore the critical role of soft skills in engineering, emphasizing the importance of communication, emotional intelligence, and collaboration. They discuss how engineers can bridge the gap between technical expertise and customer-facing roles, the art of asking questions, and the significance of building trust and meaningful connections. The dialogue also touches on the balance of confidence and humility in leadership, the power of storytelling, and the necessity of understanding context in communication. Ultimately, the conversation highlights that soft skills are essential for engineers to thrive in their careers and contribute effectively to their teams.


Chapters

00:00 The Importance of Soft Skills in Engineering

03:14 Bridging the Gap: Engineers and Customer Interaction

06:26 Nature vs. Nurture: The Art of Asking Questions

09:06 Effective Communication: How to Ask the Right Questions

12:06 Understanding Context: The Key to Effective Dialogue

14:53 Navigating Emotional Reactions in Communication

17:36 Feedback and Conflict Resolution: Building Better Relationships

20:57 The Efficiency of Communication in Engineering

23:32 The Role of Emotions in Engineering

26:38 Team Dynamics: The Myth of the 10x Developer

29:08 The Importance of Communication in Engineering

31:29 Empowering Teams to Reduce Meetings

34:40 Communicating with Impact

38:21 Building Trust with Non-Technical Stakeholders

42:11 Creating Meaningful Connections

48:53 Owning Your Confidence as an Engineer


Nikki's Links:

Website: www.insideoutengineering.com

LinkedIn: https://www.linkedin.com/in/nikki-maginn/


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

Engineering success relies on effective communication and collaboration.

Engineers must learn to translate technical work for broader understanding.

Emotional intelligence is crucial for engineers in customer-facing roles.

Asking the right questions is a teachable skill.

Building trust requires meaningful connections with colleagues.

Navigating difficult conversations is essential for team dynamics.

Context is key in understanding reactions and emotions in communication.

Confidence should be balanced with humility in leadership roles.

Storytelling can enhance the impact of technical communication.

Investing in relationships leads to more efficient conversations.

Show more...
1 month ago
56 minutes 10 seconds

Coding Chats
Perfect your CV - a guide for software engineers

Coding Chats episode 53 - John Crickett and Mary Fidler discuss the evolving landscape of job applications, focusing on common CV mistakes, the importance of showcasing skills and achievements, and the role of AI in recruitment. They explore the relevance of cover letters, salary transparency, and the current state of the job market, including signs of recovery. Mary emphasizes the significance of LinkedIn for job seekers and shares insights on adapting to the changing recruitment landscape, particularly for contractors.


Chapters

00:00 Introduction to Recruitment Challenges

03:37 Common CV Mistakes in Job Applications

09:19 The Evolution of Job Market Dynamics

14:56 Leveraging AI in Job Hunting

18:34 The Role of Cover Letters in Modern Applications

23:13 Understanding Salary Expectations and Market Trends

24:28 Market Recovery and Hiring Trends

28:01 The Impact of AI on Employment

28:53 Leveraging LinkedIn for Job Seekers

38:14 Navigating Recruitment in a Changing Market

40:52 The Rise of Project-Based Work

46:34 Final Tips for Job Seekers


LINKS

Mary's LinkedIn - https://www.linkedin.com/in/mary-fidler/

Mary's Career Page https://trusttechrecruitment.zohorecruit.eu/jobs/Careers


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

One page CVs are a common mistake.

Highlight achievements over duties in CVs.

AI tools are increasingly important for developers.

Cover letters are often unnecessary if CVs are strong.

Salary transparency can build trust between candidates and recruiters.

The job market is showing signs of recovery.

LinkedIn is essential for job seekers to stand out.

Contractors can provide cost-effective solutions for companies.

Personal branding on LinkedIn can lead to job opportunities.

Networking and asking for impact details can enhance CVs.

Show more...
1 month ago
47 minutes 44 seconds

Coding Chats
Isograph: the future of data driven apps

Coding Chats episode 52 - Robert Balicki discusses Isograph, an opinionated framework designed to simplify the development of data-driven applications, particularly with GraphQL and React. He explains the challenges faced in web development, such as over-fetching data and network waterfalls, and how Isograph addresses these issues by allowing developers to focus on specific components and their data needs. The discussion also covers the technical foundation of Isograph, built using Rust, and the challenges of compiler development. Robert emphasizes the importance of testing, CI/CD integration, and the potential for Isograph to scale effectively in large projects. He invites developers to get involved in the project and contribute to its growth.


Chapters

00:00 Introduction to Isograph

05:11 Understanding the Problem Isograph Solves

09:57 The Concept of Opinionated Frameworks

13:40 Exploring Network Waterfalls

16:43 Testing and CI/CD Integration

20:49 Scaling with Monorepos and Integration

27:57 Future Vision for Isograph

28:04 Understanding Isograph's Runtime and Compiler

29:40 The Influence of Rust in Compiler Development

32:04 The Challenges of Building a Compiler

35:53 Transitioning from Batch to Incremental Compilation

45:28 Leveraging Rust for Enhanced Developer Experience

52:55 Community Engagement and Future of Isograph

56:32 Exploring Related Content


LINKS

Robert's Links:

Isograph: http://isograph.dev/


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

Isograph simplifies building data-driven applications.

The framework is opinionated, promoting best practices.

Network waterfalls can degrade user experience.

Isograph allows for precise data fetching.

Testing is a key focus in Isograph's development.

Rust provides safety and performance benefits.

The framework aims to support SQL backends in the future.

Isograph encourages a full-stack development approach.

Community involvement is welcomed through Discord.

The developer experience with Isograph is superior to other frameworks.

Show more...
2 months ago
56 minutes 43 seconds

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

Show more...
2 months ago
51 minutes 38 seconds

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

Show more...
2 months ago
56 minutes 16 seconds

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

Show more...
2 months ago
49 minutes 7 seconds

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

Show more...
3 months ago
48 minutes 33 seconds

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

Show more...
3 months ago
1 hour 13 minutes 28 seconds

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

Show more...
3 months ago
46 minutes 22 seconds

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

Show more...
3 months ago
24 minutes 57 seconds

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

Show more...
4 months ago
54 minutes 23 seconds

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

Show more...
4 months ago
26 minutes 11 seconds

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

Show more...
4 months ago
55 minutes 49 seconds

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