Fundamentals of Software Engineering

PODCAST · technology

Fundamentals of Software Engineering

Programmer, coder, developer—there are any number of titles used to describe people who create software, but what does it mean to be a software engineer? Despite the way software is often taught, being a software engineer is about far more than simply producing syntactically correct programs.

  1. 7

    Why We Hate Legacy Code (and How to Work With It Anyway)

    In this episode of Fundamentals of Software Engineering, Nate and I dig into the love hate relationship every developer has with the inherited code base. We unpack what actually makes code 'legacy', why working with it feels so painful, and the strategies that turn it from a burden into something you can confidently change. From Mike Feathers' definition ('legacy code is code without tests') to the realization that your code today will be someone else's legacy code tomorrow, we cover the full spectrum of why this stuff trips up even seasoned developers and what actually moves the needle.We get into the rewrite trap (and why YOLO big bang rewrites usually backfire), the strangler fig pattern that has saved countless modernizations, and how AI is finally turning the years long mainframe migration into something realistic. We also talk about scout rule refactoring, the fresh perspective new joiners bring (and why managers should actually listen), the soft skills side that nobody warned us about, and what empathy for past developers looks like in practice. If you have ever opened a code base, thought 'what idiot wrote this?', and then realized it was you, this one is for you.Key Highlights🔍 What Counts as Legacy: Mike Feathers' definition is code without tests, but functionally it's anything you didn't write within the last couple of hours. Even your code becomes legacy faster than you think.🛠️ The Rewrite Trap: Big bang cutovers are stressful, risky, and usually reintroduce edge cases that took years to fix. The strangler fig pattern lets you replace systems thin slice by thin slice with continuous demoable progress.🤖 AI as a Modernization Force Multiplier: AI lowers the cost and risk of mainframe migrations and makes interrogating commit history at scale realistic. Use it to summarize code intent, surface edge cases, and answer the questions human patience won't.🧠 The Missing Context Problem: The original developers retired, the why is gone, and only the what remains. Tribal knowledge walks out the door. That's the real challenge, not the syntax.📋 The Edge Case Iceberg: Happy path is easy. The real complexity lives in last day of the month, mid year changes, timezone quirks, and the goofy combinations of dates and times. If those are not tested or documented, the rewrite will reintroduce them.🌱 Fresh Perspective Is a Superpower: New joiners can challenge 'that's how we've always done it' assumptions that seasoned engineers no longer notice. Dan shares a real story of parallelizing an overnight batch job by simply asking 'does it have to be sequential?'🧹 Scout Rule Refactoring: Always leave the code better than you found it. Better variable names, smaller methods, dead code removal, missing documentation. Small daily improvements compound into a maintainable system.📈 Your Code Today Is Tomorrow's Legacy: Write the tests. Document the edge cases. Leave the breadcrumbs. The future maintainer might be you, and you will not remember why you made any of those decisions.Resources & Next Steps📘 Fundamentals of Software Engineering (book), now in Portuguese and Korean translation🌐 fundamentalsofswe.com (book + podcast hub)👥 Mike Feathers, Working Effectively With Legacy Code (definition source)📐 Strangler Fig Pattern, Martin Fowler🎧 Subscribe to Fundamentals of Software Engineering on Apple PodcastsChapter Timestamps00:00 Cold Open, When the Idiot Code Turns Out to Be Yours00:54 Welcome to Episode 702:33 Fundamentals of SE Now in Portuguese and Korean04:05 What Counts as Legacy Code06:48 Why Greenfield Feels So Good09:11 Legacy Doesn't Mean Bad10:41 App Modernization as a Career11:51 Getting Off the Mainframe in the AI Era15:25 Missing Context (the Why Is Gone)17:36 Fear of Breaking What You Don't Understand18:17 Mike Feathers and Why Tests Slow You Down Less Than You Think22:08 Getting Maintenance Time Approved25:01 Outdated Dependencies and the 1962 Car Analogy28:06 Tribal Knowledge Walks Out the Door32:14 The Rewrite Trap and YOLO Big Bang Cutovers39:48 The Strangler Fig Pattern42:00 Working in Unfamiliar Code47:00 Fresh Perspective as a Superpower50:23 The Scout Rule (Leave It Better Than You Found It)52:24 Comments, Refactoring, and Naming53:29 Empathy for Past Developers55:03 Your Code Today Is Tomorrow's Legacy59:08 Closing Thoughts (and a Dad Joke)

  2. 6

    E06 - Why Software Engineering Fundamentals Matter More in the Age of AI

    In this episode of Fundamentals of Software Engineering, Nate and I dig into what we learned at the Arc of AI conference in Austin. We discuss the big conversations happening around AI-generated code in production, why vibe coding falls apart at scale, and how tools that let developers move faster can also get them off course just as quickly. From an AI agent that tried to delete production to 50,000-line diffs that no human can realistically review, we explore the real risks showing up as teams adopt these tools.We also get into the durability of code, whether we'll eventually stop writing human-readable code altogether, and why evals for AI-generated code are something most teams are skipping at their peril. A recurring theme is that typing has never been the hard part of software. The fundamentals (testing, code review, architectural thinking, and understanding what code shouldn't do) matter even more now that we can produce code faster than ever. If you're feeling anxiety about AI replacing developers, this conversation is for you.Key Highlights💻 Code Is Cheap, Software Is Expensive: AI excels at generating behavior, but the architectural qualities and non-functional requirements that make code into software still require human expertise.🔐 The Authorization Bug: An AI agent commented out authentication code because it lacked the right role in dev. The kind of mistake a human reviewer catches instantly, but one that could slip through a 50,000-line diff unnoticed.🏗️ 200,000 Lines of Vibe Code: When someone asked Dan to review their vibe-coded app, it was 200,000 lines. Finding a bug in that is like being dropped into a massive enterprise codebase on day one with zero context.🤖 AWS Agent Gone Rogue: An agent tasked with fixing a critical production issue decided the best approach was to delete production and start from scratch. Any human would have vetoed that immediately.⚡ Moving Fast Safely: Like an F1 driver at 200 mph, moving faster in software development means being off course by even a small margin can put you miles from your target. More speed demands more frequent feedback loops.🧪 Evals Over Vibes: When switching AI models in production, "vibe testing" isn't enough. Proper evals are essential to verify that behavior remains consistent across model updates and prompt changes.📖 The Testing Paradox: You can write tests for what code should do, but you can't easily test for what it shouldn't do. AI-generated code may introduce unexpected behavior that no one thought to test for.Resources & Next Steps🎤 Arc of AI Conference (Austin, TX)📕 Fundamentals of Software Engineering in the Age of AI (workshop by Dan Vega and Nate Schutta)🎧 Subscribe to Fundamentals of Software Engineering on Apple PodcastsChapter Timestamps00:00 Introduction and welcome back01:30 Recap of the Arc of AI conference in Austin04:00 A power outage, elevators, and conferencing by candlelight07:30 Overview of talks, workshops, and hallway conversations09:00 The eight hour workshop on fundamentals in the age of AI11:00 Code is cheap, software is expensive13:00 Vibe coding at low stakes vs. enterprise software16:00 Developer anxiety and the real role of a software engineer18:00 200,000 lines of vibe coded code nobody can review20:00 50,000 line diffs and the authorization bug23:00 The AWS agent that tried to delete production26:00 Is code going to be durable or constantly regenerated?30:00 Will we stop writing human readable code?34:00 The testing paradox and what code shouldn't do37:00 Can AI replace CEOs? Black Swans and human intuition40:00 AI as productivity enhancer, not job replacement44:00 Evals vs. vibe testing in production AI systems48:00 Relearning lessons of the past in software engineering52:00 Moving fast safely and the F1 analogy56:00 Feedback loops, staying on course, and closing thoughts

  3. 5

    E05 - Exploring Career Paths for Software Engineers with Dan Vega and Nate Schutta

    In this episode of Fundamentals of Software Engineering, we dive deep into the diverse career paths available to software engineers beyond just writing code. Many engineers start their careers thinking the only options are coding until retirement or eventually becoming a manager, but the reality is far more exciting. We explore how the tech industry offers numerous opportunities that combine technical skills, creativity, and professional growth. From individual contributor tracks to specialized roles in developer advocacy, consulting, entrepreneurship, and more, we break down what each path looks like and how to know which one might be right for you.Drawing inspiration from Chapter 14 of our book, I share personal experiences about discovering my passion for teaching and content creation while Nate reflects on his journey into developer advocacy and speaking. We discuss the importance of paying attention to what energizes you in your daily work, whether that's solving complex technical problems, mentoring others, building products, or communicating ideas. We also emphasize that your interests will evolve over time, and that's perfectly normal. The key is staying open to opportunities, being willing to try new things, and not being afraid to pivot when something doesn't feel like the right fit.________________________________________Key Highlights:💼 Individual Contributor vs. Management Track: We break down the two primary career paths in software engineering and explain how the individual contributor (IC) track allows engineers to grow technically without managing people, reaching senior levels like Staff, Principal, and Distinguished Engineer.🎤 Developer Advocacy and Community Building: Learn how developer advocates bridge the gap between companies and developer communities through content creation, speaking, and building relationships. This role combines technical expertise with communication skills and offers a unique way to impact the industry.📚 Teaching and Content Creation: Discover how creating courses, writing technical content, and teaching others can become a fulfilling career path. We discuss how the saying 'to teach something, you have to learn it twice' reinforces your own technical knowledge while helping others.🏢 Consulting and Freelancing: Explore the world of independent consulting where you solve diverse problems for different clients, build variety into your work, and have more control over your schedule and projects.🚀 Entrepreneurship and Building Products: We examine how engineers can leverage their technical skills to build their own products and companies, especially in this AI-powered era where the barriers to entry have been significantly lowered.🔍 Following Your Passions: Throughout the episode, we emphasize the importance of paying attention to what energizes you, following those indicators early in your career, and not being afraid to advocate for the things you're passionate about without waiting for permission.💡 Empathy in Engineering: We discuss how understanding who your applications are helping and putting yourself in other people's shoes can make even the most mundane projects more meaningful and rewarding.________________________________________Resources & Next Steps:🌐 Learn more about the Fundamentals of Software Engineering book and get your copy📖 Purchase the book on Amazon or access it through the O'Reilly platform🎧 Subscribe to the Fundamentals of Software Engineering podcast for more episodes⭐ Leave a review on Amazon to help other engineers discover the book and share your feedback with Dan and Nate________________________________________Chapter Timestamps:00:00:00 - Introduction and Steve Jobs Quote00:01:10 - Episode 5: Career Paths for Software Engineers00:03:00 - Book Overview and Chapter 14 Introduction00:05:00 - Beyond Just Coding: Understanding Career Options00:06:00 - Early Career Perspectives on Career Paths00:15:00 - Individual Contributor Track Explained00:25:00 - Management Track and Leadership Roles00:35:00 - Developer Advocacy and Community Work00:45:00 - Teaching, Content Creation, and Education00:52:00 - Consulting and Freelancing Opportunities00:58:00 - Entrepreneurship and Building Your Own Products01:01:00 - Key Takeaways and Following Your Passions01:03:00 - Final Thoughts and Dad Joke01:04:00 - Wrap Up and Call to Action

  4. 4

    E04 - Why Continuous Learning Is Your Secret Weapon in Software Engineering

    We kicked off Episode 4 by tackling something every developer faces but rarely masters: learning to learn. In our industry, the technology changes constantly, and staying relevant means embracing a lifetime of learning. Nate and I dove into how successful engineers aren't just smart, they're insatiably curious. We talked about moving past the misconception that learning ends with school and recognizing that failure is part of the process. Whether you're debugging code or picking up a new framework, being comfortable with not knowing everything is what separates the good from the great. We also emphasized that everyone has their own learning style, and finding yours is key to making knowledge stick.The episode also explored practical strategies for staying sharp without burning out. We discussed the dangers of the shiny new thing paradox, where developers chase every hot technology without asking why. Instead, we encouraged building a technology radar, being deliberate about what you learn, and understanding that consistency beats intensity every time. A little bit each day, whether it's 20 minutes of reading or working on a side project, compounds into serious growth over time. We wrapped up by reminding everyone that FOMO is real, but you don't need to learn everything. Focus on what aligns with your career goals and what genuinely excites you, and you'll be just fine.Key Highlights:🧠 Learning Never Stops: School teaches us that learning is finite, but in software engineering, successful developers maintain an insatiable curiosity throughout their careers. The key is embracing the mindset that you don't need to know everything, and being comfortable saying, "Tell me more about that."✨ The Shiny New Thing Paradox: Just because a new technology is hyped doesn't mean you need to learn it. We discussed resume-driven design and how developers often adopt bleeding-edge tools without understanding the full trade-offs. The key is knowing not just when to use a tool, but when not to use it.📡 Build Your Technology Radar: Inspired by ThoughtWorks, a technology radar helps you methodically track technologies across four rings, from "hold" (avoid or phase out) to "adopt" (use now). This framework lets you see where to invest your learning time and helps you be planful rather than reactive to every new trend.🔥 Consistency Over Intensity: New Year's resolutions fail because people set unrealistic goals. Instead of promising to work out 90 minutes daily, commit to 5-10 minutes of reading or coding each day. Small, sustainable habits compound into serious growth over time, just like Nate's nearly 900-day reading streak.🎯 Start With Your Why: Before diving into GraphQL, Kubernetes, or any hyped technology, ask yourself why you want to learn it. Does it solve a problem you're facing? Does it align with your career goals? Learning with purpose prevents you from wasting time on tools you'll never use.🚀 Side Projects Are Learning Labs: If your day job restricts your tech stack, side projects let you experiment guilt-free. Dan shared how he built his personal website with Vue, Nuxt, and Tailwind to learn front-end skills outside his Spring and Java work. It's the right tool for the right job, plus it scratches a personal itch.🤝 Show Up and Soak It In: Even if a meetup or lunch-and-learn isn't on your immediate learning list, attending can be valuable. You might pick up a keyboard shortcut, discover a new tool, or make a connection that changes your career. Plus, free pizza and getting out of your house never hurt anyone.Resources & Next Steps:📖 Order Fundamentals of Software Engineering on O'Reilly or Amazon🎧 Subscribe to the Fundamentals of Software Engineering podcast📡 Explore the ThoughtWorks Technology Radar to build your own learning framework🏂 Connect with Dan Vega and Nate Schutta on social media for more learning tips and industry insightsTimestamps:0:00 Introduction and New Year Mindset0:59 Episode 4: Learning to Learn2:44 The Myth That Learning Ends After School3:19 Curiosity and the Tinkering Mindset5:05 Signing Up for a Lifetime of Learning6:47 Learning Through Failure9:09 Finding Your Personal Learning Style11:38 The Trap of Video Tutorials Without Practice14:40 AI as a Learning Tool, Not a Shortcut15:36 Dealing with an Overwhelming Number of Things to Learn18:22 The Shiny New Thing Paradox21:05 Staying Long Enough to See the Consequences of Your Decisions23:12 Using ADRs (Architectural Decision Records)26:00 FOMO and Side Projects29:05 Portfolio Theory for Technology Skills32:03 Building a Technology Radar35:25 Starting with Your Why38:25 Don't Over-Engineer for Problems You Don't Have41:48 Dan's Personal Website Example: Right Tool for the Right Job44:15 Consistency Over Intensity45:45 Morning Coffee: A Daily Learning Ritual48:49 Weekly, Monthly, and Yearly Learning Goals50:37 Learning Depth Strategy: Survey, Dive, Deep Dive, Ultra-Deep Dive52:10 Attending Meetups and Lunch-and-Learns55:04 Wrap-Up and Coffee Joke

  5. 3

    E03 - Will AI Replace Software Developers

    In this episode, we tackle the question that's been keeping developers up at night: will AI replace software developers? As your hosts, we dive deep into the real impact of AI on our industry, drawing parallels to historical technological shifts like the Jacquard loom and ATMs. I share insights from our new book, The Fundamentals of Software Engineering, and we explore how AI tools from ChatGPT to Claude Code are transforming the way we write code. We discuss the importance of learning fundamentals rather than becoming dependent on AI, and why adaptation is the key to thriving in this new era.Nate and I also address concerns about junior developer roles and the challenge of breaking into the industry. We explore the progression from standalone chatbots to inline IDE assistants to agentic workflows, emphasizing that you should be the pilot, not the passenger. We discuss vibe coding, its appropriate use cases, and why understanding software engineering fundamentals remains critical. Whether you're a seasoned developer or just starting out, this episode offers practical advice on how to leverage AI as a force multiplier while staying relevant in an ever-evolving tech landscape._________________________________________________________________Key Highlights🏛️ Historical Parallels: We explore how the Jacquard loom in 1801 transformed weavers rather than replacing them, and why similar patterns repeat with every major technological breakthrough including ATMs, cloud computing, and now AI.🎓 Learning Fundamentals vs AI Dependency: We emphasize why understanding the fundamentals of software engineering is crucial, even with AI tools. Dan shares advice for his nephew considering a career in programming and discusses the importance of being the pilot, not the passenger.🛠️ AI Tool Progression: We walk through the evolution from standalone chatbots like ChatGPT and Claude to inline IDE assistants like GitHub Copilot and JetBrains AI Assistant, all the way to agentic IDE environments like Cursor and Claude Code, discussing the proper use cases for each.👨‍💻 Junior Developer Concerns: Nate and Dan address the challenges of breaking into the industry, the importance of networking, perseverance through rejections, and why following your passion matters more than fear of AI displacement.⚡ Vibe Coding Explained: We discuss vibe coding, its appropriate use for throwaway projects and prototypes, why it's democratizing software development, and the critical importance of understanding when stakes are high versus low in production systems.🚀 AI Across the SDLC: We explore how AI can be applied beyond just writing code to prototyping, testing, DevOps, code reading, and other areas of the software development lifecycle where it can provide tremendous value._________________________________________________________________Resources & Next Steps📚 Get The Fundamentals of Software Engineering on O'Reilly or Amazon🌐 Visit the podcast website at fundamentalsofsw.com🤖 Explore AI tools mentioned: ChatGPT, Claude, GitHub Copilot, and Cursor💬 Leave a review and share your feedback with us

  6. 2

    E02 - Avoiding Burnout

    In this episode, we tackle the elephant in the room for so many developers: burnout. Whether you're just starting out or you've been coding for decades like us, the constant pressure to learn, ship, and stay relevant takes a serious toll. I share my own experiences with that Sunday evening dread and how setting boundaries at home became non-negotiable. Nate opens up about the challenges of remote work and why sometimes you need to physically walk around the block just to signal the start or end of your workday. We get real about the warning signs we've ignored and the lessons we've learned the hard way.What makes developer burnout unique? For starters, there's the always-learning treadmill where a new framework or tool drops every single day. Then there's the invisible nature of our work (no one sees that incredible algorithm you spent weeks perfecting), the context switching between meetings and deep work, and that nagging feeling that our projects are never really done. We discuss how social media amplifies imposter syndrome, why learning to say no might be your most important skill, and how finding fulfillment outside of code isn't just nice to have, it's essential for long-term sustainability in this career.Key Highlights:🏠 Setting Work-From-Home Boundaries: How creating rituals like changing outfits or walking around the block helps distinguish work time from personal time, and why your family needs to know when you're 'on air.'📚 The Always-Learning Treadmill: Why you don't actually have to learn everything, how to deal with FOMO, and the reality that technologies come along like buses every 10-15 minutes (you won't miss the only one).⚠️ Recognizing Warning Signs: From Sunday evening dread and physical symptoms like headaches to irritability with teammates, these are the red flags that you're heading toward burnout (and why you need to take action immediately).🔄 Context Switching is Killing Your Productivity: Why a five-second interruption costs you 15 minutes, how to protect your maker schedule, and the power of focus time blocks and 'no meeting Wednesdays.'👻 The Invisible Nature of Our Work: Unlike a construction worker who can point to a building, developers create invisible solutions that only other developers appreciate, and why this contributes to burnout.🎯 Learning to Say No: How setting clear goals and priorities helps you decline the wrong opportunities, why data matters when negotiating with your manager, and the importance of protecting your time.🤝 Talk to Your Manager: Why having open conversations about burnout won't get you fired (good managers want to keep you), how to create action plans together, and when it's time to ask for a project change.⛳ Finding Fulfillment Outside of Code: From golf leagues to weightlifting to puzzles with the family, why scheduling hobbies and protecting that time is essential for recharging and preventing burnout.🌐 Building Your Professional Network: How regular one-on-ones with trusted colleagues help combat FOMO, provide emotional support, and give you access to expertise outside your own domain.Resources & Next Steps:🌐 Visit the official Fundamentals of Software Engineering website at fundamentalsofswe.com🎧 Subscribe to the Fundamentals of Software Engineering Podcast on your favorite podcast platform

  7. 1

    E01 - 👋🏻 Hello, Fundamentals

    Launching the Fundamentals of Software Engineering Podcast with Dan Vega and Nate SchuttaWe are thrilled to introduce Episode One of the Fundamentals of Software Engineering podcast. In this inaugural episode, we share the origin story of how this book and podcast came to be, starting with a simple tweet about goals for the year. I talk about how Nate responded to my tweet saying he could help with at least two of my goals, and that's when our collaboration began. We dive into the challenges of writing a technical book, from multiple rounds of editing to finding the right balance between comprehensive coverage and keeping content accessible. We also discuss why we decided to launch this podcast as a companion to the book, allowing us to explore topics we couldn't fit into the manuscript and go deeper on subjects that matter most to software engineers at every stage of their career.Throughout this episode, Nate and I introduce ourselves, share our backgrounds, and talk about what gets us excited about this industry. From my early days falling in love with web development to Nate's transition from chemistry to computer science, we reflect on our journeys and the lessons we've learned along the way. We talk candidly about imposter syndrome, the importance of learning to learn, and why reading code is often more important than writing it. We also touch on our shared passion for golf, spending time with family, and maintaining a healthy work-life balance in an industry that never stops evolving. This podcast is for anyone who wants to level up their software engineering skills, whether you're just starting out or have years of experience under your belt. Join us as we explore the fundamentals that make great software engineers and help you navigate your career with confidence._______________________________________________________________________________Key Highlights:📖 The Book's Origin Story: How a tweet about New Year's goals sparked a collaboration between Dan and Nate, leading to the creation of Fundamentals of Software Engineering. We discuss how the book evolved from Nate's initial online training sessions to a comprehensive guide covering essential topics that aren't always taught in traditional education.🎯 Bridging the Education Gap: We explore the significant differences between what's taught in universities, bootcamps, and what you actually need to know on the job. Whether you have a four-year degree focused on theory or completed a 14-week intensive bootcamp, there's always a learning curve when joining a real development team. Our book aims to fill that gap and provide the institutional knowledge that helps new engineers become productive faster.📚 Reading Code Over Writing Code: One of the most fundamental yet overlooked skills in software engineering is the ability to read and understand code. We emphasize that engineers spend far more time reading existing code than writing new code, especially in an era where AI-generated code is becoming more prevalent. Learning to navigate unfamiliar codebases, identify patterns, and understand legacy systems is crucial for career success.🎤 From Introverts to Conference Speakers: We share our personal journeys from being uncomfortable with public speaking to becoming regular conference presenters. Many assume all speakers are extroverts, but most of the people we know in the conference circuit are actually introverted. We encourage anyone interested in speaking to start with local user groups and remember that you have a unique perspective worth sharing, regardless of your experience level.🧠 Learning to Learn in Tech: The technology landscape changes constantly, and what worked five years ago might be obsolete today. We discuss the importance of developing meta-learning skills and understanding that you're signing up for a lifetime of continuous learning when you enter this industry. The key is not trying to learn everything but rather developing strategies to learn efficiently when you need to and recognizing which technologies are worth investing time in versus which ones you can skip.⚠️ AI's Impact on Junior Developers: We tackle the concerning trend of companies relying heavily on senior developers with AI tools while reducing opportunities for junior developers. This creates a dangerous situation where we have masters with no apprentices. We emphasize that failure and struggle are essential parts of the learning process, and using AI as a crutch rather than a tool to amplify existing knowledge can prevent developers from building the foundational skills they need to progress in their careers.⛳ Finding Balance Through Hobbies: To avoid burnout in our fast-paced industry, we stress the importance of having hobbies and interests outside of work. Both of us share a passion for golf, and we talk about how spending time with family and engaging in activities that take us away from screens helps us maintain perspective and recharge. The reality is you can't learn everything, and trying to will only lead to burnout, so it's essential to set boundaries and make time for life beyond code.💡 Everyone Experiences Imposter Syndrome: No matter how experienced you become, that feeling of 'when will they figure out I'm a fraud' never completely goes away. We share personal stories about feeling anxious when joining new projects and making simple mistakes even after decades in the industry. The reassuring truth is that everyone struggles with these feelings, and the key is pushing through them while recognizing that failure and mistakes are valuable learning opportunities that make you a better engineer._______________________________________________________________________________Resources & Next Steps:🌐 Visit the official Fundamentals of Software Engineering website at fundamentalsofswe.com🎧 Subscribe to the Fundamentals of Software Engineering Podcast on your favorite podcast platform

Type above to search every episode's transcript for a word or phrase. Matches are scoped to this podcast.

Searching…

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.

Showing of matches

No topics indexed yet for this podcast.

Loading reviews...

ABOUT THIS SHOW

Programmer, coder, developer—there are any number of titles used to describe people who create software, but what does it mean to be a software engineer? Despite the way software is often taught, being a software engineer is about far more than simply producing syntactically correct programs.

HOSTED BY

Dan Vega, Nate Schutta

Produced by Dan Vega

URL copied to clipboard!