E01 - 👋🏻 Hello, Fundamentals
Manage episode 523436282 series 3705737
Launching the Fundamentals of Software Engineering Podcast with Dan Vega and Nate Schutta
We 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
En episode