Maintainable

  • Autor: Vários
  • Narrador: Vários
  • Editor: Podcast
  • Duración: 167:57:07
  • Mas informaciones

Informações:

Sinopsis

Feel like you’re hitting a wall with your existing software projects? You're not alone. On Maintainable, we speak with seasoned practitioners who have worked past the problems often associated with technical debt and legacy code. In each episode, our guests will share stories and outline tangible, real-world approaches to software challenges. In turn, you'll uncover new ways of thinking about how to improve your software project's maintainability. We're in this together. Enjoy the show!

Episodios

  • Jeanine Soterwood - Helping Clients Understand Maintenance Work

    30/01/2024 Duración: 38min

    Robby has a chat with the Software Development Team Lead at Thoughtbot, Jeanine Soterwood. Unraveling the intricacies of Ruby on Rails, they explore the often overlooked importance of keeping apps up-to-date and maintaining a robust test suite. The conversation weaves through the delicate balance between enticing features and the long-term needs of software maintenance, shedding light on the aspects clients may not find thrilling.Drawing from their experiences in the consulting realm, Robby and Jeanine share valuable insights on being a commendable guest in another team's code base. From deciphering a client's process and team culture to navigating the challenge of conveying that software is an ever-evolving entity, the episode unfolds with practical tips. The duo advocates for proposing experiments over permanent decisions, emphasizing the art of gaining buy-in. Additionally, they tackle the nuances of pairing with junior developers and unravel Jeanine's journey of embracing non-DRY tests. Wrapping up with a

  • Andrew Atkinson - Maintainable... Databases?

    23/01/2024 Duración: 53min

    Robby engages with independent consultant and author, Andrew Atkinson, delving into the intricate world of software development and database maintenance. The duo kicks off with a profound exploration of the importance of swift and intuitive change management in software, unraveling the key traits that transform a database into a well-maintained powerhouse. From securing data to cleaning up legacy information, they shed light on the often-neglected aspects that can significantly enhance a software engineer's efficiency.As the conversation flows, Andrew unveils the secrets behind his latest book, "High Performance PostgreSQL for Rails," tracing its origins from an internal slide deck to a valuable resource for developers beyond the Rails framework. The episode explores the nuanced process of "Unshipping," as Andrew dissects Mixpanel's article, offering a roadmap for deprecating features without disappointing customers. The episode is a treasure trove of insights, covering everything from optimizing database per

  • Jimmy Koppel - Aspects of Good Code

    16/01/2024 Duración: 44min

    Robby engages in a captivating conversation with the CEO at Mirdin and UpToSpeed, Jimmy Koppel. They delve into the transformative power of evolvable code, shedding light on its myriad benefits and how it contributes to an enriching coding experience. Drawing inspiration from Jimmy's insightful blog post, "The 11 Aspects of Good Code," the discussion unfolds to explore the external qualities of code and the profound impact of crafting code that is not just functional, but a joy to work with. Jimmy shares his vision for UpToSpeed, a platform aiming to revolutionize the onboarding process for software engineers through the strategic use of AI tools, offering a glimpse into the future of seamless integration for new team members. From the nuances of recovering the programmer's intent through well-crafted code to intriguing references to "Zen and the Art of Motorcycles," this episode is a must-listen for anyone passionate about the art and science of coding. Unlock the secrets of creating code that not only meets

  • Hila Fish - Maintainable Infrastructure Code, Culture, and Documentation

    09/01/2024 Duración: 01h02min

    Robby has a chat with Senior DevOps Engineer, Hila Fish. They start off by discussing the key characteristics of maintainable infrastructure code. Hila shared insights on providing software engineering teams with the necessary space for exploration while maintaining essential guardrails to ensure the stability of production environments. The conversation also touched upon the significance of offering engineers useful metrics and dashboards for measuring load and stress tests. Robby and Hila reminisced about the evolution of roles like sysadmins and DBAs over the decades, highlighting the transformative journey of infrastructure management.A focal point of the episode was Hila's experience leading a large migration project from Bitbucket Cloud to a self-hosted Gitlab within a tight six-week timeframe. She emphasized the importance of rigorous testing in both development and production environments, effective communication with stakeholders and the team, and other critical aspects of successful project manageme

  • Jacob Aronoff - At Least One Person Who Cares To See It Through

    21/11/2023 Duración: 46min

    Robby has a chat with Staff Software Engineer at Lightstep from ServiceNow, Jacob Aronoff. Their conversation delves into the vital signs of a thriving open source software project. They unpack the characteristics of well-maintained open source endeavors, emphasizing the importance of a passionate community behind the project, rather than misleading indicators like GitHub stars. They discuss the nuances of evaluating a project's health through performance metrics, suggesting that a more holistic view that includes the scrutiny of open issues can provide better insights into the project's robustness and responsiveness to community needs. Furthermore, their discussion highlights a critical, yet often overlooked, aspect of open source software: the project's own dependencies. Jacob argues that understanding these dependencies is crucial before adopting an open source solution, as it could have far-reaching implications on the stability and security of one's own project. They also take a deep dive into the organi

  • Oliver Drotbohm - Modulithic Applications

    14/11/2023 Duración: 41min

    Robby has a chat with Oliver Drotbohm, a Staff 2 Engineer at VMware. They explore the essence of maintainable software, pinpointing understandability and modifiability as its foundational pillars. Drawing from Dr. Carola Lilienthal's "Sustainable Software Architecture: Analyze and Reduce Technical Debt," Robby and Oliver dissect the metaphor of technical debt, discussing its historical context and its relevance in today's fast-paced software development environment. Their nuanced conversation balanced the need for making compromises with the risk of over-preparation, emphasizing the critical role that clear documentation of architecture design decisions plays. They further delve into the iterative nature of building sustainable software, advocating for a build-feedback-repeat cycle to ensure that the right product is being developed. Their discussion pivots to the strategic use of microservices, unpacking the circumstances that justify their implementation and the inherent tradeoffs. An overview of the Moduli

  • Colin Campbell - The Daily Habits of Effective Engineers

    07/11/2023 Duración: 40min

    Robby has a chat with Colin Campbell, the Director of Engineering at Tucows. Colin delves into the professional ethos of software development, emphasizing that the caliber of an engineer’s work is a reflection of their daily habits. He stressed the importance of humility for software engineers, arguing that it is crucial for continuous improvement and effective teamwork. He also talked about the strategic approach of doing nothing during Sprint Zero, suggesting that thorough planning and groundwork are essential before diving into actual code deployment.The conversation transitions to the practical aspects of the craft, sharing insights from his experience of refactoring the OpenSRS platform at Tucows. Colin expresses a strong stance against total rewrites of systems, except when transitioning to new platforms, advocating for the incremental and strategic improvements using the Strangler Fig pattern. He also describes the satisfaction derived from identifying and rectifying “code smells” through refactoring,

  • Dave Bryant Copeland - Quantifying the Carrying Cost

    03/10/2023 Duración: 42min

    Robby has a chat with the Author of Sustainable Web Development with Ruby on Rails, Dave Bryant Copeland (he/him/his). Dave is a Senior Software Engineer and speaker. Reflecting on his experience, Dave believes that well-maintained software is software that people understand what it does, how it works, and that it can be changed. He starts off by highlighting the challenges that developers face when trying to retrofit software with more testing.He also shares his expert insights on how software engineers can navigate design decisions while ensuring that they speak up if a proposed feature is difficult to build, test, and maintain. When it comes to software engineers getting advice from experienced practitioners, Dave says that the engineers should make sure they understand their own context and biases. He introduces us to his book and shares a very interesting story about the disappointment he got after building and releasing a frontend in Angular. Stay tuned for more!Book Recommendations:The Culture Map by E

  • Cameron Jacoby - Am I Learning From This?

    26/09/2023 Duración: 49min

    Robby has a chat with Cameron Jacoby (she/her/hers), a Senior Full-Stack Engineer at BetterUp, a platform that uses world-class coaching and science-backed solutions that help people grow personally and professionally. The one thing that Cameron says should stand out about code being maintainable is that it should be easy to read and understand. She explains why procedural code can often be easier to communicate with and highlights the importance of having helpful data metrics for most new features one works on.Robby and Cameron also discuss real-world approaches to tracking metrics for monitoring purposes, the benefits of using feature flags, especially within internal-facing software applications, the struggles engineering teams have with maintaining a staging environment, how being on-call is one of the fastest ways to ramp up one’s debugging skills and build intuition as a software engineer, and so much more. Stay tuned!Helpful Links:Personal Website - https://www.cameronjacoby.com/LinkedIn - https://www.

  • Adriana Villela - On Being a Serial Refactorer

    22/08/2023 Duración: 51min

    Robby has a chat with Adriana Villela, a Senior Developer Advocate at Lightstep. Adriana highlights that well-maintained software should be software that one can understand when they go into the code even if they’re not super familiar with it. She shares why she values being a serial refactorer and describes what beautiful code should look like. Adriana views debuggers as her best friends because as she says, “I do find maintaining documentation very difficult. That’s where a debugger comes in very handy so that he can step through the code to figure out what is going on”She will share a story about joining a software project that required a lot of refactoring, why asking for forgiveness is often easier than asking for permission, her involvement with the OpenTelemetry project and the standardization of observability protocols, and how to think about observability on a practical day-to-day level as a software engineer. She will also introduce us to Lightstep and what being a Senior Developer Advocate role is

  • Ahmed Wasfy - Thriving as an Engineering Manager

    08/08/2023 Duración: 55min

    Robby has a chat with Ahmed Wasfy (he/him/his), the Senior Development Manager at Amazon. On the topic of the common characteristics of well maintained software, Ahmed feels that one critical thing is that software should serve a purpose in terms of what values it adds and the trackable business goal it fulfills. He shares some valuable insights about legacy code based on his vast experience and dives into how to approach the management of technical debt so that an engineering team trusts there is a time and place to work on that.Robby and Ahmed discuss how to strike a good balance between new feature development and incremental improvements, challenges that large organizations face when recruiting a lot of engineers in a short period of time when there are no local domain experts, the Ageism bias in the software engineering industry, Ahmed's coaching work under TheThrivingEM.com, and how to approach your first 90 days in a new role. There is that and so much more software engineering wisdom to gain from this

  • Naomi Ceder - People-Centric Community Building

    04/07/2023 Duración: 48min

    Robby has a chat with Independent Python Instructor and Consultant, Naomi Ceder (she/her/hers). Naomi values clear organization, separation of concern and capsulation, visibility instrumentation, and tests when it comes to creating a legacy piece of code that will be continuously useful. She will talk about the importance of weighing up the costs of using 3rd party tools vs rolling your own solution, working in small teams through a career, and what to consider when weighing up a rewrite vs refactoring.They will discuss her involvement in the Python Foundation and what a foundation typically offers to a community on the global and local levels. Naomi will tell us about her book, The Quick Python Book, 3rd edition, and give us an overview of who the ideal audience is for it. For those of you who want to become technical writers, she will share considerations for how you can get more involved in open-source communities.Book Recommendations:Debt: The First 5000 Years by David GraeberPaula by Isabel AllendeHelpfu

  • Nadia Odunayo - Don't Try to Solve a Pain Point For a Problem You Aren't Experiencing

    19/06/2023 Duración: 57min

    Robby has a chat with Nadia Odunayo (she/her/hers), the Founder and CEO at The StoryGraph. Nadia starts off by highlighting solid test coverage, up-to-date gem language platform versions, all security patches, and proper documentation as some of the few common characteristics of maintainable software. She talks about when it makes sense to document debugging processes for your future self, the tradeoffs made when you're the solo developer and founder of a software project, how she approaches product management, how working within Pivotal Labs influenced her approach, and the differences one experiences going from an environment of constant pairing to being a solo developer.They also dive into why every engineer should be comfortable clearing out their product's icebox, the realities of being a solo developer and thinking about vacations, the fine line between premature and proactive optimization, and everything that The StoryGraph app has to offer. Nadia’s engineering wisdom will be super insightful so don’t

  • Daniela Baron - About Those Docs

    12/06/2023 Duración: 49min

    Robby has a chat with Senior Staff Engineer, Daniela Baron (she/her). Daniela starts by listing the following things about the characteristics of well-maintained software; it should be easy for new people to join and get the project running on their laptops just by following the README, it should have conventions in place for what kind of code goes where, and several less obvious aspects like how to integrate with third parties and how to deploy to a test environment.Daniela will share ways to improve the onboarding experience for new developers to a project, examples of reliable traceability from code to tests to business goals across repositories and project management tools, how to avoid bikeshedding in pull-requests, and approaches to managing maintenance tasks within your team's workflow.In addition, Robby and Daniela will discuss the importance of having a process for addressing deprecation warnings, documenting the non-obvious aspects of the system, tips on how to start documenting how to test and/or d

  • Cory House - Finding Opportunities for Improvement

    05/06/2023 Duración: 35min

    Robby has a chat with Cory House (he/him/his), the Founder at Reactjsconsulting.com, a software developer, author, speaker, and consultant. “I love the old saying that we write software for humans. So, I think about that regularly”, Cory says about what the maintainability of software is all about. When it comes down to it, he thinks more about his fellow developers than the compiler. He talks about the importance of good variable naming, shares the tactics for writing good tests for your regular expressions, and lists the benefits of automating pull-request feedback on potentially subjective feedback so that we can focus our attention on objective curiosities. He will also dive into testing strategies for React JS applications, how granular unit testing patterns don't apply well to automated browser tests, why it's valuable to keep a running list of opportunities for improvements rather than a list of technical debt, and why he believes that not every software project requires a dedicated architect but there

  • Avery Quinn - Can You Quantify the Impact?

    22/05/2023 Duración: 39min

    Robby has a chat with Senior Software Engineer, Avery Quinn. Avery was previously a Senior Software Engineer at Remotion. Avery starts by sharing that she finds well-maintained software to have cohesive modules, be singularly responsible in its functions, and have just a general level of refinement over time.They will dive into the benefits of having a skeleton project that you can experiment with when weighing up different dependencies, tips for onboarding engineers to your teams, things to consider when building desktop applications, what it is like to work as a consultant, and later at a product company, the software product that Remotion is building for remote software engineers, why measuring velocity on a team can be a useful metric to track, and how her recent employer tracks and prioritizes technical debt work. Avery will also share advice for those who are struggling to get buy-in to prioritize technical debt work. Stay tuned for more!Book Recommendations:Just Enough Software Architecture By George F

  • Carlos Blé - Código Sostenible

    24/04/2023 Duración: 50min

    Robby has a chat with Carlos Blé, the CEO of Lean Mind, an organization focused on boosting the growth of developers and teams. Carlos is a software crafter, entrepreneur, mentor, speaker, podcaster, blogger, and author of several tech books in Spanish (Diseño Ágil con TDD and Código Sostenible). He is also the Founder of Savvily, a publisher specializing in tech books. Carlos will start off by sharing the four important traits of well-maintained software and examples of what maintainable tests are. He will dive into the benefits of mutation testing and exploratory testing, why engineers should advocate for a TECHNICAL_DEBT.md file in their git repository, why software engineers should aim to reduce the technical burden for their product team, services that Lean Mind offers, his latest book, Código Sostenible, and how to be a good guest in another team's codebase. Stay tuned for that and so much more!Book Recommendations:Nonviolent Communication by Marshall RosenbergHelpful Links:Carlos on LinkedInCarlos on G

  • Lena Reinhard - How Will People Get Stuff Done?

    17/04/2023 Duración: 56min

    Robby has a chat with Executive and Leadership Coach, Lena Reinhard (she/her/hers). Lena is a speaker, writer, and Founder of Lena Reinhard Leadership Coaching and Consulting. Previously, Lena served as the VP of Engineering with CircleCI and TravisCI, as well as the startup Founder and CEO of The Neighbourhoodie Software GmbH.From Lena’s perspective, well-maintained software is supposed to serve a business’s goals and continuously improve not just reactively. She highlights the importance of organizations investing in their engineering team's skills. Lena will also talk about software as a team sport, strategies for managing technical debt, how technical debt is a loaded term, challenges teams have faced with micro-services, and what engineers might be encountering after teammates have been laid off. Tune in for that and so much more.Book Recommendations:Into The Planet by Jill HeinerthHelpful Links:The lettuce pact

  • Eric Normand - Grokking Simplicity

    13/03/2023 Duración: 47min

    Robby has a chat with software engineer, trainer, and author of the book Grokking Simplicity, Eric Normand (he/him/his). As Eric reflects on his experience, the first thought he has of well-maintained software is that it’s like a unicorn (Something you can’t find in real life), but on a more serious note, he emphasizes that smaller code bases are easier to maintain and that the maintainability of a code base is also highly dependent on the team of engineers that are working on it.Robby and Eric will dive into the pros and cons of microservices in small organizations, why teams need to ensure they know where they're going with the future of their codebase, Eric's book - Grokking Simplicity, the differences within a functional programming language, higher-order functions, Eric’s journey toward authoring a technical book, and the value of engineers being able to get comfortable moving code around in a project without needing to ask for permission first. Tune in and enjoy!Book Recommendations:Book Recommendation:

  • Henrik Warne - There is No Software Maintenance

    06/03/2023 Duración: 42min

    Robby has a chat with Henrik Warne (he/him/his), the Senior Software Engineer at Talos. In Henrik’s view of well-maintained software, he talks about the importance of code having structure early on because, without structure, code tends to inevitably drift over time toward complexity. He highlights the importance of engineers being able to not only read code when they join a project but also be able to run the code and test it.Henrik will share the details of his blog titled, "There is No Software Maintenance," where he argues that software maintenance is simply software development, and how software is better seen as a product versus a project. He will talk about why all software engineers should spend a portion of their time working on bugs, tactics engineers can use to reflect on and capture their thoughts after fixing a bug, and strategies for teams to improve software and avoid rot. Stay tuned for more and enjoy.Book Recommendations:How to Win Friends & Influence People by Dale CarnegieHelpful Links:

página 4 de 12