PODCAST · technology
Coding Chats
by 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.
-
83
Startup Advisor Secrets: Hiring, CTOs & Going From POC to Product
Coding Chats Episode 80 - start-up advisor Alexander Berkovich shares his expertise on building successful start-ups, hiring strategies, CTO roles, and the importance of communication between technical and business teams. Discover practical tips for navigating the challenges of early-stage companies and how to align technical excellence with business goals.Chapters00:00 Introduction to Start-up Advising02:09 The Day-to-Day of a Start-up Advisor05:39 Hiring Challenges in Start-ups07:39 Defining the Role of a CTO10:36 Common Mistakes in CTO Hiring12:59 Bridging the Gap: Technical and Business Communication16:40 Utilizing Client Feedback for Product Improvement20:06 Transitioning from Proof of Concept to Product24:01 Exploring Computer Vision in AI24:06 Balancing Technical Excellence and Business Focus24:09 Exploring Related ContentAlex's Links:Alex's LinkedIn: https://www.linkedin.com/in/alexander-berkovich-startup-advisor/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.TakeawaysA CTO's value is in leadership and strategy, not just how much they can code.AI has fundamentally changed the hiring process and what makes a good candidate.Document every corner you cut in a POC — it will catch up with you later.Engineers should seek direct client feedback to understand the real impact of their work.Communication is the most underrated skill in any startup team.A POC and a product are very different things — don't let one accidentally become the other.Startups offer breadth of experience that large enterprises simply can't match.Hiring for the right mindset matters more than hiring for pure technical skill.Small technical decisions can ripple out and affect cost, timelines, and the whole product.The best teams stay connected to the end goal, not just the task in front of them.
-
82
AI Agents Have a Memory Problem (And You're Probably Making It Worse)
Coding Chats Episode 79 - Richmond Alake, Director of AI Developer Experience at Oracle, joins John to discuss agent memory — how AI agents store, retrieve, and adapt to information. He argues that developers building memory on flat files are naively reinventing the database, and that once you factor in concurrency, security, and scalability, a proper database is inevitable. The conversation covers the full memory stack and how Oracle's AI database keeps embeddings and data together without shipping sensitive information to external providers.The pair also explore why memory is the most universally relatable concept in AI, the history of how neuroscience shaped LLMs, and the problem of Catastrophic Forgetting that still haunts models today. A sharp AGI debate lands on a sobering point: an LLM is just a function — tokens in, tokens out — and most AI engineers are unknowingly rediscovering solutions that database engineers spent decades building.Chapters00:00 — What Is Agent Memory and How Does It Work?05:00 — File System vs Database: Which Should You Use for Agent Memory?09:00 — Why Building on Files Means You'll Reinvent the Database13:00 — How Oracle Is Meeting AI Developers Where They Are15:00 — Why Memory Is the Most Universal Concept in AI21:00 — From Computer Vision to LLMs: How Richmond Found His Path24:00 — Catastrophic Forgetting: The Problem That Hasn't Gone Away26:00 — Is AGI Real? Why the Goalposts Keep Moving33:00 — Handling PII, Data Sovereignty, and Access Control in AI Apps42:00 — The Rise of Memory Engineering: AI's Most Underrated DisciplineRichmond's Links:LinkedIn: https://www.linkedin.com/in/richmondalake/X: https://x.com/richmondalake John's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.Takeaways:File systems are fine for prototyping, but the moment you hit production scale you're just slowly reinventing the database.File systems are fine for prototyping, but the moment you hit production scale you're just slowly reinventing the database.Agent memory isn't a new concept — it's data management, and database engineers have been solving it for decades.Memory is the single most relatable entry point for explaining AI to anyone, technical or not.Catastrophic Forgetting isn't a solved problem — it plagued RNNs and still quietly haunts LLMs today.An LLM is ultimately just a function: tokens in, tokens out — which should temper any claims about sentience or AGI.The definition of AGI keeps shifting to match whatever AI can't do yet, making the whole debate almost meaningless.Most AI engineers have less than ten years of experience and are unknowingly rediscovering solutions that search and database engineers spent decades building."Vector search is all you need" is one of the most dangerous oversimplifications in AI engineering right now.Memory engineering — the crossover between data engineering, search optimisation, and agent design — is an emerging discipline that doesn't have a name yet but absolutely should.The real moat in AI products isn't the LLM itself, it's everything built around it — the harness, the memory, the retrieval pipeline.
-
81
I got into computers to avoid people then they put me in charge of them!
Coding Chats Episode 78 - John Crickett talks to Robert Harris, an experienced engineering leader. Robert shares hard-won lessons from years of leading software teams, drawing on a distinctive "human systems" lens to explain why so many engineering organisations struggle — not because of bad people, but because of broken systems, misaligned leadership, and invisible cultural forces.The conversation weaves together philosophy, practical management advice, and candid personal anecdotes, making it equally relevant for first-time engineering managers and seasoned CTOs. The central thread throughout is that software is fundamentally a human endeavour, and leaders who treat it like a purely technical one will keep running into the same problems.Chapters0:00 — Every Problem is a Systems Problem3:00 — Labelling vs. Diagnosing: The Human Systems Approach6:15 — Poor Performance Is a System Failure, Not a People Failure9:10 — AI, Flat Orgs, and the Pressure on Engineering Managers11:30 — Diagnosing a Broken Team: A Real-World Turnaround24:05 — People Are Not Interchangeable Components26:00 — Culture: What Happens When Nobody's Watching33:00 — The Power Gradient and Cross-Team Collaboration39:00 — The C-Suite Distance Problem42:00 — Building Culture in Remote and Distributed Teams46:00 — Software Engineering Is a HumanityRobert's Links:https://www.linkedin.com/in/robert-n-harris/coded2lead.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.TakeawaysPeople run on emotion and safety, not logic — lead them accordingly.When someone underperforms, look at the system before you look at the person.Labelling people as "difficult" or "lazy" is a way of avoiding the real problem.AI is accelerating code generation, but the human bottleneck downstream is getting worse, not better.The institutional memory inside a team is worth far more than anything in your wiki.Culture is what happens when nobody's watching — not what's written on the wall.If you send Slack messages at 10pm, your team will think there's no such thing as work-life balance.Only authorised people should authorise work — casual remarks from leaders land as commands.Co-location without connection isn't culture, it's a terrarium.Computers are a science, but software is a humanity.
-
80
The Death of Writing Code: OpenAI's Engineer on the Rise of Harness Engineering
Coding Chats Episode 77 — Arnaud Fournier, Forward Deployed Engineer at OpenAI, talks to John Crickett about how AI is fundamentally reshaping software engineering. He explores how OpenAI's own engineers have largely moved away from writing code line-by-line, shifting instead to what he calls "harness engineering" — orchestrating agents, preparing context, and steering AI to do the heavy lifting.The conversation covers practical ground for engineers at every level: how to successfully adopt agentic coding in your workflow, best practices for integrating tools like Codex into enterprise environments, and what it's really like to work at the frontier of AI deployment across industries like semiconductors, life sciences, and finance.Chapters00:00 Understanding the Role of Forward Deployed Engineers03:21 The Integration Process: Challenges and Solutions06:25 Optimizing AI Solutions with Codex09:38 Leveraging Codex for Team Efficiency12:28 Best Practices for Using Codex in Engineering Workflows15:29 Setting Up for Success in Enterprise AI Projects18:26 Navigating Stakeholder Engagement and Requirements21:16 The Future of AI in Enterprise Solutions25:53 Building Proof of Concept Solutions28:33 Collaborative Development and Model Improvement30:45 The Rise of Codex and User Adoption33:36 Integrating AI into Software Development36:10 Standardization vs. Customization in AI Tools39:05 The Evolving Role of Forward-Deployed Engineers42:48 Understanding the FDE Role at OpenAI46:10 The Recruitment Process at OpenAI49:50 Exploring Related Content49:58 Outro Final Coding Chats.mp4Arnaud's Linkshttps://www.linkedin.com/in/arnaudfrn/https://openai.com/index/introducing-openai-frontier/https://community.openai.com/t/introducing-the-new-codex-for-almost-everything/1379125https://openai.com/index/scaling-codex-to-enterprises-worldwide/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.
-
79
LLM as a Judge: Why Your AI Might Be Marking Its Own Homework
Coding Chats episode 76 - John talks to Laura Dietz - a computer science professor whose work focuses on whether AI evaluation metrics actually tell the truth. She's known for her critical take on "LLM as a judge" — not because she thinks it's useless, but because she wants numbers that mean something rather than numbers that just make a system look good.The conversation tackles some uncomfortable realities for software engineers: using an LLM to write code and another to review it is a circular trap, prompt engineering shouldn't be a computer scientist's day job, and every time you reject your code AI's output, you're quietly generating the training data that shapes its successor.Chapters00:00 Introduction to Laura Dietz and Her Journey03:12 Exploring LLMs as Judges06:16 Challenges in Evaluating Search Systems08:49 The Evolution of User Queries and Expectations11:46 The Role of LLMs in Information Retrieval14:44 Defining Quality in Search Results17:27 The Complexity of User Intent19:54 Human-AI Collaboration in Code Review22:53 The Future of LLMs in Software Development25:23 Balancing Human and AI Roles28:20 Innovative Approaches to AI Evaluation34:10 The Art of Assembling Ideas36:39 Balancing Cost and Quality in LLMs39:09 Evaluating LLM Performance43:50 The Future of LLMs and Training Data49:19 Exploring New Architectures in AI55:16 Understanding In-Context Learning01:00:45 The Role of AI in Creative Expression01:06:59 Exploring Related ContentLaura's Links:https://www.cs.unh.edu/~dietz/https://www.linkedin.com/in/laura-dietz-47036516/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.TakeawaysUsing an LLM to both generate and evaluate outputs is circular — like a student grading their own homework.If your evaluation metric can go up without your system actually improving, it's not a real metric.A better human-in-the-loop isn't one that rubber-stamps AI suggestions — it's one that's guided to look in the right place.LLMs don't get bored, which makes them genuinely useful for code review — but that's not the same as making them accurate."Faith-based engineering" — trusting AI output without validation — is a real and growing problem in software teams.Prompt engineering is a workaround, not a discipline; real engineers should be building systems, not crafting incantations.Every rejection you give your code AI is training signal — your frustration today is someone else's better tool tomorrow.The transformer attention mechanism is a weighted sum, and a sum isn't always the right operation — some problems need an AND, not an OR.AI tools are lowering the barrier to coding for people who were previously too intimidated to try, and that's worth celebrating.The same network effect that makes a platform valuable also makes monopoly in AI training data genuinely dangerous.
-
78
Let it crash! How Erlang and BEAM build bullet proof software
Coding Chats episode 74 - Erik Stenman talks to John Crickett about the BEAM virtual machine — the runtime behind Erlang, Elixir, and Gleam. Built by Ericsson in the 1980s for telephone switches, it was designed for fault tolerance and concurrency from day one, yet never achieved mainstream popularity despite being technically superior to many alternatives.The discussion covers what makes BEAM unique: lightweight isolated processes, a "let it crash" fault philosophy, and powerful built-in introspection. Erik also shares practical lessons from production use and explains why newer languages like Elixir and Gleam are finally bringing BEAM the attention it deserves.Chapters00:00 Introduction to Beam and Erlang02:45 The Unique Features of Erlang and Beam05:17 Concurrency and Fault Tolerance in Beam07:34 Applications and Use Cases of Erlang10:00 Error Handling and Process Supervision12:49 Performance Considerations in Beam15:09 Learning and Adopting Erlang and Elixir17:28 The Future of Erlang, Elixir, and Gleam37:04 Exploring Related ContentErik's Links:https://happihacking.com/ https://happihacking.com/blog/https://github.com/happi/theBeamBookhttps://www.amazon.com/dp/9153142535https://www.elixirconf.eu/trainings/the-beam-for-developers/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.TakeawaysBEAM was built for telephone switches in the 1980s — its reliability features translate surprisingly well to modern web and distributed systems.Erlang lost the popularity race to Java largely due to marketing, not technical merit.BEAM processes are extremely lightweight — hundreds of bytes, not kilobytes — allowing millions to run concurrently."Let it crash" is a design philosophy, not laziness — isolating failures prevents one bad process from taking down the whole system.No shared memory between processes eliminates an entire class of concurrency bugs.Per-process garbage collection means no "stop the world" pauses like you get in Java.Hot code loading lets you upgrade a running system without downtime — but it requires careful thought about data structure changes.BEAM's built-in introspection lets you inspect a live system in real time, making debugging far faster.Elixir and Gleam are modernising the syntax and bringing new developers onto the BEAM platform.BEAM doesn't solve everything — good architecture still matters, but it gets you there faster than most alternatives.
-
77
AI writes it. You own it. Don't ship AI slop
Coding Chats episode 74 - John Crickett talks to Nnenna Ndukwe, a developer advocate at Qodo, discussing how teams can maintain code quality in the age of AI coding tools. She argues that AI agents should be combined with traditional tools like linters and static analysis — not replace them — and that teams need to define and codify what "good code" looks like so that consistency can be enforced across the whole development lifecycle.A recurring theme is developer ownership: as AI writes more code, engineers must stay in the driver's seat, genuinely reviewing what gets shipped rather than blindly accepting it. The episode also touches on dogfooding, with both agreeing that using your own tools internally is a strong signal of a product worth trusting.Chapters00:00 Introduction to AI in Software Development03:24 Embedding Quality Gates in Development06:03 The Importance of Consistency in Code09:09 Ownership and Critical Thinking in Engineering12:00 Balancing Tool Freedom and Intellectual Property14:56 Navigating AI Tools and Workflows17:47 Managing Burnout in AI Development20:47 The Evolution of Coding and Instant Gratification23:47 Documenting Ideas and Project Management26:54 Using AI for Ideation and Collaboration31:38 The Joy of Learning Through AI34:11 Codo: Enhancing Code Quality and Governance37:22 Comparing Code Review Tools40:10 The Future of AI in Software Development50:51 The Importance of Dogfooding Products56:12 Exploring Related ContentNnenna's Links:https://nnennahacks.com https://linkedin.com/in/nnenna-ndukwe/https://x.com/nnennahacksJohn'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.TakeawaysCombine AI coding tools with deterministic tools (linters, static analysis) — don't ditch one for the other.Define what "good code" looks like for your team before expecting AI agents to enforce it.Embed quality checks early and consistently across every stage of the dev lifecycle.Developers must stay in the driver's seat — ownership and understanding of AI-generated code is a key differentiator.Code consistency (naming conventions, style, structure) becomes even more valuable when LLMs are in the mix.Coding rules need to live in a centralised, accessible place so all agents can rely on them.Dogfooding your own tools internally is a non-negotiable sign of a trustworthy product.
-
76
AI assisted software engineering need leaders not coders
Coding Chats episode 73 - John Crickett interviews Benjamen Pyle across topics ranging from tech influencer trust to the software engineer vs. craftsman debate. Benjamen argues that what makes an influencer worth following isn't follower count but authenticity and genuine intellectual evolution over time.The conversation then turns to AI, where Benjamen— initially a skeptic converted by Claude Code — observes that the developers getting the most out of AI are those with strong leadership and problem-solving skills, drawing a parallel between directing an AI assistant and managing a team effectively.Chapters00:00 Evaluating Tech Influencers06:15 Craftsmanship vs. Engineering in Software12:06 Career Ownership and Development20:47 Finding and Utilizing Mentors30:28 The Value of Diverse Mentorship36:49 Navigating Careers Outside Big Tech42:43 AI and Leadership in Programming49:42 Exploring Related Content49:50 Outro Final Coding Chats.mp4Benjamen's Links:https://binaryheap.com https://pylecloudtech.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.TakeawaysFollower counts and engagement metrics don't equal credibility — dig into someone's post history and body of work before trusting a tech influencer.Changing your opinion is a strength, not a weakness, as long as the change is driven by genuine learning rather than external incentives like sponsorships.Most developers aren't truly "data-driven" despite the industry's rhetoric — people tend to follow trends and stay in safe, popular lanes.The "software engineer" label is contested — real engineering disciplines are governed by hard facts and standards, whereas software dev still argues about tabs vs. spaces.Many developers just want to clear their sprint tickets and go home, and that's fine — but it's a different mindset from those who treat the craft as a passion.AI isn't just a code-writing shortcut — used well, it's more like coordinating a team of engineers, QA, and analysts all at once.Developers who struggle with AI tend to be those who just spam it with prompts; those who thrive treat it more like a leadership and delegation challenge.Strong soft skills — clear communication, problem decomposition, managing priorities — are turning out to be the key differentiator in who gets the most from AI tools.Benjamen was initially skeptical of AI but changed his mind after hands-on experience with Claude Code, which he sees as a good example of his "strong opinions, weakly held" philosophy in action.
-
75
Soft skills for software engineers - why coding isn't the hard part
Coding Chats episode 72 - Charles Humble and John Crickett explore why professional skills — communication, critical thinking, and documentation — are arguably more important than writing code itself. Drawing on his O'Reilly shortcut article series and a career that began with an English Literature degree, Charles makes the case that these so-called "soft skills" are actually core to the job, and that they can be learned through practice by anyone, regardless of background or natural talent.The conversation also digs into the seismic impact of AI on the software industry. Charles shares his nuanced take: while generative AI tools are reshaping how code gets written, the durable skills — understanding systems, debugging, domain knowledge, and clear communication — matter more than ever. Rather than panic or uncritical adoption, Charles encourages engineers to focus on what remains irreplaceable, and to approach an uncertain future with curiosity and a willingness to take shots on goal.Chapters00:00 The Importance of Professional Skills for Software Engineers06:24 Navigating the Impact of AI on Software Engineering12:09 The Evolving Role of Software Engineers17:50 AI for the Rest of Us: Bridging the Knowledge Gap25:43 The Ethical Implications of AI and Communication27:12 Ethics in AI Development31:04 Improving Communication Skills for Engineers38:00 Overcoming the Fear of Writing42:15 The Importance of Public Speaking50:17 The Journey of Continuous Learning54:30 Exploring Related ContentCharles's Links:https://www.linkedin.com/in/charleshumble/\https://bsky.app/profile/charleshumble.bsky.socialJohn'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"Soft skills" is a misleading term — Communication, critical thinking, and documentation aren't soft skills; they're literally the job.Non-technical skills can be learned — You don't need natural talent. Like anything, they improve with deliberate practice.Career success often comes from non-coding skills — Charles found his own progression was driven more by presenting to executives and systems thinking than by programming ability.Communication becomes critical as you progress — From mid-level upwards, working with stakeholders, mentoring, and documentation determine who makes it to senior and beyond.Nobody knows what programming will look like in two years — Even Kent Beck acknowledges the deep uncertainty ahead.AI has shifted engineers from "extract" to "explore" — Programmers who felt settled in well-defined work have been thrown into a messier, less certain phase by generative AI.The durable skills are the same ones that always mattered — Debugging, domain knowledge, system design, and communication are as valuable now as ever — arguably more so."Coding is dead" is nonsense — Software engineering has always been mostly about understanding what to build and why. Writing code was always a small part of it.Try things and see what happens — No grand plan needed. If you don't kick the ball, you're guaranteed not to score.
-
74
Build better tech teams with neurodiversity
Coding Chats episode 71 - Anita Kalmane-Boot talks to John Crickett about neurodiversity, its spectrum, strengths, challenges, and how organizations can foster inclusive environments, especially in software teams. Discover practical strategies for recruitment, team building, and accommodating neurodivergent individuals to enhance innovation and productivity.Chapters00:00 Understanding Neurodiversity03:32 The Spectrum of Neurodivergence06:30 Strengths of Neurodivergent Individuals09:08 Creating Inclusive Teams12:10 Improving Recruitment Practices15:00 Work Environment for Neurodivergent Individuals17:43 The Connection Between Neurodiversity and Software Engineering23:38 Exploring Neurodiversity in Engineering24:39 The Impact of AI on Neurodivergent Workers27:08 Inclusive Recruitment Practices32:57 The Role of Managers in Hiring38:46 Disclosing Neurodivergence in Job Interviews44:11 The Future of Neurodiversity in the Workplace46:11 Exploring Related ContentAnita's Links:https://www.linkedin.com/in/anitakalmane/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.TakeawaysNeurodiversity covers a wide spectrum — including ADHD, autism, and dyslexia — not just a single condition.Neurodivergent individuals often have exceptional strengths like pattern recognition, deep focus, and creative problem-solving.These traits make neurodivergent thinkers particularly valuable in software engineering and tech roles.Traditional hiring processes can unintentionally screen out neurodivergent candidates.Small recruitment adjustments — like sharing questions in advance or allowing written responses — can open the door to better talent.Managers are key to creating environments where neurodivergent employees can thrive.Many neurodivergent people struggle with whether to disclose during interviews — psychological safety reduces that burden.AI has the potential to reduce friction for neurodivergent workers, but also brings new challenges.Embracing neurodiversity isn't just ethical — it leads to stronger, more innovative teams.
-
73
5 mistakes start-up CTOs should avoid when scaling the tech team
Coding Chats episode 70 - Aaron LeClair discusses the top five mistakes startup CTOs make, covering everything from misunderstanding development pipelines to failing to make the leadership identity transition. The conversation explores AI adoption parallels, team diversity, hiring pitfalls, the "move fast and break things" mantra, and why a CTO's first team should be the C-suite — not the engineering team.Chapters00:00 Scaling the Pipeline: Common Mistakes of CTOs03:13 Understanding the Development Environment05:59 The Importance of Team Diversity09:03 Building Effective Teams11:53 Hiring for Fit: The Cost of Misalignment14:36 The Role of Leadership in Team Dynamics33:52 Building Effective Teams as a Leader37:35 Transitioning from Engineer to Leader43:31 Hiring the Right Technical Leaders46:01 Understanding the Role of CTO in Start-ups54:40 The Balance of Speed and Quality in Development01:01:24 Exploring Related ContentAaron's Links:https://www.linkedin.com/in/aaronleclair/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.TakeawaysScaling your dev team without first fixing QA, product management, and stakeholder flow will create more problems than it solves.AI adoption falls into the same trap — faster code generation doesn't help if requirements, testing, and deployment are still bottlenecks.Invest in tooling, DevOps, and documented processes early, as poor systems frustrate great engineers just as much as poor management.Always ask why a process exists — the original reason may no longer apply, and changing it is often easier than expected.Build teams like an Ocean's 11 cast: diverse in skills, backgrounds, and working styles, not a clone army of specialists in the same stack.Hire generalists with depth in different areas who can flex as start-up needs shift, and reserve deep specialists for your true business differentiators.A failed hire is most often a leadership failure — you had more information than the candidate, so treat every miss as a learning opportunity.The most important things a CTO does are hiring and developing people — if a leader is still submitting PRs to a team of more than three, that's a red flag.A CTO's primary team is the C-suite, not the engineering team — treating engineers as "your team" creates an us-vs-them culture that damages the whole business.Match technical leadership seniority to your company stage — pre-product-market-fit you need a generalist head of engineering, not a full CTO."Move fast and break things" is valid pre-product-market-fit for validating hypotheses, but once you have real customers it becomes an excuse for poor process.
-
72
Why most companies are getting AI wrong and how to build a culture that actually adapts
Coding Chats episode 69 - John Crickett and Sairam Sundaresan discuss the evolving landscape of artificial intelligence (AI) and its implications for learning, software development, and organizational culture. Sairam emphasizes the importance of bridging the gap between technical and business perspectives on AI, advocating for a hands-on approach to learning. They explore the hype surrounding AI, particularly large language models (LLMs), and the need for a cultural transformation within organizations to effectively adopt AI technologies. The discussion also touches on the future of software engineering in an AI-driven world, highlighting the blurred lines between roles and the necessity for continuous learning and adaptation.Chapters00:00 Bridging the Gap: Understanding AI for Everyone03:44 Learning AI: A Practical Approach06:29 The Evolution of AI: From Hype to Reality09:33 Generative AI: The Current Landscape and Future Directions12:35 Transformative Use Cases: Beyond Basic Applications15:23 The Art of Questioning: Engaging with AI Effectively18:36 Navigating Large Codebases: AI as a Tool for Engineers21:24 Writing and Coding: Learning from the Masters27:42 Harnessing Subagents for Efficiency29:48 Bridging the Gap Between Business and Tech31:35 Cultural Transformation in AI Adoption34:22 Understanding AI Fundamentals for Better Collaboration36:11 The People Problem in AI Implementation39:26 Evolving Roles in Software Engineering42:26 The Resurgence of Software Engineering44:37 Leading an AI-First Organization49:16 Learning by Doing in AI52:03 Navigating the Landscape of AI Research and Publications54:05 Exploring Related ContentSairam's Links:Book- AI for the Rest of Us:https://www.amazon.com/dp/B0F29THNLTSubstack Gradient Ascent: https://newsletter.artofsaience.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.TakeawaysAI is essential for modern products and services.Bridging the gap between business and engineering is crucial.Learning AI requires a hands-on approach, not just theory.Cultural transformation is necessary for successful AI adoption.Understanding the basics of AI is vital for all roles.The hype around AI often overshadows other important areas.Software engineering is evolving with AI technologies.AI tools can enhance productivity but require thoughtful use.Continuous learning is key in the fast-paced AI landscape.The roles within organizations are becoming more integrated.
-
71
The benefits of speaking at tech conferences (even if you aren't an expert)
Coding Chats episode 68 - Paulina Dubas shares her experiences and insights on the importance of public speaking at conferences, the challenges engineers face in communication, and the benefits of networking within the tech community. She discusses the significance of understanding AI in the workplace, the ongoing issues of gender balance in tech, and the value of an MBA for engineers transitioning into business roles. The conversation emphasizes the need for inclusivity and the importance of sharing knowledge and experiences to foster growth in the industry.Chapters00:00 The Benefits of Speaking at Conferences05:07 Overcoming Public Speaking Challenges09:04 Key Lessons for Aspiring Speakers10:49 Navigating AI in the Workplace14:48 The Gender Balance in Tech22:07 Creating Inclusive Workplaces24:48 Consulting vs. Product Roles27:32 The Value of an MBA for Engineers34:28 Exploring Related ContentPaulina's LinksLinkedIn : https://www.linkedin.com/in/paulinadubas/website : https://paulinadubas.com/YouTube : https://www.youtube.com/@PaulinaDubasJohn'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.TakeawaysIt's beneficial to be involved in the community and put yourself out there.Public speaking helps deepen your understanding of topics.Overcoming the fear of public speaking can enhance communication skills.Networking at conferences can lead to valuable connections.You don't need to be an expert to speak at conferences.Starting small can build confidence for larger speaking engagements.AI tools need proper processes and training for effective use.Banning AI tools is a temporary solution that can lead to bigger issues.Gender balance in tech starts from early education and cultural perceptions.Consulting roles provide diverse experiences that accelerate learning.
-
70
Ona - the AI software engineer that works while you sleep.
Coding Chats episode 67 - Matt Boyle discusses the innovative AI software engineering platform, Ona, which aims to enhance productivity by automating coding tasks and managing multiple AI agents. The discussion covers the importance of planning, security, user experience, and the future of software development with AI. Matt emphasises the need for good specifications and the role of feedback in improving AI-driven development processes.Chapters00:00 Introduction to Ona and AI Software Engineering03:24 Parallelising AI Agents for Enhanced Productivity06:16 Enterprise Solutions and Security in AI09:21 User Experience and Unique Features of Ona11:53 Feedback and Growth Initiatives at Ona14:45 The Ralph Loop and Its Implications for AI Development25:20 Understanding Context Management in AI Models27:48 Optimising Task Management with Context Windows31:45 The Importance of Clear Specifications36:07 Enhancing Software Development with AI Tools39:26 Demonstrating AI-Driven Development Environments46:11 The Future of AI in Software EngineeringMatt's Links:Ona: https://ona.com/Matt's LinkedIn: https://www.linkedin.com/in/mattjamesboyle/Matt's Twitter: https://twitter.com/MattJamesBoyleMatt's Website: https://www.bytesizego.com/ 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.TakeawaysOna is focused on building AI software engineers to enhance productivity.Human attention is treated as the most valuable resource in AI development.The platform aims to provide a calm user experience by managing multiple AI agents effectively.Ona allows for parallelisation of tasks across different environments to improve efficiency.Security is a priority, with AI agents operating within the customer's cloud environment.The integration with tools like Jira and Linear enhances the planning process.Good specifications are crucial for successful AI-driven development.The Ralph Loop encourages deeper thinking in AI task completion.Ona is targeting both enterprise and individual developers to broaden its user base.The future of software development will involve AI managing entire backlogs and driving changes autonomously.
-
69
The Rust job market in 2026
Coding Chats episode 66 - Alex Garella discusses the current state of the Rust job market, highlighting its mixed nature amidst broader software development trends. He emphasizes the importance of specific skills and industry experience, particularly in emerging technologies like data infrastructure. The impact of AI tools on software development and hiring practices is explored, along with strategies for breaking into the Rust market, including open source contributions and leveraging LinkedIn effectively.Chapters00:00 The Current State of the Rust Job Market03:15 Skills in Demand for Rust Developers05:46 Emerging Domains for Rust Applications08:44 Rust's Role in AI and Machine Learning11:38 The Evolution of Interview Processes14:30 Challenges in Hiring Rust Developers17:28 Navigating the Job Market as a New Rust Developer20:27 Leveraging LinkedIn for Job Opportunities23:21 Final Tips for Aspiring Rust DevelopersAlex's Links:https://rustjobs.dev/https://scalajobs.com/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.TakeawaysThe Rust job market is currently mixed, with both opportunities and challenges.Experience in specific industries is often more valuable than tool-specific knowledge.Emerging technologies, especially in data infrastructure, are driving demand for Rust.AI tools are changing the landscape of software development and hiring.Hiring managers need to adapt their interview processes to account for AI usage.Open source contributions can significantly enhance a developer's profile.Tailoring CVs too specifically can raise red flags for recruiters.Remote work options can broaden the talent pool for Rust developers.Developers should not limit themselves to Rust when seeking jobs.Persistence and passion for Rust can lead to job opportunities.
-
68
The impact of AI on software engineering and SaaS businesses
Coding Chats episode 65 - Mike Rispoli discusses his experience of building a Loom replacement through vibe coding, the economic implications of AI for small agencies, and the evolving landscape of software engineering. He emphasizes the importance of hand coding, the challenges of interviewing in the age of AI, and the necessity of clear requirements when working with AI tools. The discussion also touches on the future demand for software engineers and the role of UX in AI-generated code.Chapters00:00 Building a Loom Replacement in 30 Minutes03:40 The Challenges of SaaS Pricing Models06:29 AI's Impact on Small Businesses and Enterprises09:19 Interviewing in the Age of AI11:59 The Future of Coding and AI Integration26:45 The Importance of Clear Requirements28:31 Navigating AI in Development31:31 Feature Creep and Planning32:30 The Evolving Role of Engineers34:34 Workflow and Planning with AI38:45 Iterative Development and Feedback42:28 Leveraging AI for UX and Design45:59 The Future of Software EngineeringMike's Links:https://www.linkedin.com/in/michael-rispoli-ctohttps://x.com/michael_rispolihttps://www.instagram.com/mike_rispoli_ctohttps://michaelrispoli.com/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.TakeawaysMike built a Loom replacement in just 30 minutes using vibe coding.AI tools can significantly enhance productivity for software engineers.The SaaS pricing model can be complicated for small agencies.It's acceptable to pass on good candidates but not to hire the wrong ones.AI is likely to amplify the demand for software engineers rather than replace them.Feature creep is a common challenge in software development.Clear requirements are essential when working with AI tools.The future of software engineering is promising and exciting.AI can help engineers improve their design capabilities.Navigating the evolving landscape of software engineering requires adaptability.
-
67
The secret lives of SWEs: industrial automation and moving million dollar machines
Coding Chats episode 64 - Jakob Sagatowski discusses his unique collaboration with YouTuber Mark Rober to build a robot goalie that plays against Cristiano Ronaldo. He delves into the technical challenges of motion control and computer vision, the role of software engineers in industrial automation, and the importance of real-time systems. Jakob emphasizes the need for better software development practices in the industrial automation sector and shares insights on how aspiring engineers can break into this field.Chapters00:00 Introduction to the YouTube Collaboration Project03:22 Challenges in Motion Control and Computer Vision06:29 Trial and Error in Robotics Development09:15 Understanding Industrial Automation12:05 Programming Languages in Industrial Automation14:31 The Role of Real-Time Systems17:49 Constraints in Real-Time Programming21:22 Understanding Hardware Constraints in Industrial Automation24:46 The Role of PLCs in Industrial Control Systems28:45 Challenges in Software Development Practices35:32 Breaking into Industrial Automation CareersJakob's Links:Website: www.sagatowski.comPLC-programming course: https://www.youtube.com/playlist?list=PLimaF0nZKYHz3I3kFP4myaAYjmYk1SowOUnit testing framework for Beckhoff PLC’s (the course talks about this), if you want to apply TDD in industrial automation:www.tcunit.orghttps://github.com/tcunitJohn'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.TakeawaysJakob collaborated with Mark Rober on a robot goalie project.The project involved significant motion control and computer vision challenges.Real-time systems require deterministic execution within strict time frames.Industrial automation is evolving, integrating more software engineering practices.Software engineers are increasingly needed in industrial automation roles.The development environment in industrial automation is often proprietary and closed.AI's impact on industrial automation is still developing, with challenges in integration.Real-time programming constraints differ significantly from web development.PLCs are essential for controlling industrial processes and machinery.Aspiring engineers can learn about industrial automation through online resources and experimentation.
-
66
What to do when AI gets expensive and other CTO challenges
Coding Chats episode 63 - John Crickett and Rob Bowley discuss the evolving role of the CTO, emphasizing the importance of strategic leadership that integrates people, process, and technology. They explore the challenges and opportunities presented by AI and other technological trends, highlighting the need for adaptability and effective communication within leadership teams. The discussion also touches on the significance of assessing technology teams and strategies to ensure successful outcomes in software development and organizational growth.Chapters00:00 Introduction to the CTO Role02:49 The Misconceptions of the CTO Position05:05 The Importance of Feedback and Adaptability11:50 Navigating AI and Emerging Technologies19:08 Testing Hypotheses in Technology Implementation22:19 The Transformative Potential of AI in Software Engineering27:09 The Economic Impact of Generative AI29:24 Concerns Over AI Subscription Costs31:32 Adoption Challenges in Software Development35:14 Assessing Technology and Team Effectiveness38:44 The Future of Software Engineering and AI50:12 Exploring Related ContentRob's Links:Blog: https://blog.robbowley.net/LinkedIn: https://www.linkedin.com/in/robertbowley/Bluesky: https://bsky.app/profile/robbowley.netCompany URL: https://www.pragmaticpartners.co.uk/John's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.TakeawaysThe role of a CTO is a strategic leadership position that intersects people, process, and technology.CTOs should focus on understanding their strengths and how to leverage them within their organization.Effective communication and collaboration with the senior leadership team are crucial for a CTO's success.Many misconceptions about the CTO role stem from a focus on technical skills rather than strategic business outcomes.Adaptability and awareness of one's strengths are key attributes of good leadership.Feedback from peers and team members is essential for recognizing gaps in skills and performance.Learning from failure is a critical aspect of leadership growth.The integration of AI into products should be approached with caution and thorough exploration.Organizations must focus on proven, common technologies rather than chasing every new trend.The assessment of technology teams should prioritize people and their capabilities over just the technology itself.
-
65
Bearly building in public
Coding Chats episode 62 - John Crickett engages in a deep conversation with James about personal branding, building in public, and the challenges of launching a product. James shares his journey of using LinkedIn to build his personal brand, emphasizing the importance of transparency and community feedback in his projects. He recounts how his social network gained 20,000 users in the first 24 hours due to his public approach, which not only helped him secure jobs but also fostered a sense of community around his work. The discussion also touches on the significance of mental health awareness and the need for open conversations in the workplace, particularly in the tech industry.As they delve into James's latest project, Bearly Fit, they explore the balance between creating a minimum viable product and ensuring quality. James reflects on the expectations that come with building in public and how he has navigated the challenges of app development while maintaining a connection with his audience. The conversation wraps up with insights on the role of AI in coding and the importance of mentoring junior developers, highlighting the need for a supportive environment in tech.Chapters00:00 The Power of Personal Branding06:35 Agility in Development: Lessons Learned18:29 Building in Public: Success and Challenges26:08 Streaming and Job Search: A Double-Edged Sword35:36 The Importance of Mentoring New Developers40:22 Building in Public: The Journey of Barely Fit52:58 Challenges and Expectations in App Development58:54 Leveraging AI in Development01:05:39 Final Thoughts and Future Plans01:06:06 Exploring Related ContentJames's Links:https://linktr.ee/mahybehttps://bearly.fitJohn'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.TakeawaysBuilding in public can lead to unexpected success.Transparency in struggles fosters community support.Personal branding is crucial for career advancement.Quality matters in app development, especially when building in public.Mentoring junior developers is an investment in the future.
-
64
Mastering behavioural interviews with Austen McDonald
Coding Chats episode 61 - John Crickett interviews Austen about his new book and the significance of behavioural interviews in the hiring process, especially in today's competitive job market. Austen shares insights on what interviewers look for, how to tailor preparation for specific companies, and the importance of storytelling in interviews. He emphasizes the impact of AI on the interview process and discusses how candidates can effectively present their experiences, particularly in conflict resolution scenarios. The conversation also covers the different expectations for candidates at various career stages and the importance of preparation and practice in mastering behavioural interviews.Chapters00:00 The Importance of Behavioral Interviews02:43 What Interviewers Look For05:32 Understanding Company Expectations07:48 Austen's Background and Expertise09:59 The Impact of AI on Interviews12:10 Behavioral Interviews Beyond Big Tech14:11 Crafting Your Introduction18:55 Selecting Stories for Interviews24:32 Creating Compelling Interview Stories28:38 The Difference Between Junior and Senior Engineers29:50 Crafting Compelling Stories for Interviews31:28 Timing and Length of Stories in Interviews33:34 Selecting the Right Story for the Interview37:05 The Importance of Scope and Relevance in Storytelling37:52 Using the Menu Technique for Story Selection40:37 Enhancing Conflict Resolution Stories43:48 The Drama in Conflict Resolution48:12 Improving Conflict Resolution Narratives55:00 The Role of Escalation in Conflict Resolution58:11 The Big Three Questions in Behavioral Interviews59:54 Understanding Interview Dynamics01:03:08 The Importance of Asking Questions01:06:56 Feedback Loops in Behavioral Interviews01:12:04 Navigating Different Career Stages01:17:52 Adapting Stories for Different Organizations01:23:02 Leveraging Personal Projects in Interviews01:24:41 Key Takeaways for Interview SuccessAusten's Links:https://thebehavioral.substack.com/https://www.amazon.com/dp/B0G6CM9T87John'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.TakeawaysBehavioral interviews are crucial for differentiating candidates in a competitive job market.Understanding what interviewers are looking for can significantly improve your chances of success.Tailoring your preparation to the specific company and role is essential.Your past experiences and stories are likely more valuable than you think.Practice and preparation are key to performing well in interviews.
-
63
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.Chapters00:00 AI in Software Engineering: A New Era03:36 The Revelation of Prompt-Driven Development06:08 Spec-Driven Development vs. Waterfall09:16 The Importance of Small Batches in AI Development12:05 Ownership and Responsibility in AI-Generated Code14:57 The Challenges of Outsourcing and Communication in Software Development20:15 The Future of Programming and Communication23:38 AI Tools and Upstream Bottlenecks27:18 Understanding JetBrains' AI Integration31:40 User Experience and AI Interaction35:42 Opinionated Workflows in Software Development37:24 Finding Joy in AI-Assisted EngineeringPaul's Links:https://buildermethods.com/agent-osJohn'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.TakeawaysAI 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.
-
62
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.Chapters00:00 Introduction to Rig and AI Frameworks02:56 Understanding Agents and Embeddings05:24 Use Cases for Embeddings and Context Management07:53 Benefits of Using Rig in Rust10:10 Learning Rust and Overcoming Challenges12:56 Transitioning to Rig and AI Focus15:21 Building a Coding Agent: Challenges and Insights17:45 Prompting Techniques and Best Practices20:06 Contributing to Rig and Community Engagement22:49 Final Thoughts and Future DirectionsJosh's Links:https://github.com/0xPlaygrounds/righttps://www.rustnationuk.com/speaker/joshua-mohttps://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/@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.TakeawaysRig 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.
-
61
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.Chapters00:00 Introduction to the Coding Chats Holiday Special00:22 Rebuilding an Engineering Career in 202501:01 The Future of Software Engineering with AI01:27 Learning Programming: Starting Points and Languages02:27 Breaking the No Experience Loop for Developers04:17 Meaningful Experience: Projects and Contributions05:02 Self-Taught Developers: Readiness and Opportunities06:07 Qualities of a Good Software Engineering Leader06:52 Insights from 18 Months of Coding Chats07:43 Architecture as a Strategic Concern in EngineeringJohn'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.TakeawaysLeverage 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.
-
60
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.Chapters00:00 Introduction to Feature Ops02:46 Managing Feature Flags Effectively07:41 Deployment Strategies: Canary Releases and Gradual Rollouts12:23 The Importance of Dogfooding and User Feedback15:05 Learning from Recent Outages19:13 Testing in Production and Its Benefits21:51 Managing Feature Flags at Scale27:01 Feature Flag Providers and Their Benefits30:50 Involving Product Teams in Feature Flag Management31:45 Trade-offs and Downsides of Feature Flags39:35 Exploring Related ContentMelinda's Links:A guide on working with feature flags in code: https://docs.getunleash.io/guides/manage-feature-flags-in-codeOpen-source repo: https://github.com/Unleash/unleashJohn'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.TakeawaysFeature 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.
-
59
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.Chapters00:00 Defining the Role of AI Engineer03:13 Exploring Large Language Models (LLMs)06:15 Use Cases for LLMs in Business09:22 The Non-Deterministic Nature of AI12:12 AI in Software Engineering: The Future15:11 The Role of AI in Code Review17:53 The Bottleneck of Requirements Gathering20:38 Leveraging AI Throughout the Software Lifecycle29:53 Leveraging AI for Efficient Documentation30:47 AI in API Design and Review32:22 Spectrum Driven Development with AI34:06 The Role of Requirements in Software Engineering40:05 The Future of Programming Languages and AI49:54 Understanding Context and Prompt Engineering56:38 Exploring Related ContentOwain's Links:Substack: https://newsletter.owainlewis.com/subscribe AI Engineer: https://skool.com/aiengineerJohn'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.TakeawaysAI 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.
-
58
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.Chapters00:00 The Journey to Team Leadership08:44 Leadership vs Management10:33 Common Mistakes of New Leaders15:58 The Importance of Delegation19:46 Curiosity in Leadership22:33 Insights from the Book27:57 The Role of Technical Skills in Leadership31:58 The Impact of AI on Software EngineeringPaul'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/@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.TakeawaysLetting 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.
-
57
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.Chapters00:00 Introduction to Rust and Its Adoption03:49 Performance Gains with Rust06:37 Challenges of Over-the-Air Updates09:36 Onboarding Developers to Rust12:33 Team Collaboration and Trust14:53 Testing Strategies for Rust Applications17:38 Trade-offs and Considerations with Rust20:13 Hiring and Team Building for Rust23:02 Advice for Organizations Considering Rust26:00 Managing Technical Debt in Rust28:48 Conclusion and Final Thoughts33:52 Exploring Related ContentLINKSEmma's Linkshttps://www.linkedin.com/in/emmanedelcu/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.TakeawaysRust 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.
-
56
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.Chapters00:00 The Importance of Soft Skills in Engineering03:14 Bridging the Gap: Engineers and Customer Interaction06:26 Nature vs. Nurture: The Art of Asking Questions09:06 Effective Communication: How to Ask the Right Questions12:06 Understanding Context: The Key to Effective Dialogue14:53 Navigating Emotional Reactions in Communication17:36 Feedback and Conflict Resolution: Building Better Relationships20:57 The Efficiency of Communication in Engineering23:32 The Role of Emotions in Engineering26:38 Team Dynamics: The Myth of the 10x Developer29:08 The Importance of Communication in Engineering31:29 Empowering Teams to Reduce Meetings34:40 Communicating with Impact38:21 Building Trust with Non-Technical Stakeholders42:11 Creating Meaningful Connections48:53 Owning Your Confidence as an EngineerNikki'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/@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.TakeawaysEngineering 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.
-
55
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.Chapters00:00 Introduction to Recruitment Challenges03:37 Common CV Mistakes in Job Applications09:19 The Evolution of Job Market Dynamics14:56 Leveraging AI in Job Hunting18:34 The Role of Cover Letters in Modern Applications23:13 Understanding Salary Expectations and Market Trends24:28 Market Recovery and Hiring Trends28:01 The Impact of AI on Employment28:53 Leveraging LinkedIn for Job Seekers38:14 Navigating Recruitment in a Changing Market40:52 The Rise of Project-Based Work46:34 Final Tips for Job SeekersLINKSMary'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/@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.TakeawaysOne 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.
-
54
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.Chapters00:00 Introduction to Isograph05:11 Understanding the Problem Isograph Solves09:57 The Concept of Opinionated Frameworks13:40 Exploring Network Waterfalls16:43 Testing and CI/CD Integration20:49 Scaling with Monorepos and Integration27:57 Future Vision for Isograph28:04 Understanding Isograph's Runtime and Compiler29:40 The Influence of Rust in Compiler Development32:04 The Challenges of Building a Compiler35:53 Transitioning from Batch to Incremental Compilation45:28 Leveraging Rust for Enhanced Developer Experience52:55 Community Engagement and Future of Isograph56:32 Exploring Related ContentLINKSRobert'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/@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.TakeawaysIsograph 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.
-
53
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.Chapters00:00 Shane Harger's Unique Career Journey05:32 Transitioning from Firefighting to Tech10:12 The Importance of Pair Programming15:01 Lessons from Incident Management20:02 DevOps and Platform Engineering Insights27:44 The Dynamics of Code Review and Pair Programming29:54 AI as a Partner in Programming34:03 Key Learnings from AI Pair Programming Experiments45:37 The Importance of Diverse Pairing in Development TeamsShane'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/@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.TakeawaysShane'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
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.Chapters00:00 Understanding Technical Debt03:17 The Financial Metaphor of Tech Debt06:04 Defining Technical Debt: Internal vs External Effects08:59 The Role of Developer Productivity12:05 The Team Responsibility of Technical Debt14:51 Why Managers Should Care About Tech Debt18:05 Quantifying Technical Debt for Visibility20:57 Improving Developer Productivity23:43 Communicating Tech Debt to Executives26:41 Understanding Technical Debt and Its Management36:37 The Eight Questions for Managing Technical Debt46:29 AI's Role in Technical Debt: A Double-Edged SwordLou's Links:LinkedIn: https://www.linkedin.com/in/loufranco/Book: https://loufranco.com/tech-debt-bookJohn'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.TakeawaysTechnical 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.
-
51
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.Chapters00:00 Understanding Cybersecurity03:38 The Evolution of Attacks: Physical vs. Digital06:18 Social Engineering: The Art of Deception09:15 The Importance of Penetration Testing12:02 Career Paths in Cybersecurity14:49 The Diverse Landscape of Cybersecurity17:56 The Necessity of Ongoing Security Measures20:34 The Cost of Neglecting Cybersecurity25:48 The Evolution of Wi-Fi Security27:04 Mainframes: The Misunderstood Giants28:15 Mainframe Security: Myths and Realities30:02 The Challenge of Legacy Code32:20 Balancing Security and Functionality34:12 Defense in Depth: A Security Strategy35:35 AI's Role in Cybersecurity37:50 The Threat Landscape: Script Kiddies and Beyond38:34 Training the Next Generation of Cybersecurity Experts41:36 The Importance of Conferences in CybersecurityKev'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.orgTry out some free labs Kev has created: https://cyber-coach-labs-bd010da0.base44.app/FreeLabsJohn'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.TakeawaysCybersecurity 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
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.Chapters00:00 Startups vs. Big Tech: A Comparative Overview03:19 Navigating Career Growth in Tech06:08 The Reality of Big Tech Work09:06 Specialization vs. Generalization in Tech Careers11:39 The Management Track: Leadership vs. Management14:28 Creating Positive Change as a Manager17:14 Interview Preparation for Managers20:33 Choosing the Right Stories for Interviews26:59 Navigating Conflict in Technical Leadership29:12 Addressing Gaps in Management Experience32:15 Interview Strategies for Senior Roles35:17 Demonstrating Depth of Experience in Interviews38:52 The Role of Side Projects in Personal Development42:02 The Importance of Technical Empathy in Management47:32 Taking Ownership of Your CareerGilad's Links:Gilad's LinkedIn: https://www.linkedin.com/in/giladnaorGilad's Website: https://managementdeltas.com/ 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.TakeawaysWorking 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
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.Chapters00:00 Introduction to the Five-Step Process10:53 Understanding the Job Market Dynamics19:08 The Importance of Value Proposition27:57 Building Your Network Effectively36:17 Creating Engaging Content on LinkedIn42:46 Leveraging Personal Experiences for Content Creation45:32 The Importance of Storytelling in Professional Growth48:20 Detailing Achievements for Interviews50:12 Building a Library of Personal Stories52:49 Understanding LinkedIn's Algorithm and Engagement54:26 Ethical Stalking: Engaging with New Connections58:16 The Power of Meaningful Comments01:00:50 Recap of Five Steps for LinkedIn Success01:03:39 Transforming Your LinkedIn Profile into a Landing Page01:08:04 Creating Value Through Content and NetworkingJohn'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.TakeawaysThe 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.
-
48
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.Chapters00:00 Understanding Developer Experience03:14 Optimizing for Flow State in Development05:56 The Importance of Tooling in Developer Experience08:36 Creating a Supportive Work Environment11:34 The Role of Developer Experience in Team Dynamics14:10 The Business Case for Investing in Developer Experience16:53 Improving Team Retrospectives for Better Developer Experience26:56 The Role of Daily Standups in Agile Teams32:36 Effective Meeting Practices and Rituals36:26 Understanding Scrum and Its Misinterpretations42:50 Optimizing Developer Experience for Flow StateFernando'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/@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.TakeawaysGreat 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
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.Chapters00:28 How hiring managers can work effectively with recruiters10: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/@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.TakeawaysSoftware 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.
-
46
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.Chapters00:00 Developing Skills for Non-Executive Roles04:50 The Role of Non-Executive Directors05:33 Luck Surface Area: Creating Opportunities10:50 Understanding Cash Flow in Decision Making16:27 The Value of an MBA in Business Understanding19:51 Understanding Reputational Damage in Security20:21 The Importance of Team Dynamics in Business21:34 Engagement in Community Projects22:42 Diversity in Perspectives and Decision Making24:22 Conflict Resolution in Community Committees24:54 Financial Planning and Resource Allocation27:45 The Role of Not-for-Profits in Society28:42 Profitability in Not-for-Profit Organizations30:30 Emotional Decision Making in Business32:09 The Journey to Board Membership33:07 The Value of Experience Over Formal Training34:07 The Industry of Self-Help and Career Advancement36:30 The Path to Board Roles41:09 The Importance of Volunteer Experience43:51 Big Tech's Perspective on Board Experience45:57 Influence vs Authority in Leadership49:26 Diversity and the Wisdom of Crowds52:08 The Value of Soft Skills in Business53:07 Encouragement to Volunteer and EngageJoe'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 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.
-
45
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.Chapters00:00 Building Relationships with Recruiters04:22 Understanding Different Types of Recruiters12:13 Crafting an Effective CV19:45 The Role of AI in Job Applications21:49 Leveraging LinkedIn for Job SearchGuy'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/@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.TakeawaysBuilding 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.
-
44
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.
-
43
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.
-
42
Using a side hustle and Build in Public to advance your software engineering career
Coding Chats episode 40 - David Weiss shares his journey from being a Spanish teacher to a software engineer, highlighting the transferable skills that educators bring to tech. He discusses the importance of teaching in reinforcing knowledge, the challenges of building SaaS applications, and the significance of personal branding in today's job market. David also introduces his initiative, Build to Give, which connects early career tech professionals with non-profits, providing them with real-world experience while helping organizations in need.Chapters00:00 From Teaching to Tech: A Journey of Transition04:10 Transferable Skills: Bridging Teaching and Software Engineering07:38 The Power of Teaching in Tech11:14 Side Hustles and Newsletters: Building a Personal Brand16:42 Building SaaS Apps: Lessons Learned20:11 The Importance of Personal Branding23:42 Navigating the Job Market: Insights on AI and Tech27:08 Build to Give: Connecting Tech Professionals with NonprofitsDavid's Links:LinkedIn: https://www.linkedin.com/in/bydavidweissBesides Code: https://www.besidescode.comResume: https://www.useresume.appJohn's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.TakeawaysDavid transitioned from teaching to tech by self-learning coding.Teaching skills like communication and collaboration are valuable in tech.Teaching reinforces knowledge and helps fill gaps in understanding.Building side projects can enhance personal growth and skill.A newsletter can provide accountability and community engagement.Marketing is crucial for the success of SaaS applications.Validating ideas with potential customers is essential before coding.Personal branding is important for career stability in tech.The tech job market is challenging for early career professionals.Build to Give connects early career professionals with non-profits for mutual benefit.
-
41
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.
-
40
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.
-
39
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.
-
38
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.
-
37
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.
-
36
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.
-
35
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.
-
34
Learning Zig: A project-based approach - Part 2 of 2
Coding Chats episode 32 - John Crickett and Loris Cro discuss the Zig programming language, its community, and various ways to learn and apply Zig. Loris emphasizes the importance of project-based learning, the unique features of Zig, and how it is being used in production by various companies. Loris also shares insights on how to get involved with the Zig community and contribute to its growth.Chapters00:00 Learning Zig Through Projects04:58 Community and Learning Resources06:49 Zig in Production: Real-World Applications12:23 Understanding Zig's Unique Features18:07 Getting Involved with the Zig CommunityLoris's links:https://www.linkedin.com/in/kristoff-it/Jonathan Marler's talk: https://www.youtube.com/watch?v=aPWFLkHRIAQJohn's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.TakeawaysZig is a simple language that emphasizes debugging applications over language complexity.Project-based learning is effective for mastering Zig.Ziglings offers a hands-on approach for beginners to learn Zig.Companies like Tiger Beetle and BUN are using Zig in production.Zig's unique features include first-class support for no standard library.Zig allows for cross-compilation, making it versatile for different architectures.Community involvement is crucial for learning and contributing to Zig.Zig promotes a bottom-up approach to software development.Events like Zig Days foster collaboration and community building.Software You Can Love conference highlights innovative software development perspectives.
We're indexing this podcast's transcripts for the first time — this can take a minute or two. We'll show results as soon as they're ready.
No matches for "" in this podcast's transcripts.
No topics indexed yet for this podcast.
Loading reviews...
ABOUT THIS SHOW
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.
HOSTED BY
John Crickett
CATEGORIES
Loading similar podcasts...