{"podcast":{"title":"Adventures in Machine Learning","slug":"adventures-in-machine-learning","podcast_index_feed_id":2981332,"rss_url":"https://www.spreaker.com/show/6102041/episodes/feed","website_url":"https://topenddevs.com/podcasts/adventures-in-machine-learning","image_url":"https://d3wo5wojvuv7l.cloudfront.net/t_rss_itunes_square_1400/images.spreaker.com/original/230facb439840ff787c776d3ed78fcbd.jpg","author":"Charles M Wood","episode_count":209,"summary":"Machine Learning is growing in leaps and bounds both in capability and adoption. Listen to our experts discuss the ideas and fundamentals needed to succeed as a Machine Learning Engineer. Become a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-machine-learning--6102041/support .","last_synced_at":null,"page_url":"https://stenobird.com/podcast/adventures-in-machine-learning"},"episode":{"title":"Maintaining Backward Compatibility in Software Projects: Strategies from Industry Experts - ML 164","slug":"maintaining-backward-compatibility-in-software-projects-strategies-from-industry-experts-ml-164","published_at":"2024-08-29T10:00:00+00:00","page_url":"https://stenobird.com/podcast/adventures-in-machine-learning/maintaining-backward-compatibility-in-software-projects-strategies-from-industry-experts-ml-164","show_page_url":"https://stenobird.com/podcast/adventures-in-machine-learning","url":"https://www.spreaker.com/episode/maintaining-backward-compatibility-in-software-projects-strategies-from-industry-experts-ml-164--61197759","audio_url":"https://dts.podtrac.com/redirect.mp3/api.spreaker.com/download/episode/61197759/ml_164.mp3","summary":"Software engineering maturity requires transitioning from rapid experimentation to disciplined stability. This episode explores how to manage API evolution, implement compatibility layers, and use automation to enforce code quality.","meta_description":"Learn strategies for maintaining backward compatibility, managing dependency shifts in Pydantic, and using automation to enforce high-quality code standar…","key_points":["Practical takeaway: Use 'experimental' tags for new features to allow for iteration without breaking the stable API contract","Failure mode: Relying on manual code reviews for style instead of using pre-commit hooks and linters to automate enforcement","Main idea: A compatibility layer (like Dagster's Pydantic shim) can bridge the gap between breaking third-party dependency updates","Practical takeaway: Write documentation and marketing materials before writing code to validate feature demand and use cases","Main idea: High-quality naming conventions act as anchors that help maintainer clarity even as codebases grow complex"],"chapters":[{"start_ms":65000,"title":"The Value of Open Source","summary":"A discussion on why contributing to open source provides a lasting, reusable impact compared to proprietary software."},{"start_ms":360000,"title":"Unified Tooling for Data Scales","summary":"The benefits of using the same tools for both small and large-scale data processing to reduce refactoring overhead."},{"start_ms":665000,"title":"Managing API Evolution","summary":"Strategies for transitioning from a proof-of-concept to a stable product by managing feature maturity and user feedback."},{"start_ms":1280000,"title":"Handling Dependency Breaking Changes","summary":"How to implement a compatibility layer to support multiple versions of critical libraries like Pydantic."},{"start_ms":2160000,"title":"The Satisfaction of Refactoring","summary":"The psychological and technical rewards of deleting or refactoring old code to improve system health."},{"start_ms":2745000,"title":"Code Review and Longevity","summary":"Addressing selection bias in reviews and focusing on long-term code maintainability over superficial correctness."},{"start_ms":3665000,"title":"Prioritizing Maintainability","summary":"Why building maintainable, working software is more important than optimizing complex algorithmic efficiency."}],"topics":["Software Engineering","API Design","Backward Compatibility","Open Source","Dependency Management","Code Quality","Data Engineering","Python"],"duration_seconds":3592,"processing_state":"processed","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/adventures-in-machine-learning/episodes/maintaining-backward-compatibility-in-software-projects-strategies-from-industry-experts-ml-164/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/adventures-in-machine-learning/maintaining-backward-compatibility-in-software-projects-strategies-from-industry-experts-ml-164.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]}}