『Fundamentals of Software Engineering』のカバーアート

Fundamentals of Software Engineering

Fundamentals of Software Engineering

著者: Dan Vega Nate Schutta
無料で聴く

概要

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.© 2026 Dan Vega, Nate Schutta
エピソード
  • Exploring Career Paths for Software Engineers with Dan Vega and Nate Schutta
    2026/02/11
    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
    続きを読む 一部表示
    1 時間 5 分
  • E04 - Why Continuous Learning Is Your Secret Weapon in Software Engineering
    2026/01/08
    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 ...
    続きを読む 一部表示
    58 分
  • E03 - Will AI Replace Software Developers
    2026/01/02

    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
    続きを読む 一部表示
    54 分
まだレビューはありません