162 avsnitt • Längd: 45 min • Månadsvis
Legacy Code Rocks explores the world of modernizing existing software applications. Hosts Andrea Goulet and M. Scott Ford of Corgibytes are out to change the way you think about legacy code.
If you’re like a lot of people, when you hear the words “legacy code” it conjures up images of big mainframes and archaic punch card machines. While that’s true — it only tells a small part of the story. The truth is, the code you leave behind is your legacy, so let’s make it a good one.
The podcast Legacy Code Rocks is created by Andrea Goulet and M. Scott Ford. The podcast and the artwork on this page are embedded on this page using the public podcast feed (RSS).
There are three groups of people around every legacy system - those who are stuck with it, those who don't want to be with it, and those who love it and see its value. How do we reconcile these three opinions and rewrite legacy code without completely replacing it?
Today we talk with Dave Thomas. Dave is an all-around player in the software industry with vast experience as an executive, investor, board member, consultant, architect, and engineer. He is Chairman of Bedarra Corp, which provides consulting on technology and business strategy for emerging technology, products, and services. He tells us what the drivers of legacy innovations are, why he thinks refactoring is a "little lie" of the modern software industry, and how to approach modifications in less-than-ideal situations.
When you finish listening to the episode, connect with Dave on LinkedIn and visit his website at www.davethomas.net.
Mentioned in this episode:
Dave Thomas on LinkedIn at https://www.linkedin.com/in/davidathomas/
Dave’s website at https://www.davethomas.net/index.html
Badera Corporation at https://www.bedarra.com/
One of the reasons why it is difficult to work with legacy code is the lack of preserving the contextual reasons for past coding choices.
Today we talk with Chelsea Troy, a Machine Learning Team Lead at Mozilla and a computer science lecturer at the University of Chicago. She tells us about the value of code review in the software-building process and why code review should not be treated solely as a mechanism for approval.
When you finish listening to the episode, visit Chelsea's website at https://chelseatroy.com.
Mentioned in this episode:
Chelsea’s website at https://chelseatroy.com
Mending code while it is running is risky. One wrong move and a small change can bring the entire system to a halt.
Today we talk with Edward Hieatt, Chief Customer Officer at Mechanical Orchard, a GenAI native company that modernizes critical legacy applications without disrupting what they are doing. He tells us how to use AI to identify system dependencies, why it is important to first understand data flow before diving into code, and how to maintain functionality during the modernization process.
When you finish listening to the episode, connect with Edward on LinkedIn.
Mentioned in this episode:
Edward on LinkedIn at https://www.linkedin.com/in/edwardhieatt/
Mechanical Orchard at https://www.mechanical-orchard.com/
AI proves to be great at writing new code, but what are its capabilities when it comes to mending the old one?
Today we talk with Ray Myers, a legacy code expert and sceptical enthusiast for AI. With 16 years of software engineering experience, he focuses on collective lessons learned to improve our existing systems and organizations. He tells us where is the place of AI in legacy code mending, whether AI can provide help when editing existing code, how to train AI with up-to-date coding skills, how to utilize AI when writing tests, and much more.
When you finish listening to the episode, make sure to connect with Ray on LinkedIn, visit his website at https://mender.ai, his YouTube channel Craft vs. Cruft, and take a listen to Empathy in Tech - a new podcast cohosted by Ray and Legacy Code Rocks former cohost, Andrea Goulet!
Mentioned in this episode:
Ray on LinkedIn at https://www.linkedin.com/in/cadrlife/
Craft vs. Cruft at https://www.youtube.com/@craftvscruft8060
Mender website at https://mender.ai
Nopilot.dev at https://nopilot.dev
Empathy in Tech at https://empathyintech.com
Untangler at https://github.com/craftvscruft/untangler
Many of the largest companies rely on third-party code to run critical parts of their software. However, there's often little focus on ensuring the quality of these external dependencies.
Today we speak with Feross Aboukhadijeh, CEO and founder of Socket, a developer-first security platform. Socket helps developers and security teams release software faster and reduce time spent on security busywork. Feross is also a lecturer at Stanford, where he teaches CS233 Web Security. We discuss why the quality of third-party dependencies matters, when to start addressing this issue, how to handle unmaintained dependencies, and what tools are available for managing third-party dependencies.
After listening to the episode, be sure to visit the Socket website, connect with Feross on Twitter, and check out his personal website.
Mentioned in this episode:
Socket at https://socket.dev/
Feross on X at https://x.com/feross
Feross website at: https://feross.org/
How do the love for vintage computers and test automation come together? Can one inspire another and how?
Today we talk with Sophia Mckeever, a software development engineer at Pokemon Company International, a test automation framework architect, and a computer historian. She tells us what led her to collect vintage computers, how they evolved into machines we work on today, and what is the connecting thread between computer history and test automation.
When you finish listening to the episode, connect with Sophia on LinkedIn.
Mentioned in this episode:
Sophia on LinkedIn at https://www.linkedin.com/in/sophiamckeever/
In Kubernetes, security is a joint effort between security engineers and DevOps. A perfect tool to bring these two together is Kubescape, an open-source Kubernetes security project.
Today, we talk with Shauli Rozen, the CEO of ARMO, the company behind Kubescape. Shauli has more than fifteen years of experience in technology, B2B management, and business development. He tells us about the advantages of Kubescape, what it does, and when would you want to use it.
When you finish listening to the episode, connect with Shauli via LinkedIn, visit the ARMO website, and check out Kubescape.
Mentioned in this episode:
Shauli on LinkedIn at https://www.linkedin.com/in/shaulirozen/
ARMO at https://www.armosec.io
Kubescape at https://www.armosec.io/kubescape/
Reviewing logs for security threats and operational functions can be a cumbersome task. Attention is a finite resource, and it is easy to miss something when faced with megabytes of data.
Today, we talk with Joe Gross, the Director of Solutions Engineering at Graylog, a leading centralized log management solution for capturing, storing, and enabling real-time analysis of terabytes of machine data. Joe guides us through SIEM (Security Information and Event Management), revealing the secrets of how the pros find the needles in the haystack.
When you finish listening to the episode, connect with Joe on LinkedIn, check out the Graylog platform, and visit Graylog Open - an online community dedicated to increasing and sharing IT knowledge to solve real-world problems.
Mentioned in this episode:
Joe on LinkedIn at https://www.linkedin.com/in/joe-gross-se/
Graylog at https://graylog.org
Graylog Open at https://graylog.org/products/source-available/
Cyber security is not a core activity of most software development companies. It is an outsourced activity that simply has to be done so that we can deploy our core services.
Today, we talk with Scott McCrady, CEO of SolCyber Managed Security Services and an accomplished international executive with broad experience in sales, business development, and the operations side of a cloud-based and information security-based business. He tells us about the trends in the cybersecurity market and what he expects the future of cybersecurity services to be.
When you finish listening to the episode, connect with Scott on LinkedIn and visit the SolCyber website to check out their services and connect with Scott's team.
Mentioned in this episode:
Scott on LinkedIn at https://www.linkedin.com/in/scottmccrady/
SolCyber at https://solcyber.com
How to set up developers for success? For the longest time, companies left developers to their own devices to figure out the workflows and tools they will be using. As the teams grew, so did their problems due to the lack of established procedures and good practices.
Today, we talk with Ramiro Berrelleza, the CEO and co-founder of Okteto, the leading platform for developer experience automation. Ramiro is a true visionary, continuously searching for new ways to improve the software development process and build a more inclusive tech industry.
When you finish listening to the episode, connect with Ramiro on X and visit Okteto's website where you can get a free trial of their product.
Mentioned in this episode:
Ramiro on X at https://twitter.com/rberrelleza
Okteto at https://www.okteto.com
Back in August 2023, HashiCorp announced that after nine years of Terraform being open source under the MPL license, they were switching it to a non-open source BSL license. This sent shockwaves through the software development community.
Today we talk with Cory O'Daniel, a CEO and co-founder of Massdriver, a company helping improve developers' experience of cloud operations, offering self-service capabilities along with governance and guardrails to developers. Cory is also one of the drivers behind the Open TF initiative in response to Hashicorp's changing their open source licenses from MPL to BSL. He tells us why this switch matters, what to do about it, and how to keep open-source projects sustainable.
When you finish listening to the episode, connect with Cory on LinkedIn, visit Massdriver's website, and check out the Open TF initiative.
Mentioned in this episode
Cory O’Daniel on LinkedIn at https://www.linkedin.com/in/coryodaniel/
Massdriver at https://www.massdriver.cloud
Open TF at https://opentofu.org
Open TF GitHub at https://github.com/opentofu
Simply knowing what is in your software is not any guarantee of safety. We need to know what that software does versus what we expect it to do. We need to know its rules of behavior.
Today, we talk with Andrew Hendela, a founder of Karambit.ai, a company dedicated to automatically detecting malware and securing your software supply chain. Andrew worked for over a decade automating hard cybersecurity problems. He has many years of experience in cybersecurity leadership and deep technical expertise in fields such as malware analysis and automated cyber attribution. He tells us about software bills of behavior and why SBOMs are insufficient to protect your software supply chain from attacks.
When you finish listening to the episode, connect with Andrew on LinkedIn and visit Karambit.ai website.
Mentioned in this episode:
Andrew on LinkedIn at https://www.linkedin.com/in/andrew-hendela/
Karambit.ai at https://karambit.ai
In the age of rising AI, we cannot neglect the topic of the social and political consequences of the code we leave behind. Today, we talk with Amy Newell, a 24-year veteran of the tech industry and an avid activist in issues spanning from local politics to tech. Amy discusses how to engage with emerging technologies, how to use them, and how to create them while being cognisant of the harm we can inadvertently cause along the way. When you finish listening to the episode, visit Amy's website at amynewell.com and check out their newsletter at amywriteswords.com.
Mentioned in this episode
Amy’s website at www.amynewell.com
Amy’s newsletter at www.amywriteswords.com
Amy on LinkedIn at https://www.linkedin.com/in/amynewell/
Automating refactoring and code transformation is a fascinating and efficient way to eliminate technical debt. Today, we talk with Jonathan Schneider, a Co-Founder and CEO of Moderne, Inc., and a former senior Software Engineer at Netflix, where he created Netflix Rewrite - a large-scale automated refactoring tool for Java codebases. Jonathan is also the author of SRE with Java Microservices. Jonathan tells us about the advantages, challenges, and pitfalls of creating automated refactoring tools and how to use them.
When you finish listening to the episode, connect with Jonathan through the Moderne website and grab his book.
Mentioned in this episode:
Jonathan on LinkedIn at https://www.linkedin.com/in/jonkschneider/
Moderne, Inc. at https://www.moderne.io
SRE with Java Microservices at https://www.oreilly.com/library/view/sre-with-java/9781492073918/
Imagine if you could counter ransomware by exploiting it to create a backup of your attacked data for you. Now, that would be disruptive!
Today, we talk with Lance James. James is an experienced cybersecurity specialist with 25 years of experience in the field. Building on his programming, network security, digital forensics, malware research, and counterintelligence experience, Lance tells us how to use disruptive thinking to improve cyber security and predict and counter major cyber threats.
When you finish listening to the episode, connect with Lance on LinkedIn.
Lance on LinkedIn at https://www.linkedin.com/in/unit221b/
Lance’s TedTalk at https://www.ted.com/talks/lance_james_how_attackers_can_use_your_brain_against_you_in_psy_ops
Going from monolith to microservices is one of the most popular topics in software engineering. But jumping the boat without understanding why can be a dangerous (and expensive) adventure.
Today we talk with Nelida Velazquez. Nelida is a senior software engineer at Cobalt, a cyber security company that offers pentest as a service. As a backend developer, she had numerous opportunities to witness ill-informed migrations from monolith to microservices, and she is sharing her experience with us.
When you finish listening to this episode, connect with Nelida on X and visit her blog at https://tolkiana.com.
Mentioned in this episode:
Nelida on X at: https://twitter.com/tolkiana
Nelida’s blog at https://tolkiana.com
Microsoft invited the Legacy Code Rocks team to attend Microsoft Build Conference and gave us access to the studio on the third floor of the Seattle Convention Center. In this episode, we talk with Raymond Chen, a senior software engineer at Microsoft.
Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.
When you finish listening the episode, connect with Raymond on LinkedIn.
Mentioned in this episode:
Raymond on LinkedIn at https://www.linkedin.com/in/raymond-cheng-18460a82/
The Old New Thing at https://devblogs.microsoft.com/oldnewthing/
The Old New Thing (book) at https://www.amazon.com/Old-New-Thing-Development-Throughout/dp/0321440307
Microsoft invited the Legacy Code Rocks team to attend Microsoft Build Conference and gave us access to the studio on the third floor of the Seattle Convention Center. In this episode, we talk with Debbie O’Brien and Max Schmitt, both part of the Microsoft Playwright team..
Playwright is a tool developed by Microsoft that allows developers to automate the testing of web applications.. Playwright's unique feature is its ability to handle multiple browser contexts, making it efficient for testing complex scenarios and improving cross-browser compatibility.
The opinions expressed in this episode are Debbie’s, Max’s, and Scott’s and cannot be attributed to Microsoft or its employees in any way.
Mentioned in this episode:
Playwright at: https://playwright.dev
Microsoft invited the Legacy Code Rocks team to attend Microsoft Build Conference and gave us access to the studio on the third floor of the Seattle Convention Center. In this episode, we talk with Kayla Cinnamon, the first of the three guests we had an opportunity to chat with at the Conference.
Kayla is a Product Manager with Microsoft. She’s currently working on Microsoft Dev Home and helps out the Microsoft PowerToys team. Kayla is also the former product manager of Windows Terminal. She tells us about the maintenance and improvements of the Windows Terminal including the brand-new features added to it, such as tab tear-off.
When you finish listening to the episode, connect with Kayla on Twitter.
The opinions expressed in this episode are Kayla’s and Scott’s and cannot be attributed to Microsoft or its employees in any way.
Mentioned in this episode:
Kayla on Twitter at https://twitter.com/cinnamon_msft
Windows Development Blog at https://blogs.windows.com/windowsdeveloper/
Microsoft Build 2023 at https://news.microsoft.com/build-2023/
How many of your passwords do you actually know? Now, how many of those passwords are already on the black web? We are living in a fascinating age of transition from personalised passwords dependent on text inputs and our memory to more advanced access solutions.
To help us navigate this evolution, we talk with Justin Richer. Justin is a technologist working on a wide variety of projects and problems throughout the internet. Justin is the founder of Bespoke Engineering, an independent consultancy specialising in internet security and identity. He is the author of OAuth in Action along with Antonio Sanso. He is the editor of several security standards including http message signatures, GNAP, OAuth dynamic client registration, OAuth token introspection, and vectors of trust, and has contributed to dozens of others. He previously spent 15 years at the MITRE Corporation contributing to many different efforts, including collaboration, identity, serious gaming, and security research programs.
When you finish listening to the episode, visit the Bespoke Engineering website, grab Justin's and Antonio's book, or connect with Justin on LinkedIn or Twitter.
Mentioned in this episode:
Justin on LinkedIn at https://www.linkedin.com/in/justinricher/
Justin on Twitter at https://twitter.com/justin__richer
Bespoke Engineering at https://bspk.io
OAuth in Action at https://www.manning.com/books/oauth-2-in-action
There is some disconnect between business people and engineers when talking about technical debt. While engineers understand the metaphor as a credit card debt that has to be paid off entirely and as soon as possible, business people see it more as a mortgage paid in small installments over a long period.
Today we talk with Dave Mangot, CEO of Mangoteque and the consultant, author, and speaker helping private equity portfolio companies get good at delivering software. As a former architect at SalesForce, Dave is well-placed to tell us how to bridge the gap between the executives and the engineers and tackle technical debt in a technically sound and economical way.
When you finish listening to the episode, visit the Magoteque website, read the Magoteque blog, and connect with Dave on LinkedIn.
Mentioned in this episode:
Dave on LinkedIn at https://www.linkedin.com/in/dmangot/
Mangoteque at https://www.mangoteque.com
Mangoteque blog at https://blog.mangoteque.com
Dominica DeGrandis, Making Work Visible at https://www.amazon.com/Making-Work-Visible-Exposing-Optimize/dp/1942788150
How to ensure that your code review practices are not just an expensive bottleneck in your team’s productivity but its ultimate superpower?
Today we talk with Michaela Greiler, a Head of Research at DX and the owner of a consultancy and training company, Awesome Code Reviews, focused on helping development teams improve their practices and processes. She tells us when to do code reviews, how to get the most value out of them, how to incentivize meaningful code reviews, and much more.
When you finish listening to the episode, connect with Michaela on Twitter, visit her website, and check out the available workshops and courses at www.awesomecodereviews.com.
Mentioned in this episode:
Michaela on Twitter at https://twitter.com/mgreiler
Michaela’s website at https://www.michaelagreiler.com
Awesome Code Reviews at https://www.awesomecodereviews.com
Characteristics of Useful Code Reviews: An Empirical Study at Microsoft at https://www.microsoft.com/en-us/research/publication/characteristics-of-useful-code-reviews-an-empirical-study-at-microsoft/
What does it mean to build a cost-free feature in the software, and are cost-free features even possible?
Today we talk with Avdi Grimm. Avdi is a software developer with more than twenty years of experience. During his career, Avdi worked on everything from aerospace embedded systems to enterprise web applications. He is the author of Confident Ruby: 32 Patterns for Joyful Coding and a recipient of the Ruby Hero Award. Currently, he spends his time helping developers deepen their coding practice at Graceful.Dev. He tells us about practices that increase software maintenance costs and how to avoid them.
When you finish listening to the episode, connect with Avdi on Twitter or LinkedIn, visit his website, and check out his training courses at Graceful.Dev.
Mentioned in this episode:
Avdi on Twitter at https://twitter.com/avdi
Avdi on LinkedIn at https://www.linkedin.com/in/avdigrimm/
Avdi’s training courses at https://graceful.dev
Avdi’s website at https://avdi.codes
Avdi Grimm, Confident Ruby: 32 Patterns for Joyful Coding at https://www.amazon.com/Confident-Ruby-Patterns-Joyful-Coding-ebook/dp/B00ETE0D2S/?_encoding=UTF8&pd_rd_w=Vvn53&content-id=amzn1.sym.22f5776b-4878-4918-9222-7bb79ff649f4&pf_rd_p=22f5776b-4878-4918-9222-7bb79ff649f4&pf_rd_r=135-0405864-9131715&pd_rd_wg=PIKbJ&pd_rd_r=01acffe0-cfc0-46a5-b78a-9679fb0ebfcb&ref_=aufs_ap_sc_dsk
Every once in a while, it is wise to stop for a second and think about why we do things in a specific way and whether we need to change something. This is where rethinking processes kick in.
Today we talk with Stefanni Brasil, a co-founder of hexdevs, a senior developer at Thoughtbot, and a core maintainer of faker-ruby. Stefanni is also a co-host of the hexdevs podcast, a show helping developers take their Ruby career to the next level.
She tells us about her keen interest in processes, why they matter, and when the time is ripe to reevaluate them.
When you finish listening to the episode, visit Stefanni's blog, check out the Hexdevs website, and listen to the hexdevs podcast.
Mentioned in this episode:
hexdevs website at https://www.hexdevs.com
hexdevs podcast at https://podcast.hexdevs.com
Thoughtbot at https://thoughtbot.com/blog
Marry Lynn Manns, Linda Rising, Fearless Change, Patterns for Introducing New Ideas at https://www.amazon.com/Fearless-Change-Patterns-Introducing-paperback/dp/0134395255
There is an eternal dilemma among software developers - should we try our best to predict the future and build it into our code, or should we just plan for frequent iterations?
Today we talk with Ashu Chatterji, CEO of Caravel Labs and software engineer with 3+ decades of industry experience, working to reimagine IT consulting as an industry incentivized by innovative outcomes in global sustainability and social justice. Ashu built and led a global practice of "player-coach engineers" that helped sell and deliver path-breaking digital transformation engagements and laid the foundation of Agile software development in Microsoft consulting services. He tells us how to build durable software that will withstand the test of time and the ever-changing needs of its users.
When you finish listening to the episode, connect with Ashu on LinkedIn and visit the Caravel Labs website to learn more.
Mentioned in this episode:
Ashu on Linked In at https://www.linkedin.com/in/ashutoshchatterji/
Caravel Labs at https://www.caravellabs.com
To build anew or to rebuild? Many developers have a knee-jerk reaction to start building existing software systems from scratch because they think that is the easiest way forward.
Today, we talk with John Ousterhout. John is the Bosack Lerner Professor of Computer Science at Stanford University. His current research focuses on new software stack layers to allow data center applications to take advantage of communication and storage technologies with microsecond-scale latencies. He is the author of the book "A Philosophy of Software Design", co-creator of the Raft consensus algorithm, and creator of the Tcl scripting language and the Tk toolkit. He tells us about the software designs of legacy systems, why incremental changes of legacy systems are inevitable, and how to resist the impulse of rewriting large software systems from scratch.
When you finish listening to the episode, connect with John on Twitter, read his book, and join his discussion group on software design.
Mentioned in this episode:
John on Twitter at https://twitter.com/johnousterhout?lang=en
John’s profile at Stanford University at https://web.stanford.edu/~ouster/cgi-bin/home.php
A Philosophy of Software design at https://www.amazon.com/Philosophy-Software-Design-John-Ousterhout/dp/1732102201
Raft Consensus Algorithm at https://raft.github.io
TCL/Tk at https://www.tcl.tk/about/language.html
John’s Software Design Discussion Group at [email protected]
Working on legacy code is never easy, but some programming languages make it more enjoyable.
Today, we talk with Richard Feldman, the creator of the Roc programming language, the author of Elm in Action, and the creator of the Frontend Masters courses Introduction to Elm and Introduction to Rust. Richard tells us about the advantages of the Elm, Rock, and Rust languages and why they are more enjoyable to work with than other languages.
When you finish listening to the episode, connect with Richard on Twitter, check out his book and courses, and take a look at the Roc programming language.
Mentioned in this episode:
Richard on Twitter at https://twitter.com/rtfeldman
Roc programming language at: https://www.roc-lang.org
Elm in Action at https://www.manning.com/books/elm-in-action
Richard’s Frontend Masters courses at: https://frontendmasters.com/teachers/richard-feldman/
Product teams are scared of technical debt and refactoring. They press on to make something new, not to question what they have already created. However, the urgency to deliver new products carries the risk of technical debt.
Today, we talk with Andreas Creten, a software engineer turned CTO. Andreas is a co-founder of Made With Love, a company that helps startups and scaleups to get out of technical trouble. Andreas tells us how to work with product teams to address technical debt in the early stages of software development, what tools to use, and what mistakes to avoid.
When you finish listening to the episode, connect with Andreas on Twitter or LinkedIn and visit madewithlove.com.
Mentioned in this episode:
Andreas on Twitter at https://twitter.com/andreascreten
Andreas on LinkedIn at https://www.linkedin.com/in/andreascreten
Made With Love at https://madewithlove.com
How can cooking help you have a better team?
Today, we talk with Kimberly Fox. Kimberly leads virtual and in-person cooking classes and is a recipe developer and writer for her blog, From Market to Table. Building on more than ten years of experience working in STEM and witnessing gender inequalities and micro-cultures in corporate settings, Kimberly developed her signature corporate cooking experiences helping leaders to build more inclusive and diverse teams.
When you finish listening to the episode, start following Kimberly on Instagram and check out her blog, From Market to Table.
In this episode, we are talking with Michael Kennedy, Python expert and the founder and host of two podcasts - Talk Python To Me and Python Bytes. He also runs Talk Python Training which provides online courses for Python developers. Michael tells us about the reception of Python version changes and the most challenging aspects of the transition to ARM processors.
When you finish listening to the episode, connect with Michael on LinkedIn and Twitter, subscribe to his podcasts, and check out his training courses.
Mentioned in this episode:
Michael on Twitter: https://twitter.com/mkennedy
Michael on LinkedIn: https://www.linkedin.com/in/mkennedy
Talk Python To Me Podcast: https://talkpython.fm/
Python Bytes Podcast: https://pythonbytes.fm/
Talk Python Training: https://training.talkpython.fm/
Software security has become one of the most important topics affecting the lives of millions of people.
Today we talk with Rob Dickinson, a co-founder, and CTO of Resurface Labs, a data-driven API security solution. He tells us how can security be woven into the culture of a software team, how to build more secure software, and how to adapt traditional security tools to the challenges of cloud computing.
When you finish listening to the episode, connect with Rob on Twitter and check out resurface.io.
Mentioned in this episode:
Rob on Twitter at https://twitter.com/robfromboulder
Resurface Labs at https://resurface.io
We design software within a particular context. When that context changes, so should the software. But change is often difficult.
Today we talk with João Rosa, an independent consultant focused on helping organizations to make strategic decisions when building software. João is one of the authors of Software Architecture Metrics, the curator of the book Visual Collaboration Tools, and the host of the Software Crafts Podcast.
João tells us how to ensure that our software is evolving with the problems it is designed to solve and how can we evolve along with it.
When you finish listening to the episode, connect with him on Twitter, visit his website and grab his book.
Mentioned in this episode:
João on Twitter at https://twitter.com/joaoasrosa
João’s website at https://www.joaorosa.io
Software Crafts Podcast at https://www.softwarecraftspodcast.com
Software Architecture Matrics at https://www.oreilly.com/library/view/software-architecture-metrics/9781098112226/
Visual Collaboration tools at https://leanpub.com/visualcollaborationtools/
Jurgen Appelo, Management 3.0 at https://www.amazon.com/Management-3-0-Developers-Developing-Addison-Wesley/dp/0321712471
Jurgen Appelo, How to Change the World at https://www.amazon.com/How-Change-World-Management-3-0/dp/9081905112/ref=sr_1_1?crid=20PZS97XNXCVG&keywords=Jurgen+appelo+how+to+change+the+world&qid=1665953837&s=books&sprefix=jurgen+appelo+how+to+change+the+worl%2Cstripbooks%2C318&sr=1-1
If you try to fix broken things in JavaScript, you will probably break the Internet because the entire Internet expects those "mistakes" to be there. Today we talk with David Neal, a family man, geek, musician, illustrator, international speaker, software developer, and Microsoft MVP. David shares the quirkiest things he loves to hate in JavaScript and tells us about the most challenging aspects of working with legacy JS applications.
When you finish listening to the episode, connect with David on Twitter and visit his website at https://reverentgeek.com.
Mentioned in this episode:
David on Twitter at https://twitter.com/reverentgeek
David's website at https://reverentgeek.com
Legacy becomes legacy only when the memory of how the system works is gone. This is where observability kicks in.
Today we talk with Hunter Madison. Hunter is the cloud architect for Instana, an observability platform for IBM. He has a decade of software development experience covering everything from e-commerce to database development. He tells us about the significance of observability for maintenance work, when using observability is most helpful, and how to adapt observability tools to match the needs of the system.
When you finish listening to the episode, you can reach out to Hunter at [email protected].
Mentioned in this episode:
Hunterr’s email at [email protected]
Instana at https://www.ibm.com/cloud/instana
The world as we know it wouldn't exist without open-source software. We have learned to rely and depend on these free products that magically get maintained and updated by communities of volunteers. In our over commercialized world, the very plausibility of projects like Linux, Android, and Apache might seem incomprehensible to some. And yet, they make the world go round.
Today we talk with Naomi Ceder. She helps us understand the longevity and impact of successful open-source projects. Naomi served as the Chair of the Python Software Foundation Board of Directors, and is the recipient of its Distinguished Service Award. Naomi is also a co-founder of the Trans*Code Hack Day - a coding event focused on the trans and non-binary community and its allies.
When you finish listening to the episode, connect with Naomi on Twitter and visit her website at https://www.naomiceder.tech.
Agile has become the mainstream in software engineering, and agile principles should feel natural to legacy code menders.
Today we talk with Michael Toppa, the Senior Engineering manager at FastRuby.io. Michael has been a developer, product owner, and engineering director for over 25 years. He had worked for many organizations, including E-TRADE, Ask.com, the University of Pennsylvania, ActBlue, and many others. He is a passionate advocate of agile and lean practices, and today he tells us how to apply them when working with legacy code.
When you finish listening to the episode, connect with Michael on Twitter or contact him via FastRuby.io.
Imagine if you could refactor legacy code with a single CLI command? Well, you can, at least if you are working with PHP.
Today we talk with Matthias Noback, a long-time web developer and the author of several programming books, including Rector - The Power of Automated Refactoring, which he co-wrote with Tomáš Votruba. Matthias tells us how to use Rector in your daily workflow, how it automates repetitive maintenance and refactoring tasks, and what is the potential of this approach for other programming languages.
When you finish listening to the episode, connect with Matthias on Twitter, visit his website at https://matthiasnoback.nl, and grab his book Rector - The Power of Automated Refactoring.
Mentioned in this episode:
Matthias on Twitter at https://twitter.com/matthiasnoback
Matthias’ website at: https://matthiasnoback.nl
Rector - The Power of Automated Refactoring at https://leanpub.com/rector-the-power-of-automated-refactoring/
The Mikado Method at http://mikadomethod.info
Corgibytes at https://corgibytes.com
There is a lot of buzz around Kotlin, a new Java-based programming language that many think might eventually replace Java. But is all this talk justified, and are the predictions of replacement realistic?
Today we talk with Duncan McGregor and Nat Pryce, the authors of Java to Kotlin. They reveal to us all the advantages of Kotlin, why and when you would want to transition to it from Java, and how to facilitate the refactoring in a painless and efficient way.
When you finish listening to the episode, connect with Duncan and Nat on Twitter and check out their book Java to Kotlin.
Mentioned in this episode:
Duncan on Twitter at https://twitter.com/duncanmcg
Mat on Twitter at https://twitter.com/natpryce
Kotlin to Java, 1st edition at https://www.amazon.com/Java-Kotlin-Duncan-McGregor-ebook/dp/B09CT5KZLM
Kotlin Programming Language at https://kotlinlang.org
Joshua Bloch, Effective Java, 3rd Edition at https://www.amazon.com/Effective-Java-Joshua-Bloch-ebook/dp/B078H61SCH/ref=sr_1_1?crid=3CG84SQ8VU5ET&keywords=effective+java+josh&qid=1653917364&s=digital-text&sprefix=effective+java+josh%2Cdigital-text%2C260&sr=1-1
Corgibytes at https://corgibytes.com
We all want our code to be stable and resilient to future challenges. But we need to strike the right balance between testing our systems and the cost of failure. This is much harder to achieve than it sounds.
Today we talk with Melanie Frank, Managing Vice-President of Cyber Engineering at Capital One. Her teams innovate boldly to secure the enterprise while obsessing over excellence. Before Capital One, Melanie worked at Honeywell at NASA Goddard Space Flight Center, where she tested software that conducted scheduling, command, and control for space network communication satellites.
Drawing from her experience in the aerospace and financial industry, she tells us about the significance of testing and how to do it right for your product.
When you finish listening to the episode, connect with Melanie on LinkedIn.
Mentioned in this episode:
Melanie on LinkedIn at https://www.linkedin.com/in/melanie-frank-06b3675/
Capital One at https://www.capitalone.com
NASA Goddard Space Flight Center https://www.nasa.gov/goddard
Corgibytes at https://corgibytes.com
Empathy in Tech at https://empathyintech.com
We all strive to write an ideal code - easily readable, functional, and clean. We use many tools to achieve this. However, we often forget why we need our code to be tidy.
Today we are talking with Samuel Taggart, President of GDevCon N.A. and the owner of SAS Workshops. Sam is a natural teacher, and he enjoys sharing what he learned with others. We talk with Sam about the tools and methods that make our code clean - refactoring, retrospectives, and style guides. While they are all meant to keep us and our code in check, we forget that these tools and methods also need to be under control. Sam reminds us of a crucial question that will help us do just that.
When you finish listening to the episode, connect with Sam on LinkedIn and Twitter and visit the SAS Workshops website at www.sasworkshops.com.
Mentioned in this episode:
Samuel Taggart on LinkedIn at https://www.linkedin.com/in/taggartsam/
Samuel Taggart on Twitter at https://twitter.com/sasworkshops
GDevCon N.A. at https://gdevconna.org
SAS Workshops at https://www.sasworkshops.com
Mikado Method at https://understandlegacycode.com/blog/a-process-to-do-safe-changes-in-a-complex-codebase/
Legacy Code Rocks - Living Documentation with Cyrille Martraire at https://www.legacycode.rocks/podcast-1/episode/2fd0fdeb/living-documentation-with-cyrille-martraire
Zettelkasten Method at https://zenkit.com/en/blog/a-beginners-guide-to-the-zettelkasten-method/
Corgibytes at https://corgibytes.com
Imagine if you could compare concepts side-by-side between a programming language you know and one you don't. Well, now you can!
Today we talk with Sarah Withee, a polyglot software engineer, international tech speaker, and robot tinkerer. Sarah is also the author of Code Thesaurus, the polyglot developer reference tool. She tells us about the reasons behind the creation of the thesaurus, its continuous development, and what you can do to make the thesaurus even better.
When you finish listening to the episode, connect with Sarah on Twitter and LinkedIn and check out the Code Thesaurus project on GitHub.
Mentioned in this episode:
Corgibytes at https://corgibytes.com
Sarah in Twitter at https://twitter.com/geekygirlsarah
Sarah on LinkedIn at https://www.linkedin.com/in/sarahwithee/
Sarah’s website at https://geekygirlsarah.com
Code Thesaurus at https://codethesaur.us
Code Thesaurus project on GitHub at https://github.com/codethesaurus/
Coders spend most of their time reading rather than writing code. Yet, when you look at the undergraduate programs, boot camps, and conferences, everything seems to be dedicated to code production.
Today we talk with Felienne Hermans. Felienne is an associate professor at the Leiden Institute of Advanced Computer Science at Leiden University and the author of the book The Programmer's Brain. She also developed Hedy, a new programming language that makes it easier for kids to learn textual programming. She tells us how to help young programmers better understand both the code they are working with and their own cognition.
After you finish listening to the episode, connect with Felienne on LinkedIn and Twitter, visit her website at https://www.felienne.com, and make sure to check out her book.
Mentioned in this episode:
Felienne on Twitter at https://twitter.com/Felienne
Felienne on LinkedIn at https://www.linkedin.com/in/felienne
Felienne’s website at: https://www.felienne.com
Hedy Programming language at https://hedycode.com
The Programmer’s Brain at https://www.manning.com/books/the-programmers-brain?utm_source=felienne&utm_medium=affiliate&utm_campaign=book_hermans2_programmers_12_8_20&a_aid=felienne&a_bid=d7c7c538
Empathy in Tech at https://empathyintech.com
Some of the biggest risks for cyber security frameworks come from employees meant to maintain them. The reason for that is simple, and it couldn't be more human - people who don't feel well don't perform well.
Today we talk with Nyota Gordon, the founder, developer, and all-around do-gooder at Transition365, a cyber resiliency firm that helps cybersecurity professionals increase their leadership and life skills.
Nyota digs deep into the intersection between cyber security, resiliency, and personal wellness. She shares with us some mental health strategies that will improve our well-being and, as a consequence, our work performance.
When you finish listening to the episode, make sure to connect with Nyota on LinkedIn.
Mentioned in this episode:
Nyota on LinkedIn at https://www.linkedin.com/in/nyotagordon/
Transition365 at https://transition365.com
Brené Brown, Shame Resilience Theory at https://journals.sagepub.com/doi/10.1606/1044-3894.3483
Symantec Cyber Resiliency White Paper at https://informationsecurity.report/whitepapers/symantec-white-paper-the-cyber-resilience-blueprint-a-new-perspective-on-security
Amy C. Edmondson, The Fearless Organization at https://www.amazon.com/gp/product/B07KLT8RKM/ref=dbs_a_def_rwt_hsch_vapi_tkin_p1_i0
Charles Feltman, The Thin Book of Trust at https://www.amazon.com/Thin-Book-Trust-Essential-Building/dp/0988953862/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=1646648424&sr=1-1
Empathy in Tech at https://empathyintech.com
When you finish listening to the episode, connect with Prabhjot on Twitter and LinkedIn and visit Pyze's website at https://www.pyze.com.
Mentioned in this episode:
Prabhjot on LinkedIn at https://www.linkedin.com/in/psinghsf/
Prabhjot on Twitter at https://twitter.com/psinghsf
Pyze at https://www.pyze.com
Today we talk with Clare Sudbery. Clare is a lead engineer at Made Tech, and she is the host of the Making Tech Better podcast. Clare tells why it is so important to be compassionate to ourselves and shares with us some techniques on how to achieve this.
When you finish listening to the episode, connect with Clare on Twitter and dive deeper into the subject of empathy in tech by joining our new community.
Mentioned in this episode:
Clare on Twitter at https://twitter.com/ClareSudbery
Making Tech Better Podcast at https://podcasts.apple.com/us/podcast/making-tech-better-made-tech/id1558845124
Made Tech Academy at https://www.madetech.com/careers/academy/
Self-Compassion by Dr. Kristin Neff at https://self-compassion.org
Empathy in Tech at https://empathyintech.com
Everyone wants their software system to be resilient - to continue carrying out its mission-critical tasks in the face of disruption or adversity. But resiliency has its cost, and not just in a material sense. With resiliency, your system becomes more complex and harder to maintain. That is why we always have to balance our resiliency requirement with other non-functional requirements around the system.
Today we talk with Briana Augenreich, a Senior Software Engineer at HubSpot. Briana wears many hats in the software engineering world, but she officially calls herself backend and infrastructure engineer. Briana has extensive experience working with large and complex mission-critical systems. This gives her unique insight on finding the right measure while striving for resiliency.
When you finish listening to the episode, connect with Briana on LinkedIn.
Mentioned in this episode:
Briana on LinkedIn at https://www.linkedin.com/in/briana-augenreich-93b4a191/
David Woods, The Theory of Graceful Extensibility at https://www.researchgate.net/publication/327427067_The_Theory_of_Graceful_Extensibility_Basic_rules_that_govern_adaptive_systems
We all get excited about that new, shiny code, but more often than not, our company can live without it. On the other hand, some old and boring lines of code laying around are usually the backbone of our entire business system. And while inventors tend to get all the praise, those who keep the wheels running smoothly are content with, well, the wheels running smoothly.
Today we talk with Tramaine Darby, a Senior Manager of Content, Subscriptions, and Insights Engineering at Red Hat. She tells us how to manage teams responsible for maintaining the systems that make companies run and how to defend these systems from hard-cuts and radical changes.
When you finish listening to the episode, connect with Tramaine on LinkedIn and Twitter.
Mentioned in this episode:
Tramaine on LinkedIn at https://www.linkedin.com/in/tramainedarby/
Tramaine on Twitter at https://twitter.com/tdarby4
Red Hat at https://www.redhat.com/
Making widespread changes to a codebase can be hard! Your team starts a long-lived branch that is difficult to maintain and often impossible to merge; you and your team-mates agree to improve the code slowly over time, but you all forget this agreement, and the improvement never happens. But what if there were a tool that keeps you on track to steadily improve your code without making you feel like losing control over these improvements?
Today we talk with Craig Spence, a senior engineer at Spotify and a creator of Betterer - a tool that helps with incremental improvements of big codebases and legacy systems. Craig tells us how Betterer works, how it differs from other debugging tools, and what are the plans for its improvements.
When you finish listening to the episode, connect with Craig on LinkedIn and Twitter, and be sure to check out Betterer on GitHub.
Mentioned in this episode:
Craig on LinkedIn at https://www.linkedin.com/in/craig-spence/
Craig on Twitter at https://twitter.com/phenomnominal
Betterer on GitHub at https://phenomnomnominal.github.io/betterer/docs/introduction
Touca at https://touca.io
Kubernetes with James Sturtevant
As applications grow to span multiple containers deployed across multiple servers, operating them becomes more complex. While it is possible to maintain these growing applications manually, most will reach out to an orchestrator to help them with the tasks. As applications grow to span multiple containers deployed across multiple servers, operating them becomes more complex. One of such orchestrators is Kubernetes.
Today we talk with James Sturtevant, Principal Software Engineering Lead at Microsoft. James is a coauthor of the book Kubernetes for Windows. He helped blaze the trail for Windows support in upstream Kubernetes for enterprises, and now he helps us understand how Kubernetes work and why you would want to use it.
When you finish listening to the episode, connect with James on LinkedIn, visit SIG-Windows and Kubernetes channels on Slack and grab a copy of Kubernetes on Windows.
Mentioned in this episode:
James on LinkedIn at https://www.linkedin.com/in/jamessturtevant/
Jay Vyas, James Sturtevent, Kubernetes on Windows, at https://www.manning.com/books/kubernetes-on-windows
SIG-Windows Channel on Slack at https://kubernetes.slack.com/?redir=%2Fmessages%2Fsig-windows
Kubernetes Channel on Slack at https://slack.k8s.io
The power of software is enormous, but the code can only be as good as the humans who write it. Despite popular belief, "being good" has nothing to do with character predisposition. It is a product of an intentional effort to nurture care and compassion.
Today we talk with Liz Acosta, a software engineer and a developer advocate at Stacklet. Liz's past professions as a copywriter, social media manager, and odd job freelancer give her a unique perspective on software development and enables her to help teams collaborate with empathy.
When you finish listening to the episode, connect with Liz on LinkedIn or find her on Stacklet.
Mentioned in this episode:
Liz on LinedIn at https://www.linkedin.com/in/lizacostalinkedin/
Liz on Stacklet at https://stacklet.io/blog/author/liz-acosta
Exercism at https://exercism.org
Empathy in Tech at https://empathyintech.com
Building useful software requires more than just knowing how to write code. It demands curiosity to understand the problem which the software is supposed to resolve. It also requires the willingness to understand the people - not only those who will use it but also those who are building this software with you!
Today we talk with Dawn Ahukanna, the design principal and front-end architect at IBM. She leads an integrated and consistent user-focused design across enterprise software focused on data analytics and cognitive user experiences. She shares the methods and the tools she uses when figuring out how people work - an essential piece of knowledge if you want to create the best user experience.
When you finish listening to the episode, make sure to connect with Dawn on Twitter and LinkedIn.
Mentioned in this episode:
Dawn on Twitter at https://twitter.com/dawnahukanna
Dawn on LinkedIn at https://www.linkedin.com/in/dawnahukanna
Dawn’s website at http://dahukanna.net
Working together in a team requires a lot of emotional intelligence, adaptability, and empathy. Bringing two teams working together after acquisition and a merger might seem like requiring superpowers on top of that.
Today we talk with Matt Dixon, the founder, and CEO of Front Range Systems. Matt is a tech executive helping newly acquired technology businesses create a unified culture within their workplaces. Matt gives us a sneak-peak into his practices of helping teams develop a growth mindset, adapt to new technological challenges, and become high-performing.
When you finish listening to the episode, check out the Front Range Systems website at https://frontrangesystems.com, and connect with Matt on Twitter.
TypeScript has been around for quite a while, and its popularity speaks for itself. It has never been more important to understand how to gradually and sustainably shift to TypeScript within the existing code-base.
Today we talk with Sam Lanning, an independent software contractor in the humanitarian sector with many years of experience at GitHub and Semmle. Sam's vast experience in using TypeScript to speed up coding, eliminate debugging, and reduce technical debt helps us see the benefits of this popular programming language and foresee how to transition to it.
When you finish listening to the episode, find Sam on GitHub and connect with them on Twitter and LinkedIn.
Mentioned in this episode:
Sam on Github at https://github.com/s0
Sam at LinkedIn at https://uk.linkedin.com/in/smlanning
Sam at Twitter at https://twitter.com/samlanning
TypeScript at https://www.typescriptlang.org
We often use real-life metaphors to make software development concepts more approachable and understandable, especially for the people just entering the field. Sometimes, however, the reverse approach could help a seasoned coder to cope with the real world.
Today we talk with Casey Watts, the author of Debugging Your Brain, a clear applied psychology, and a concise self-help book. The human brain is buggy, just as any legacy code is. Casey tells us about techniques that can help us refactor our thinking, speed up our thought processes and ultimately debug our brains.
When you finish listening to the episode, connect with Casey on LinkedIn and Twitter, visit his website at https://www.caseywatts.com and https://www.debuggingyourbrain.com, and check out his book Debugging Your Brain.
Mentioned in this episode:
Casey on LinkedIn at https://www.linkedin.com/in/caseywatts/
Casey on Twitter at https://twitter.com/heycaseywattsup
Debugging Your Brain at https://www.amazon.com/Debugging-Your-Brain-Casey-Watts/dp/0578755033?
Debugging Your Brain Website at https://www.debuggingyourbrain.com
Casey’s Website at https://www.caseywatts.com
Cognitive distortions at https://www.debuggingyourbrain.com/distortions/
Many programming concepts seem too complex and intimidating to outsiders. That is perhaps the main reason why writing code remains such an exclusive profession, even in the age where virtually everything depends on a written code! But does everything have to be so complicated?
Today, we talk with Sy Brand, Microsoft C++ Developer Advocate, and a specialist for compilers and debuggers for embedded accelerators. Sy is also known for their YouTube Channel - Computer Science with Sy's Cats - where they explain programming and computer science concepts with household objects and cats. After watching only a few of Sy's videos, you will feel that programming can, and should, be much more approachable and inclusive.
When you finish listening to the episode, connect with Sy on Twitter, start following their YouTube channel, and check out one of their live coding sessions at Twitch.
Mentioned in this episode:
Sy Brand on Twitter at https://twitter.com/TartanLlama
Computer Science with Sy’s Cats at https://www.youtube.com/c/SyBrandPlusCats/featured
Sy Brand on Twitch at https://www.twitch.tv/tartanllama
Ivan Čukić, Functional Programming in C++ at https://www.amazon.com/Functional-Programming-programs-functional-techniques/dp/1617293814
Writing Error Messages for Humans at https://www.flutterwave.design/writing-error-messages-for-humans/
Imagine if you could perform static analysis, find bugs, and enforce code standards in more than seventeen languages with a single tool. Imagine if you could scan your code with more than 1,000 community pre-written rules and if you could easily add your own rules to match your code perfectly. Imagine if you could then flag the issues and get results in pull requests, Slack, or anywhere else without as much as a click of a mouse.
Well, it appears that you can do all of this and more. Today we talk with Isaac Evans, an MIT alumnus, a former computer scientist at the US Department of Defence, and a founder and CEO of r2c. His company, r2c, stands behind Semgrep, a lightweight, offline, open-source, static analysis tool that profoundly improves software security and reliability to safeguard human progress.
When you finish listening to the episode, see how Sengrep can improve your code at https://semgrep.dev, or visit https://r2c.dev if you need enterprise solutions for large businesses.
Mentioned in this episode:
Isaac Evans on LinkedIn at https://www.linkedin.com/in/isaacevans/
Semgrep at https://semgrep.dev
r2c at https://r2c.dev
Brian Foote, Joseph Yoder, The Selfish Class at http://www.laputan.org/selfish/selfish.html
Richard Dawkins, The Selfish Gene at https://www.amazon.com/Selfish-Gene-Anniversary-Landmark-Science-dp-0198788606/dp/0198788606/ref=dp_ob_title_bk
Many IT industry giants (including Google, Facebook, Microsoft, Uber, Airbnb, and Twitter) employ gigantic monorepos to scale build systems and version control software. Although only recently named, monorepos have been around for several decades.
Today we talk with Darko Fabijan. Darko is the co-founder of Semaphore CI, where he and his team explore new tools and ideas that improve developers’ lives. We dive deep into the benefits and challenges the transition to and utilization of monorepos can bring to your workflow and software development practice.
When you finish listening to the episode, connect with Darko on Twitter and visit the Semaphore CI website at https://semaphoreci.com, where you will find great solutions for decluttering your workflow.
Mentioned in this episode:
Darko on Twitter at https://twitter.com/darkofabijan
Semaphore CI at https://semaphoreci.com
A big part of dealing with legacy systems is not on the level of software architecture but interior design. The code needs to be welcoming for people who use it and maintain it, free of clutter, clean and tidy.
Today we talk with Ester Daniel Ytterbrink. Ester Daniel is a coder who likes to think about how people work as a group to create great software sustainably. They have a blog (Chocolate Driven Development) where they write about software development with human interaction and psychology in focus. They tell us about the main principles of software interior design, guiding you to build more comfortable, functional, and efficient code.
When you finish listening to the episode, visit Ester Daniel's blog, where you can connect with them and get some great ideas.
Mentioned in this episode:
Ester Daniel on Twitter at https://twitter.com/edytterbrink
Chocolate Driven Development Blog at https://www.chocolatedrivendevelopment.com
Douglas Squirrel, et al, Agile Conversations: Transform your Conversations, Transform Your Culture at https://www.amazon.com/Agile-Conversations-Transform-Your-Culture/dp/B086D5RBWS/
Don Norman, The Design of Everyday Things at https://www.amazon.com/Design-Everyday-Things-Revised-Expanded/dp/0465050654/
The first step to mastering any skill is demystifying it. However, this is not easy to achieve on your own, and often masters of the craft around you are not as helpful as you would hope. It is easy to forget how it is to be a novice once we achieve expertise in some field, and this leads many of us to lose the ability to introduce the craft to the incoming forces patiently and in simple terms.
Today we talk with Sharon DeCaro. Sharon has been working as a software engineer for five years. However, this wasn't her career choice when she enrolled in the mathematics and music program at her university. Listen to Sharon as she tells us about her journey into the software industry, the hurdles she encountered, and the ways she overcame them to become a software engineer.
When you finish listening to this episode, make sure to connect with Sharon on LinkedIn.
Mentioned in this episode:
Sharon on LinkedIn at https://www.linkedin.com/in/sjdecaro/
Andrea Goulet, Carmen Shirkey Collins, Empathy Driven Software Development at https://www.empathyintech.com
We talk a lot about software on this show. But in this episode, we steer away from our usual practice and look at one piece of hardware that every computer user is in touch with the most. Yes, it is a keyboard!
Today we talk with Jesse Vincent - a software developer turned hardware manufacturer. Jesse is best known for his work with the Pearl programming language and the ticket-tracking system Request Tracker. However, since he invented one of the most comfortable keyboards on the market - now sold-out Keyboardio Model 01 - many associate him with hardware production.
Jesse doesn't hold back. He reveals many secrets of modern hardware manufacturing and how to use your software experience to organize your production process.
When you finish listening to the episode, make sure to support the production of the new Keyboardio Model 100 on Kickstarter (ends July 31, 2021), connect with Jesse on Twitter, and visit Keyboardio website at https://shop.keyboard.io.
Mentioned in this episode:
Jesse Vincent Wikipedia page at https://en.wikipedia.org/wiki/Jesse_Vincent
Jesse Vincent on Twitter at https://twitter.com/obra
Keyboardio Model 100 Kickstarter Campaign https://www.kickstarter.com/projects/keyboardio/model-100?ref=104lo3
Keyboardio website at https://shop.keyboard.io
TRON TK1 keyboard at http://xahlee.info/kbd/TRON_keyboard.html
FingerWorks TouchStream at https://ergocanada.com/products/keyboards/fingerworks_lp.html
Microsoft Natural Ergonomic Keyboards at https://en.wikipedia.org/wiki/Microsoft_ergonomic_keyboards
We seldomly dive deep into discussing any particular programming language on this show. However, today we are making an exception, and we talk with Chrissy LeMaire about PowerShell. Chrissy is a GitHub star, double Microsoft MVP, and a co-author of the book Learn dbatools in a Month of Lunches. She is currently a blue teamer who uses PowerShell to make the world more secure. Chrissy shares some neat PowerShell secrets that transform this framework from an ideal programming language for beginners to a well-rounded and powerful developing tool.
When you finish listening to the episode, connect with Chrissy on Twitter, get dbatools at https://dbatools.io and check out Chrissy’s book Learn dbatools in a Month of Lunches.
Mentioned in this episode:
Chrissy on Twitter at https://twitter.com/cl
dbatools at https://dbatools.io
Chrissy LeMaire, Rob Sewell, Jess Pomfret, Cláudio Silva, Learn dbatools in a Month of Lunches at https://www.manning.com/books/learn-dbatools-in-a-month-of-lunches
Steve McConnell, Code Complete: A Practical Handbook of Software Construction, 2nd Ed, at https://www.amazon.com/s?k=the+code+complete&ref=nb_sb_noss_2
We behave with the cloud as a subset of technology like a teen who just learned how to drive. We are at the point where capabilities have far exceeded the ability to comprehend consequences. We have the power in our hands to change our life and other people's lives both in positive and negative ways. However, we lack the experience to foresee these results.
Today we talk with Bobby Allen, Vice President of Strategic Alliances at Turbonomic and cloud therapist. He helps us understand the advantages and pitfalls of the cloud and teaches us how to assess our own needs and the risks we might face while using the technology.
When you finish listening to the episode, make sure to connect with Bobby on Twitter and LinkedIn, and visit his website at https://bobbyjallen.me.
Mentioned in this episode:
Bobby on LinkedIn at https://www.linkedin.com/in/ballen-clt/
Bobby on Twitter at https://twitter.com/ballen_clt
Bobby’s website at https://bobbyjallen.me
Turbonomic at https://www.turbonomic.com
Technical debt is a recurring theme of this show. We talk about it almost as often as it pops out in any legacy code! Today we go back to discussing technical debt with Jim Humelsine. Jim has been a software development professional since 1985. Jim's passion is design patterns, but he recently expanded his interest to software practices and procedures. Jim is also an economics and especially game theory enthusiast, and on top of everything, he is a trombone player! We dive deep with Jim into the economics of technical debt, the root causes of its ever-presence, and the ways to get rid of it. When you finish listening to the episode, make sure to connect with Jim on Twitter and LinkedIn.
Mentioned in this episode:
Jim on Twitter at https://twitter.com/jhumelsine
Jim on LinkedIn at https://www.linkedin.com/in/james-humelsine-16b0749/
Freakonomics podcast at https://freakonomics.com/archive/
Many legacy systems lack adequate test coverage. They might not have much coverage at all, or the existing tests might be inefficient or paint a wrong picture about the stability of the system. Enhancing test coverage in legacy applications is a complex task with many pitfalls.
Today we talk with Floyd Hilton, a software developer with many years of experience in multiple domains, including semiconductor manufacturing, financial aid delivery, energy conservation, and healthcare. He co-founded the Augusta Polyglot Group, which meets once a month to teach and learn new languages. Floyd's current interest is in finding the best strategies for adding testing to existing software systems. He shares with us some of these strategies and the tools he uses when beefing up test coverage in legacy systems.
When you finish listening to the episode, make sure to connect with Floyd on Twitter and LinkedIn, and visit his website at http://www.floydhilton.com,
Mentioned in this episode:
Floyd on Twitter at https://twitter.com/fhilton
Floyd on LinkedIn at https://www.linkedin.com/in/floydhilton/
Floyd’s website at http://www.floydhilton.com
Augusta Polyglot Group at https://augusta-polyglot.github.io
DbUp at https://dbup.readthedocs.io/en/latest/
Cypress at https://www.cypress.io
There has been a noticeable uptick in the adoption of public cloud providers. At the same time, the voices advocating for the abandonment of traditional data centers are getting louder. Keeping servers around to keep running their business might be overkill for many companies. For others, it could be the only reasonable choice. And even if you decide to transition to the cloud, how do you know which of its features you need?
Today we talk to Sarah Musick, the systems engineering principal at CloudGenera, a workload placement decision engine, where she spearheads the onboarding efforts with enterprise customers. Sarah is a big believer in the targeted adoption of the public cloud in tech - the approach based on the understanding that the cloud should serve the application rather than the other way around. She helps us understand how to assess our data management needs and how to choose the options that best serve those needs.
When you finish listening to the episode, make sure you connect with Sarah on LinkedIn and visit CloudGenera website.
Mentioned in this episode:
Sarah Musick on LinkedIn: https://www.linkedin.com/in/sarahlmusick/
CloudGenera Website: https://go.cloudgenera.com
Common Lisp was written in the 80s as a kind of an amalgam of the existing Lisps at the time. To make sure the Common Lisp would stay relevant, it was made backward compatible so that existing legacy systems could run on it. One thing in common to these big old systems like Lisp is a lot more mutation, and the cool thing about this legacy is that it has a baked experience – it learns and it has learned.
Today we talk to Eric Normand, an experienced functional programmer, trainer, speaker, and consultant on all things functional programming. He started writing Lisp in 2000 and is now a Clojure expert, producing the most comprehensive suite of Clojure training material at purelyfunctional.tv. He also consults with companies to use functional programming to better serve business objectives.
We talk about problems in legacy code basis utilizing functional programming, the abstract nature of programs, the wisdom of Lisp, and more.
When you’re done listening to the episode, make sure to check out Eric’s Clojure training and his podcast, as well as connect with him on LinkedIn.
Mentioned in this episode:
Eric Normand on LinkedIn: linkedin.com/in/eric-normand-61a70366/
Eric Normand’s podcast: Lispcast.com
Eric Normand’s websites: https://lispcast.com and https://purelyfunctional.tv
Eric Normand’s Clojure training: Purelyfunctional.tv
Eric Normand’s book Grokking Simplicity: https://www.manning.com/books/grokking-simplicity?utm_source=lispcast&utm_medium=affiliate&utm_campaign=book_normand_grokking_8_20_19&a_aid=lispcast&a_bid=72596968Use discount code TSSIMPLICITY for 50% off.
Software engineers perceive that technology advances in an orderly, linear fashion. This makes the novelties very attractive. However, the reality is that we tend to go through technology in cycles. Recognizing this is crucial for understanding how to make the right technical decisions while preserving the value of the old technology.
Is it better to build from scratch or build on what you have? When do you invest in something brand new, and when do you lean onto the foundations of the existing expertise?
Today we search for answers to these questions with Marianne Bellotti, the author of Kill It with Fire –Manage Aging Computer Systems (and Futureproof Modern Ones). Marianne is internationally known for tackling some of the oldest, messiest, and most complicated computer systems in the world, and she currently runs identity and access control at Rebellion Defense.
When you finish listening to the episode, make sure you follow Marianne on Twitter and get a copy of her book.
Mentioned in this episode:
Marianne Bellotti on Twitter at https://twitter.com/bellmar
Marianne Bellotti, Kill It with Fire –Manage Aging Computer Systems (and Futureproof Modern Ones) at https://www.amazon.com/Kill-Fire-Manage-Computer-Systems/dp/1718501188
Rebellion Defence at https://rebelliondefense.com
For most teams, dependency freshness is a pain that is often ignored. “If it works –don’t change it” is the prevailing attitude, but as a lot of applications become web-focused, dependencies inevitably start gaining traction. Why does dependency freshness matter, and how do we proactively stay on top of it?
Today we present Freshli - the dependency freshness tool we have been working on. The microphone goes to the team involved: Cassandra Carothers, Technical Sales Manager here at Corgibytes, and Catalina De la Cuesta, Chris Cumming, and Dave Farinelli, our Lead Code Whisperers. The Freshli tool captures historical libyear metrics about a project's dependencies. Freshli stays alongside your codebase and works together with code quality tools, showing where your project is going overtime. It is designed to work with multiple languages, and it currently supports Ruby, Perl, Python, PHP, and .NET.
If you are interested to know more about Freshli, make sure you reach out to our team on LinkedIn after you’ve listened to the episode.
Mentioned in this episode:
Cassandra Carothers at linkedin.com/in/cassandramcarothers/
Catalina De la Cuesta at linkedin.com/in/catalinadelacuesta/
Dave Farinelli at linkedin.com/in/dfar-io/
Chris Cumming at linkedin.com/in/chris-cumming/
Libyear at https://libyear.com
Corgibytes at https://corgibytes.com
Freshli at GitHub at https://github.com/corgibytes/freshli-lib
When developers talk about what they find exciting, they usually talk about new things. Very little content is about the actual job, about working in the existing system. When they do talk about legacy, they usually focus on how much they hate it. Where does that animosity come from and how do we confront it?
Today we get to the bottom of it with Barry O’Sullivan. Barry is a modern web development contractor with 15 years of experience in legacy web applications. He is the founder of DDIE and the co-organizer of PHP Dublin. We discuss the fear response to legacy code, the mocking of those who created it, and the ignorance of those who are quick to mock. We look at the common mistakes that lead to the fear of legacy code and discuss some common-sense solutions to overcome what is essentially a social and skill-based problem with technology.
When you are done listening to the episode, make sure you connect with Barry on LinkedIn, and follow him on Twitter and Github.
Mentioned in this episode:
Barry O’Sullivan on LinkedIn: https://www.linkedin.com/in/barryosu/
Barry O’Sullivan on Twitter: https://twitter.com/barryosull
Barry O’Sullivan on Github: https://github.com/barryosull
Barry O’Sullivan on the web: https://barryosull.com
PHP Dublin: https://www.meetup.com/PHP-Dublin/
Matthew Stewart, The Management Myth: Debunking Modern Business Philosophy: https://www.amazon.com/Management-Myth-Debunking-Business-Philosophy/dp/0393338525
We like to think that technology is our objective and neutral assistant, our faithful lieutenant constrained with science and armed with cold, hard data. But this is incorrect. Technology reflects the attitudes of humans who created it. It contains our biases and our preconceived notions. It reflects who we are while distorting our perception of who we think we are, transforming our impulse for binary simplifications into the strict binary framework of ones and zeroes. Inevitably, this leaves some folks out.
Today we talk with Erin White, Head of digital engagement at Virginia Commonwealth University Libraries in Richmond, VA, on their fascination with the intersections of equity, justice, and computer systems. Erin tells us how technology can both advance and hamper the achievements of social equality, and how inclusive software design can help us realize our own biases and remove them from our code.
After you finish listening to the episode, make sure you connect with Erin on LinkedIn and Twitter, where they write about technology and progressive politics.
Mentioned in this episode:
Erin on LinkedIn: https://www.linkedin.com/in/erinrwhite/
Erin on Twitter: https://twitter.com/erinrwhite
Erin White, Trans-Inclusive Design at https://alistapart.com/article/trans-inclusive-design/
Many analytical models can help you to measure some aspects of the quality of your codebase. However, only a combination of these models can give you complete information about your code's integrity and the real-world necessity for its improvement. Today we talk with Dan Sturtevant, the CEO of Silverthread Inc and a Technology and Operations Management Researcher at the Harvard Business School. Dan shares with us the solutions for diagnosing software health and aligning it with business performance goals and desired financial outcomes.
When you finish listening to the episode, make sure to connect with Dan on LinkedIn, visit Silverthread's website at https://www.silverthreadinc.com, and check out their CodeMRI diagnostics tool.
Mentioned in this episode:
Dan on LinkedIn at: https://www.linkedin.com/in/dansturtevant/
Silverthread, Inc at: https://www.silverthreadinc.com
CodeMRI at: https://www.silverthreadinc.com/codemri-diagnostics
Carliss Y. Baldwin, Design Rules, Vol. 1: The Power of Modularity at: https://amzn.to/39XSGA3
Ruby on Rails is a fast-moving community and it is not always easy to keep up with it. Given the efficiency of the framework, however, it is well worth trying. Today we talk to Robby Russell, creator of Oh My Z Shell, host of Maintainable software podcast, and CEO of Planet Argon – a software consultancy that helps organizations improve their existing Ruby on Rails applications. We chat with Robby about his own beginnings, the creation of the Oh My Z Shell, the early days of Ruby on Rails, and how to keep up with the fast-moving Rails community. When you finish listening to the episode, connect with Robby on Twitter and LinkedIn, and make sure to start following his podcast Maintainable.
Mentioned in this episode:
Robby Russell on Twitter at https://twitter.com/robbyrussell
Robby Russell on LinkedIn at linkedin.com/in/robbyrussell/
Robby Russell on GitHub github.com/robbyrussell
Planet Argon at planetargon.com
Oh My Z Shell at ohmyz.sh
Oh My Z Shell on Twitter at twitter.com/ohmyzsh
Maintainable podcast at https://maintainable.fm
Security is a big topic with many facets, and this is especially true for microservices. Microservices deployment has been around for some time, but security didn’t get much attention from developers – they simply trusted the network. Today we talk with Prabath Siriwardena and Nuwan Dias, authors of Microservices Security in Action* and deputy CTOs of the WSO2, on the state of microservices security today. We dig deep into the issues of infrastructure, available tools, procedures, and challenges in predicting the threats and integrating security patches into microservices.
When you finish listening to the episode, make sure to connect with Prabath and Nuwan on LinkedIn and Twitter, and book their services at https://wso2.com with a steep 35% discount with the code podlegacy20. And don’t miss the opportunity to read their book Microservices Security in Action for free with the codes provided below (codes expire in March 2021).
Mentioned in this episode:
Prabath Siriwardena on LinkedIn at https://www.linkedin.com/in/prabathsiriwardena/
Prabath Siriwardena on Twitter at https://twitter.com/prabath
Nuwan Dias on LinkedIn at https://www.linkedin.com/in/nuwandias/?originalSubdomain=lk
Nuwan Dias on Twitter at https://twitter.com/nuwandias
Read Prabath Siriwardena and Nuwan Dias, Microservices Security in Action at https://www.manning.com/books/microservices-security-in-action?query=nuwan for free with codes:
legmic-1CF1
legmic-3460
legmic-13D3
legmic-511B
legmic-EEE7
Use WSO2 services at https://wso2.com with 35% discount with the code podlegacy20
* Heads up! If you purchase the book through the link above, we will get a small commission which helps us continue to bring quality content to our Legacy Code Rocks! community. You won’t pay a penny more, we receive a small kickback, and you’re supporting our friends who wrote the book. Everybody wins!
In the last episode of 2020, we took a stroll through the little known corridors of coding history with Clive Thompson. Clive is a technology and science journalist for the New York Times Magazine, Wired, Smithsonian, and many other outlets. In his new book Coders: The Making of a New Tribe and the Remaking of the World*, he explores how computer programmers - the people who are increasingly running the world - think and what are their plans for changing the way WE work, think and live. In this episode, he tells us incredible stories of coding past and present, giving us a glimpse into how the future is made. When you finish listening to this episode, connect with Clive on Twitter, visit his website, and enjoy reading his books*.
Mentioned in this episode:
Clive on Twitter: https://twitter.com/pomeranian99
Clive’s website: https://www.clivethompson.net/
Clive Thompson, Coders: The Making of the New Tribe and the Remaking of the World at https://amzn.to/34Kf3pR*
About Betty Holberton at https://en.wikipedia.org/wiki/Betty_Holberton
About Margaret Hamilton at https://en.wikipedia.org/wiki/Margaret_Hamilton_(software_engineer)
Michael Abrash, Graphics Programming Black Book at https://amzn.to/3mSxoXV*
BBC micro:bit at https://microbit.org/
Jordan Mechner, The Making of Prince of Persia at https://amzn.to/2KK7hoZ*
* Heads up! If you purchase the book through the link above, we will get a small commission which helps us continue to bring quality content to our Legacy Code Rocks! community. You won’t pay a penny more, we receive a small kickback, and you’re supporting our friends who wrote the book. Everybody wins!
Even before the COVID-19 pandemic changed the way we work and communicate, some people expected remote work to become more popular. The thought was, however, that the transition will be done by choice, not by force!
Today we talk with Johanna Rothmann, a management consultant, speaker, and author of over a dozen reference books on management, agile, team-building, and software development. Just a year before the first lockdown orders descended on the cities around the world, Johanna published with Mark Kilby a fantastic guide on managing remote teams: From Chaos to Successful Distributed Agile Teams: Collaborate to Deliver*.
Johanna is our dear guest and a great friend of the show. We invited her today to celebrate together the fifth anniversary of our community. But we couldn't miss the opportunity to pick her brain and seek some advice on remote working and how to manage it.
When you finish listening to the episode, connect with Johanna on Twitter and LinkedIn, check out her website, and read From Chaos to Successful Distributed Agile Teams* and other Johanna's books*.
Mentioned in this episode:
Johanna on Twitter at https://twitter.com/johannarothman
Johanna on LinkedIn at https://www.linkedin.com/in/johannarothman/
Johanna’s website at https://www.jrothman.com
From Chaos to Successful Distributed Agile Teams: Collaborate to Deliver at https://amzn.to/2K11SJO*
Johanna’s books at https://amzn.to/3nlcfGR*
Legacy Code Rocks: Project Management with Johanna Rothman at https://www.legacycode.rocks/podcast-1/episode/faf2a514/project-management-with-johanna-rothman
* Heads up! If you purchase the book through the link above, we will get a small commission which helps us continue to bring quality content to our Legacy Code Rocks! community. You won’t pay a penny more, we receive a small kickback, and you’re supporting our friends who wrote the book. Everybody wins!
How has COVID-19 affected legacy code based systems, and what do we do to address the issue? Today we talk with Joao-Pierre Ruth, a technology journalist at InformationWeek where he covers DevOps and cloud computing. Joao-Pierre gives us his insights on the topic that inspired his recent article “COBOL, COVID-19 and Coping with Legacy’s Tech-debt”. After listening to the episode, connect with Joao-Pierre on LinkedIn and Twitter, and check out his articles for InformationWeek.
Mentioned in this episode:
Joao-Pierre on LinkedIn at https://www.linkedin.com/in/joaopierre/
Joao-Pierre on Twitter at https://twitter.com/jpruth
Joao-Pierre’s author profile on InformationWeek: https://www.informationweek.com/author-bio.asp?author_id=5108&
InformationWeek at https://www.informationweek.com
Joao-Pierre Ruth, COBOL, COVID-19, and Coping with Legacy Tech Debt at https://www.informationweek.com/strategic-cio/security-and-risk-strategy/cobol-covid-19-and-coping-with-legacy-tech-debt/a/d-id/1337516
Knowing how to prioritize tasks and how to eliminate unnecessary assignments is a crucial skill for successful project management. The more complicated project is, the less obvious its priorities are. If only there were a tool that could help us navigate through this complexity. Today we talk with Jason C. McDonald, CEO, and co-founder of MousePaw Media, about Quantified Task Management, the tool that does exactly that. When you finish listening to the episode, connect with Jason on LinkedIn and Twitter, visit his website at https://codemouse92.com, and pre-order his book Dead Simple Python: Idiomatic Python for Impatient Programmers.
Mentioned in this episode:
Jason on Twitter at https://twitter.com/codemouse92?lang=en
Jason at LinkedIn at https://www.linkedin.com/in/codemouse92
MousePaw Media at https://mousepawmedia.com
Quantified Task Management at https://standards.mousepawmedia.com/qtm.html
Jason C McDonald, Dead Simple Python: Idiomatic Python for Impatient Programmers at https://amzn.to/3b2XenX
Scott Rosenberg, Dreaming in Code at https://amzn.to/32RvG1L
Heads up! If you purchase the books through the link above, we will get a small commission which helps us continue to bring quality content to our Legacy Code Rocks! community. You won’t pay a penny more, we receive a small kickback, and you’re supporting our friends who wrote the book. Everybody wins!
We often talk about the makers and menders dichotomy on this show. But we rarely dived deep into the dynamics of collaboration between these two groups of creatives. Today we talk with Brandon Lewis and Luke Rabin, co-founders of BLDR, a digital agency specialized in creating UI/UX designs, technical docs, and developer teams. Building on the immense contributions of behavioral economics, Brandon and Luke talk about the ways of bringing makers and menders together and ensuring that their collaboration is fruitful and lucrative. When you finish listening to the episode, make sure to connect with them on LinkedIn, and visit their website at https://www.startwithbldr.com.
Mentioned in this episode:
Brandon on LinkedIn at: https://www.linkedin.com/in/brandon-lewis-design/
Luke on LinkedIn at: https://www.linkedin.com/in/lukerabin/
BLDR at: https://www.startwithbldr.com
As menders working with legacy code, we are focused on identifying and reducing technical debt. But how much easier this task would be if the creator of the code or the previous maintainer left us some breadcrumbs to follow? A simple note on the rationale for a particular decision they have made or a warning about interconnected lines of code would take us a long way! Today we talk with Andrea Goulet, co-founder and Chief Strategy Officer of Corgibytes. Her empathy-driven approach to software development earned her recognition as one of the Top Ten Professionals in Software Under 35 by LinkedIn. She tells us about this lack of communication in software development, the phenomenon she calls the communication debt, and how its reduction can make the software more robust and its maintenance more efficient. When you finish listening to the episode, connect with Andrea via LinkedIn, contact her via Corgibytes' website, and check out her LinkedIn courses: Agile Software Development: Remote Teams and Creating an Agile Culture.
Mentioned in this episode:
Andrea on LinkedIn at https://www.linkedin.com/in/andreamgoulet/
Andrea on Twitter at https://twitter.com/andreagoulet
Corgibytes website at https://corgibytes.com
Andrea Goulet, Agile Software Development: Remote Teams at https://www.linkedin.com/learning/agile-software-development-remote-teams
Andrea Goulet, Creating an Agile Culture at https://www.linkedin.com/learning/agile-software-development-creating-an-agile-culture
Changelog podcast with Katrina Owen at https://changelog.com/podcast/108
Katrina Owen, Exorcism.io at https://exercism.io
Indi Young, Practical Empathy at https://amzn.to/3jkDlLH*
Legacy Code Rocks with Indi Young at https://www.legacycode.rocks/podcast-1/episode/270edc0e/practical-empathy-with-indi-young
Ward Cunningham on technical debt at https://youtu.be/pqeJFYwnkjE
Legacy Code Rocks with Arlo Belshee at https://www.legacycode.rocks/podcast-1/episode/c240c45d/naming-with-arlo-belshee
Daniel Kahneman, Thinking Fast and Slow at https://amzn.to/3kceRW3*
Legacy Code Rocks with Cyrille Martraire at https://www.legacycode.rocks/podcast-1/episode/2fd0fdeb/living-documentation-with-cyrille-martraire
Cyrille Martraire, Living Documentation at https://amzn.to/3kd2J7e*
* Heads up! If you purchase a book through the links above, we will get a small commission which helps us continue to bring quality content to our Legacy Code Rocks! community. You won’t pay a penny more, we receive a small kickback, and you’re supporting our friends who wrote them. Everybody wins!
Most, if not all, of the legacy projects feature monolithic application architectures. However, moving to containers can bring many benefits: consistency down the pipeline, no-touch deployment, better support for decomposing the monolith - to name just a few. Today we talk with our own Ben Johnson. Ben is the lead code whisperer at Corgibytes and a developer with over 20 years of experience. We chat about containerization - what benefits does it bring, what challenges could you encounter in the process, which tools are best suited for the job, and what methodology proves to be most reliable. When you finish listening to the episode, make sure to connect with Ben on LinkedIn or contact him via the Corgibytes website, and read his fantastic blog about containerization.
Mentioned in this episode:
Ben on LinkedIn at https://www.linkedin.com/in/benrj
Corgibytes at https://corgibytes.com
Ben Johnson, Moving a Monolith to Kubernetes at https://corgibytes.com/blog/2020/02/27/monolith-to-kubernetes/?utm_content=buffer43f15&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer
Dockers at https://www.docker.com
Heroku at https://www.heroku.com/home
Our Legacy Code Rocks community is turning five this year. To mark this exciting milestone, we decided to catch up with Woody Zuill, our frequent guest, and a person who always manages to teach us something new and exciting. Woody is best known for introducing mob programming to the world, and so we kick-off the show by discussing mob programming in the age of COVID-19. However, as it is always with Woody, he expands our horizons far beyond any single topic. If you get inspired by this chat as much as we did, make sure to register for the series of Woody's public workshops, which will take place online from 20th to 22nd October.
Mentioned in this episode:
Woody on Twitter at https://twitter.com/woodyzuill
Woody on LinkedIn at https://www.linkedin.com/in/woodyzuill/
Woody’s website at https://woodyzuill.com
Woody Zuill and Kevin Meadows, Mob Programming: A Whole Team Approach at https://leanpub.com/mobprogramming
Mob Programming Workshop 20-22 October 2020 tickets at https://www.eventbrite.it/e/mob-programming-online-workshop-tickets-115876980167?aff=erelpanelorg or https://allevents.in/online/mob-programming-online-workshop/10000115876980167
Graham Wallas, The Art of Thought at https://archive.org/details/theartofthought
Winston Royce, Managing the Development of Large Software Systems (Waterfall Paper) at http://www-scf.usc.edu/~csci201/lectures/Lecture11/royce1970.pdf
Zeigarnick Effect at https://en.wikipedia.org/wiki/Zeigarnik_effect
Innovation is the hottest prize in the business. It attracts the most attention. It sells stocks in a blitz. It also distracts from what matters the most - maintaining, caring for, and upkeeping what we have already invented. Today we talk with Lee Vinsel, an assistant professor of Science, Technology, and Society at Virginia Tech College of Liberal Arts and Human Sciences, and Andy Russell, professor of history and Dean of the College of Arts and Sciences at SUNY Polytechnic Institute. Andy and Lee are technology historians and the authors of The Innovation Delusion, a new book that is coming out on September 8th, published by Penguin Random House. We provide you with a sneak peek into this book, which is already the number one bestseller on all major online bookstores. When you finish listening to the episode, be sure to grab your copy.
Mentioned in this episode:
Lee Vinsel’s website at http://leevinsel.com/about
Andy Russell’s website at https://arussell.org/
Virginia Tech College of Liberal Arts and Human Sciences at https://liberalarts.vt.edu/
SUNY Polytechnic Institute College of Arts and Sciences at https://sunypoly.edu/academics/colleges/college-arts-sciences
Lee Vinsel, Andrew Russell, The Innovation Delusion at https://amzn.to/31wJI8U
The Maintainers at https://themaintainers.org
Legacy Code Rocks, Proactive Programming with PJ Hagerty at https://podcasts.apple.com/us/podcast/legacy-code-rocks/id1146634772?i=1000489001499 *Heads up! If you purchase the book through any of the links above, we will get a small commission which helps us continue to bring quality content to our Legacy Code Rocks! community. You won’t pay a penny more, we receive a small kickback, and you’re supporting our friends who wrote the book. Everybody wins!
When you build a house, you first build its foundations. This is what ensures its durability. The same stands for writing code - if written upon strong foundations, it will not be blown away by the first wind of change. The best way to achieve this is to think proactively. Today we talk with PJ Hagerty, the founder of devrelate.io, organizer of DevOps Days Buffalo, a developer, writer, speaker, musician, and community advocate. PJ tells us the secrets of proactive programming and how it can prolong the life of your code. When you finish listening to the episode, connect with PJ on Twitter and LinkedIn.
Mentioned in this episode
PJ on Twitter at https://twitter.com/aspleenic
PJ on LinkedIn at https://www.linkedin.com/in/pjhagerty/
Devrelate at http://www.devrelate.io
Open Sourcing Mental Illness at https://osmihelp.org
DevOps Days Buffalo at https://devopsdays.org/events/2020-buffalo/welcome/
Chad Fowler, Dave Thomas, Andy Hunt, Programming Ruby: The Pragmatic Programmers’ Guide (The Facts of Ruby), 4th Edition at https://www.amazon.com/gp/product/1937785491/ref=dbs_a_def_rwt_hsch_vapi_taft_p1_i1
Leadership from a Dancing Guy at https://www.youtube.com/watch?v=hO8MwBZl-Vc
As we are going through a racial injustice reckoning here in the United States, each of us needs to look in the mirror, actively seek information, and find a way to contribute to a more just future. We can't talk about fixing code before we talk about the neglected voices in the process of building and mending that very code. Today we talk with Bryan Liles, a senior staff engineer at VMware, a team leader, and a code writer who tries to pump goodwill into the world. We talk about racial injustice in America, its origins, its stubborn perseverance, and the ways to combat it and eradicate it once and for all. When you finish listening to the episode, connect with Bryan on LinkedIn or Twitter, and take a listen to the speech he gave at RubyNation 2013, which inspired this interview.
Mentioned in this episode:
Bryan on Twitter at https://twitter.com/bryanl
Bryan on LinkedIn at https://www.linkedin.com/in/bryanliles/
VMware at https://www.vmware.com
Bryan’s talk at RubyNation 2013 Why We Do What We Do at https://vimeo.com/103704732
The Kerner Commission Report on Civil Disorders at http://www.eisenhowerfoundation.org/docs/kerner.pdf
Ibram X. Kendi, How To Be An Antiracist at https://www.ibramxkendi.com/how-to-be-an-antiracist-1
Staying agile is most important in times of crisis. After more than four months of Covid-19 disruption, it is clear that we are going through one of those era-defining moments. As the crisis drags on, we need to adapt and be more agile than ever. Today we talk with our own Andrea Goulet, Corgibytes CEO and Legacy Code Rocks co-host, about big changes we are going through here at Legacy Code Rocks and Corgibytes. So, take a listen and stay tuned!
Imagine if there were a tool to help you measure your code’s complexity, coverage, and smells, blend it all together and present you with an average score assessing your technical debt. SkunkScore is precisely such a tool. Today we talk with Ernesto Tagwerker, founder of Ombu Labs and fastruby.io—and the developer of the SkunkScore—about software maintenance and how to use SkunkScore to identify the most problematic parts of your code and guide you through your refactoring adventure.
Mentioned in this episode:
Ernesto on Twitter at https://twitter.com/etagwerker
Ernesto on GitHub at https://github.com/etagwerker
Ombu Labs at https://www.ombulabs.com
Fastruby at https://www.fastruby.io
Download SkunkScore at https://github.com/fastruby/skunk
The need for speedy delivery is the reality of contemporary business. The requirements of modern software development are no different. However, when writing software we are making decisions based on knowledge, and finding knowledge often takes time. This is where we turn to software documentation, only to find it frustrating, incomplete, obsolete, or misleading. Today we talk with Cyrille Martraire, a software developer, finance business analyst, and the author of the book Living Documentation: Continuous Knowledge Sharing by Design, about how to make your documentation more comprehensive, useful, and intuitive. When you finish listening to the episode, connect with Cyrille on Twitter, check out his website, and take a look at his new book!
Mentioned in this episode:
Cyrille on Twitter: https://twitter.com/cyriux?lang=en
Cyrille’s website: http://cyrille.martraire.com
Cyrille Martraire, Living Documentation: Continuous Knowledge Sharing by Design: https://www.amazon.com/Living-Documentation-Cyrille-Martraire/dp/0134689321
More on stigmergy at: https://en.wikipedia.org/wiki/Stigmergy
Eric Evans, Domain Driven Design: Tackling Complexity in the Heart of Software: https://www.amazon.com/gp/product/B00794TAUG/ref=dbs_a_def_rwt_hsch_vapi_tkin_p1_i0
ArchUnit: https://www.archunit.org
There are many causes of technical debt - unknown or ill-defined requirements, business pressures to deliver fast, procedural deficiencies during development, and many more. These are often just manifestations of a larger problem - lack of understanding due to limitations of natural language and inability to predict future social and technical developments. Today we talk with Einar W. Høst, a programmer at the NRK, Norwegian public broadcasting company, about these sociolinguistic causes of technical debt. We can't predict the future, but we can adopt strategies to make our code more flexible and resilient. Einar shares with us a few of these strategies. When you finish listening to the episode, connect with Einar on Twitter.
Mentioned in this episode:
Einar on Twitter at https://twitter.com/einarwh?lang=en
Norwegian public broadcasting company NRK at https://www.nrk.no/about/
Ward Cunningham on technical debt metaphor at https://www.youtube.com/watch?v=pqeJFYwnkjE
Ludwig Wittgenstein, Tractus Logico-Philosophicus at https://www.amazon.com/dp/0486404455/ref=cm_sw_r_cp_api_i_bUv-Eb722FCY3
William Kent, Data and Realit: A Timeless Perspective on Perceiving and Managing Information in Our Imprecise World, 3rd Edition at https://www.amazon.com/dp/1935504215/ref=cm_sw_r_cp_api_i_7Uv-EbEH73Z2J
Do you ever feel like we are entering the age of democratization of software development? Do you fear that the platforms enabling novices with little coding experience to develop software applications are commoditizing your service as a developer? Today we talk with James Augeri, a serial entrepreneur, Techstars alumni, U.S. Airforce veteran, and a founder of Jingle, where he is working on making better search experiences. James shares with us his passion for low-code platforms - software applications designed to provide a software development environment through GUI and model-driven logic, instead of hard coding. What are their advantages, and where are their limits? When are they useful, and when do they become a liability? James' answers to these questions will help you navigate this incoming disruption. When you finish listening to the episode, make sure to connect with James on LinkedIn and Twitter.
Mentioned in this episode:
James on LinkedIn at https://www.linkedin.com/in/dotdotjames/
James on Twitter at https://twitter.com/DotDotJames
Jingle at https://heyjingle.com
WordPress at https://wordpress.org
Drupal at https://www.drupal.org
Zapier at https://zapier.com
Workato at https://www.workato.com
Bubble at https://bubble.io/
Knack at https://knack.com/
Duda at https://duda.co/
When dealing with legacy code, it is easy to forget that the pipeline to deploy that code could be just as much "legacy' as the code itself. So how do you puzzle your way through resurrecting the pipeline, and how do you handle a legacy application from a CI/CD pipeline standpoint? Today we talk with Laura Santamaria, a LogDNA's development advocate, and DevOps practitioner. She shares with us the secrets of reconstructing legacy pipelines from the available logs and data, what to do when no data is available, and how to make legacy application's pipeline more usable for the next maintainer down the line. When you finish listening to the episode, connect with Laura on Twitter, and visit her website at https://speaking.nimbinatus.com.
Mentioned in this episode:
Laura on Twitter at https://twitter.com/nimbinatus?lang=en
Laura’s website at https://speaking.nimbinatus.com
LogDNA at https://logdna.com
Rackspace at https://www.rackspace.com
How many pairs of eyes are needed to ensure the quality of a newly written code? When do you send your code to an impartial reviewer? Is a review always necessary? Today we talk with Pranay Suresh, a Silicon Valley startup expert, a former software engineer at Tesla, and a mentor and angel investor about code reviews. Pranay gives us a few tips on how to approach code reviews, both from the perspective of a reviewer and of a coder. When you finish listening to the episode, make sure to connect with Pranay on LinkedIn, and visit his website at https://pranaysuresh.com.
Mentioned in this episode:
Pranay on LinkedIn: https://www.linkedin.com/in/pranaysuresh/
Pranay’s website: https://pranaysuresh.com
Bolt at: https://bolt.com/
GitHub Pull Approve: https://www.pullapprove.com/?gclid=CjwKCAjw5Ij2BRBdEiwA0Frc9aNWlyDBIpQIbPkV0-j31HN5GSiGpkcy54vbIEqa5kY7m5Or8NntPRoCH2wQAvD_BwE
GitHub code review: https://github.com/features/code-review/
Switching from a monolithic architecture to microservices has become an accelerating trend these days. Many tech leaders have already successfully transitioned, and many others are planning to follow suit. But is it always wise to abandon the monolith and adopt the services approach? And if the answer is yes, how to make the transition least painful? Today we talk with Rob Zuber, a veteran of software startups, CTO of CircleCI, and a scalability expert. Rob tells us how to choose the right architecture for your business, and how to transition from one architecture to the other without abandoning already invested years of work, knowledge, and experience. When you finish listening to the episode, connect with Rob on Twitter and LinkedIn.
Mentioned in this episode:
Rob on Twitter: https://twitter.com/z00b?lang=en
Rob on LinkedIn: https://www.linkedin.com/in/robzuber/
CircleCI: https://circleci.com
Sam Newman, Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith at https://www.amazon.com/gp/product/1492047848/ref=ox_sc_act_title_1?smid=ATVPDKIKX0DER&psc=1
Coding with empathy is one of the Corgibytes' core principles, underlying everything we talk about on this show. But not since 2016 have we taken a step back and dived deep into the subject of empathy, what it means, and how to practice it. Today we talk with Indi Young, a speaker, writer, and UX researcher dedicated to empowering makers and menders to know their problem space through empathy and deep understanding of people's purposes. Indi is an author of two books - Mental Models and Practical Empathy. She tells us how to bring empathy to the developer's table and understand the user's needs beyond what data reveals. When you finish listening to the episode, make sure to visit Indi's website and connect with her on Twitter and LinkedIn.
Mentioned in this episode:
Indi Young at https://indiyoung.com
Indi on Twitter at https://twitter.com/indiyoung?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor
Indi on LinkedIn at https://www.linkedin.com/in/indiyoung/
Indi Young, Practical Empathy: For Collaboration and Creativity in Your Work at https://www.amazon.com/Practical-Empathy-Indi-Young-ebook/dp/B00RY9R8H8/ref=sr_1_1?s=books&ie=UTF8&qid=1485488787&sr=1-1&keywords=practical+empathy&pldnSite=1
Indi Young, Mental Models: Aligning Design Strategy with Human Behavior at https://rosenfeldmedia.com/books/mental-models/
Susan Cain, Quiet: The Power of Introverts at https://www.amazon.com/Quiet-Power-Introverts-World-Talking-ebook/dp/B004J4WNL2/ref=tmm_kin_swatch_0?_encoding=UTF8&qid=1587223083&sr=8-2
Mentioned in this episode:
Daniel on LinkedIn at https://www.linkedin.com/in/dokwufulueze/
Daniel on media.com at https://medium.com/@DOkwufulueze
Dunnhumby at https://www.dunnhumby.com
M.M. Lehman, L.A. Belady, Program Evolution, Processes of Software Change at http://informatique.umons.ac.be/genlog/BeladyLehman1985-ProgramEvolution.pdf
Code Climate at https://codeclimate.com
The code is predictable. Binary. It either works, or it doesn't. Working with people is much messier. Their actions and reactions are not easy to predict. Or are they? Today we talk with Claudius Mbemba, a tech leader, public speaker, and the CTO of Neu, about personality tests. How useful they are, which one to choose, is it enough to use only one, and how to use them to increase the productivity and happiness of your team. When you finish listening to the episode, visit Claudius' blog and make sure to connect with him on Twitter or LinkedIn.
Mentioned in this episode:
Claudius on Twitter at https://twitter.com/mbembaships
Claudius on LinkedIn at https://www.linkedin.com/in/mbembac/
Neu at https://www.neucleans.com
Claudius’ Blog at https://claudiusmbemba.com
Myers-Briggs personality test at https://www.myersbriggs.org
iMap Individual Multi-Construct Assessment Profile at https://vnacelle.com/our-services/imap/
The Four Tendencies Quiz from Gretchen Rubin: https://quiz.gretchenrubin.com/
Disc personality assessment at https://www.discprofile.com/what-is-disc/overview/
Personalysis test at https://personalysis.wiredtothrive.com/assessment/
StrengthsFinder at https://www.gallup.com/cliftonstrengths/en/254033/strengthsfinder.aspx
To paraphrase Lewellyn Falco, when one person is programming, it is that person's best ideas that are being encoded into the software; when two people are programming together, you get the best ideas from both of them. Today we are talking with Harald Reingruber, a software engineer who specializes in visual and spatial computing, about his upcoming pair-programming tour in the US and Canada. Where is he planning to go; how will he travel; who will he pair with; and what benefits pair-programming can bring to you and your team? Be sure to check out the details about his tour at https://dev.to/harald3dcv/pair-programming-tour-invite-me-for-free-sessions-sf-bay-area-5eci.
You can also connect with Harald on Twitter and invite him for a pair-programming session.
Mentioned in this episode:
Harald on Twitter: https://twitter.com/Harald3DCV
About Harald’s tour: https://dev.to/harald3dcv/pair-programming-tour-invite-me-for-free-sessions-sf-bay-area-5eci
Lewellyn Falco’s strong-style pairing http://llewellynfalco.blogspot.com/2014/06/llewellyns-strong-style-pairing.html
The easiest way to make your team members feel happy is to give them a sense of personal growth. By expanding their capacities, they exponentially increase the productivity of the team while strengthening their own sense of purpose. On today’s episode, we chat with Kwame Thomison. After a decade building software and software teams for companies like Facebook and Asana, Kwame set out as a leadership coach and founded his company, Magnetic, to help other teams build and sustain social learning cultures. When you finish listening to the episode, make sure to visit Kwame's web-site at https://magnetic-inc.com and connect with him on LinkedIn or Twitter.
Mentioned in this episode:
Kwame on LinkedIn at https://www.linkedin.com/in/kwamethomison/
Kwame on Twitter at https://twitter.com/KwameMagnetic
Magnetic at https://magnetic-inc.com
Asana at https://asana.com
LinkedIn Learning’s 2019 Workplace Learning Report at https://learning.linkedin.com/resources/workplace-learning-report
It’s never about what you don't know. It’s the difference you can bring to the table that matters. Today we talk with A.J. Rendo, a theatre director, a philosophy major, and an enthusiast historian turned software developer. A.J. gives us a wild ride through his story — how can you switch from directing theatrical shows to maintaining legacy software responsible for managing billion dollars a day? What does such a shift do to your self-confidence? And how do you overcome self-doubt? When you finish listening to the episode, make sure to connect with A.J. via Twitter, and check out some of the resources we mentioned in this episode.
Mentioned in this episode:
A.J. Rendo Twitter at: https://twitter.com/AjAdirondack
Michael Feathers, Working Effectively with Legacy Code at https://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052/ref=nodl_
Legacy Code Rocks: Defining Legacy Code with Amitai Schleier at https://podcasts.apple.com/us/podcast/defining-legacy-code-with-amitai-schleier/id1146634772?i=1000445569710
Developer on Fire: Amitai Schleier - Safe for Programmers and Non-Programmers at https://podcasts.apple.com/us/podcast/episode-436-amitai-schleier-safe-for-programmers-non/id1006105326?i=1000446689222
Martin Fowler at https://martinfowler.com
Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software at: https://www.amazon.com/dp/0321125215/ref=cm_sw_r_cp_api_i_SxxpEbD60E873
David Thomas, Andrew Hunt, The Pragmatic Programmer, 2nd Edition, at https://www.amazon.com/Pragmatic-Programmer-journey-mastery-Anniversary/dp/0135957052
In a modern fast-moving business environment, we are obsessed with quantitative measurements. But without qualitative data, we might get the wrong impression and incentivize bad behavior. Today we talk with Dalia Havens, Vice-President of engineering at Netlify, about selecting appropriate metrics to measure outputs of your team, increase its productivity, and, most importantly, keep it happy. Building on her experience from Netlify, GitLab, SailPoint and IBM, she shares with us how to promote team health through positive metric-driven management. When you finish listening to the podcast, connect with Dalia on LinkedIn.
Mentioned in this episode:
Dalia Havens on LinkedIn at https://www.linkedin.com/in/daliahavens/
Netlify at https://www.netlify.com
GitLab at https://about.gitlab.com
IBM at https://www.ibm.com
SailPoint at https://www.sailpoint.com
SonarQube at https://www.sonarqube.org
Code Climate at https://codeclimate.com
John Doerr, Measure What Matters: How Google, Bono, and the Gates Foundation Rock the World with OKRs at https://www.amazon.com/dp/0525536221/ref=cm_sw_r_cp_api_i_15ClEbKXXGPGQ
Most of the time, we focus on a specific aspect of software development and maintenance and try to see how these small pieces fit in the big picture of working with legacy code. Not today, however. Today we talk with Abraham Marín-Pérez, an extremely active Java developer with more than ten years of experience in various industries, about THE big picture and why legacy code rocks! Abraham is the author of Real World Maintainable Software and a co-author of Continuous Delivery in Java, a Java news editor at InfoQ, an advisor at the Meet-a-Mentor London Group, and a regular speaker at well-known international events. On top of that, he helps to run the London Java Community. When you finish listening to the episode, make sure to visit Abraham’s blog From Fragile to Agile!
Mentioned in this episode:
Abraham on Twitter: https://twitter.com/abrahammarin?lang=en
Abraham on LinkedIn: https://www.linkedin.com/in/abraham-marin-perez-45b88422/?originalSubdomain=uk
Real World Maintainable Software by Abraham Marín-Pérez at: https://www.oreilly.com/library/view/real-world-maintainable-software/9781492042853/
Continuous Delivery in Java by Abraham Marín-Pérez and Daniel Bryant at:
https://www.oreilly.com/library/view/continuous-delivery-in/9781491986011/
Software Maintenance is an Anti-Pattern by Sarah Allen:
https://18f.gsa.gov/2016/02/23/software-maintenance-is-an-anti-pattern/
https://www.fromfragiletoagile.com
Imagine if you could automatically follow, measure, and analyze your workflow, identify the sticking points, and remove them based on the coldblooded data. Imagine if there was such a thing as a Moneyball of coding. Today we talk with Arty Starr about the Idea Flow - a data-driven approach to measuring friction in developer's experience. Arty is the author of the Idea Flow, a panelist on the Greater Than Code podcast and a social entrepreneur. We talk about the eight most common friction points in coding and how the Idea Flow helps identify and eliminate them. When you finish listening to the episode, make sure to subscribe to Arty's newsletter at http://arty.twilightcircuit.io.
Mentioned in this episode:
Arty on Twitter: https://twitter.com/janellekz?lang=en
Janelle Arty Starr, Idea Flow: How to Measure the PAIN in Software Development, at https://leanpub.com/ideaflow
Arty’s newsletter: https://arty.twilightcircuit.io
Greater than Code podcast: https://podcasts.apple.com/us/podcast/greater-than-code/id1163023878
If you want your journey to be speedy and painless, it helps to know where you are going. Today we are talking with Sabrina Leandro, the principal software engineer at Intercom and a former VP of tech at Songkick. Sabrina is a technical leader with vast experience in product development processes, systems design, and management. We talk about incremental code rewriting and how to do it most efficiently. When you finish listening to the episode, visit Sabrina's website and take a listen to one of her talks.
Practice leads to perfection. Having fun while doing it can only make you wish to practice more! Today we talk with Emily Bache, a software developer and a technical agile coach at ProAgile. Emily is well known as a maintainer of an outstanding code kata Gilded Rose and as an author of several books, including The Coding Dojo Handbook and Technical Agile Coaching. Emily explains the concepts of code katas and dojos and reveals the secrets of their effectiveness. When you finish listening to the episode, make sure to visit Emily's blog Coding Is Like Cooking.
Creating an inclusive workplace culture in which all employees are thriving, the results are soaring, and the defections are non-existent is the goal of every company. One secret to creating this kind of workplace is allyship. Today we talk with Karen Catlin about everyday actions that help in building an inclusive and engaging workplace. Karen is the author of Better Allies, a leadership coach, keynote speaker, passionate advocate for inclusive workplaces and the former vice president of engineering at Macromedia and Adobe. When you finish listening to the episode, make sure to visit the Better Allies website and Twitter handle, check out Karen's website and take a look at her other book: Present! A Techie's Guide to Public Speaking.
Streamlining your process increases the speed of your work while ensuring the consistent quality of your products. Today we speak with Leon Miller-Out, the CEO of a web app development and maintenance firm Singlebrook, about the top five best practices for legacy code maintenance. Listen to Leon and Scott reaching consensus in real-time, on the indispensable steps they take when dealing with legacy code. When you finish listening to the episode, checkout Singlebrook's libyear - a tool for measuring "dependency freshness." It just might change your life!
To survive, every software needs to change over time. However, if the changes are too steep, the survival might quickly turn into a demise. Today we talk with our own Scott Ford, co-founder of Corgibytes and co-host of the Legacy Code Rocks, about Lehman's laws - a set of principles that explain the forces which push software systems to change and the forces that restrain that change. Hear from Scott how Lehman's laws can help you in your work and get to know Scott a little bit better.
Today we go back to where we started and we reprise the first ever episode of Legacy Code Rocks. Andrea and Scott discuss the idea of Makers (the developers who like to build things) and Menders (developers who like to fix things). We also define and explain the mission of this podcast. A great reminder for our old listeners and a perfect opportunity to catch-up for the new ones.
How can sticky notes help you and your team find and resolve problems which are deeply hidden within your business model? How can this quest through colorful papers accelerate the mending of a legacy code which supports that business model? Today we speak with Alberto Brandolini, an inventor of Event Storming, about how this fun and rapid group modeling technique can accelerate learning and productivity within your development team. From upgrading and improving the existing systems to developing new ones, Alberto’s Event Storming helps teams visualize every little wheel of complex machinery they are tasked to maintain or create. When you finish listening to the episode, make sure to visit Alberto’s website and to check out his nearly finished book.
Every creature, living or artificial, is learning through the interactions with its environment all the time. It is learning not only from other creatures it interacts with, but also from the context in which these interactions take place. When an environment becomes defined by such contextual mutual learning through interaction, it becomes a creature in its own right - an entity famously named by Nora Bateson as Symmathesy. Today we talk with Jessica Kerr, a developer at Atomist and an expert in development automation, about the ways of transforming your development team into a symmathesy. When you finish listening to the episode, make sure to take a listen of Jessica’s own podcasts Greater than Code and Arrested DevOps, and to read her blog at http://jessitron.com.
To successfully lead a team, we must understand why our team members do what they do. To help us unpack that, we need to dig deep into their subconscious and explore their unconscious behavior which underlines most of human actions. Today we speak with Mike Bowler, a long-time Agile technical coach and a trained hypnotist with the interest in neuroscience and psychology, about techniques that help us understand unconscious behaviors. Mike explains the clean language technique developed by David Grove in the 1980s, offers a fresh look at hypnosis and links all of this to coding and software development. When you finish listening to the episode, make sure to visit Mike’s website www.unconsciousagile.com for more resources on unconscious behavior and hypnosis.
We all strive to be “full stack” developers, but many of us feel more comfortable with either back-end or front-end programming. Today we talk with Jan Jorgensen, a front-end developer who also enjoys mending legacy applications. Jan works in the Copenhagen based UX research company and is an expert in adding front-end tooling to render components in a monolithic rails app and taking advantage of modern tools instead of writing the apps from scratch. Jan breaks down the main characteristics of front-end development, discusses good practices, opens for us his toolbox and explains how all of this fits into the legacy code maintenance and upgrading. And as an extra, you’ll hear how nomadic lifestyle and coding go together!
What does legacy code mean to you? Is it a valuable code that is hard to change or a code you are simply afraid to change; a code that makes you money or a code you are ashamed of? In today’s episode we deep dive into the quest for the most interesting and influential definitions of legacy code with Amitai Schleier. Amitai is true renaissance man - a software development coach, legacy code wrestler, consultant, non-award-winning musician and award-winning bad poet. Amitai regularly contributes code and direction to notable open-source projects such as NetBSD, pkgsrc, ikiwiki, and qmail. When you finish listening to this episode, you should check out Amitai’s micropodcast “Agile in 3 Minutes”, his articles on legacy code and other topics, and last, but not least, you should relax with his piano performance of Medtner at the International Rachmaninoff Conference.
Lasting success is not measured by past achievements but by the ability to change and adapt to new developments and new demands. Nowhere does the change face more suspicion and distrust than in large enterprises with their established policies, practices and procedures, large bureaucracies, compartmentalized silos and, above all, undeniable past successes. Today we talk with Christine Chrys Sills, the Organization, Change, and Program Manager at Liatrio about DevOps transformations and how to bring change to large enterprises confident in their established ways.
The mere fact that any particular legacy code is still in use is a testament of its sustainability. Today we talk with Dr. Carola Lilienthal, the CEO of the Workplace Solutions and the author of Sustainable Software Architecture about the importance of a good structure for the durability of a software. Building upon her experience dissecting more than 300 software systems of various sizes, Carola shares with us her philosophy, methodology, tools and criteria for assessing the sustainability of a system and explains how to structure any software around its fundamental building blocks in order to achieve its durability.
The idea of a “lone genius” unleashing software marvels on the world is mostly a myth. Almost all good software is a product of the exchange of ideas, continuous discussions, and collaborations. Today we talk with Coraline Ada Ehmke - the creator of the Contributor Covenant and the laureate of the Ruby Hero Award - about the importance of kindness and empathy in coding. From creating safe spaces for discussions and exchange of ideas, through introducing empathy into understanding user needs and collaborators’ concerns, to creating a kinder programming language and the code itself - Coraline shares her thoughts with us on the whys and hows of kindness in software industry. When you are done with the episode, make sure to visit Coraline’s web-site.
Technical debt is just like a financial debt - incurring it responsibly boosts the development and growth, but failing to repay it in time can lead to bankruptcy and complete failure of the program. Today we talk with Tim Doherty, Staff Software Engineer at Procore Technologies and a co-organizer of the Santa Barbara JavaScript Meetup, about the responsible management of technical debt. Tim breaks down for us the Ward Cunningham’s definition of technical debt into sub-categories and shares with us the justifications for the acquisition and strategies for prudent repayment of these diverse kinds of technical debt. When you are done with the episode, you can check out Tim’s blog post that steered our conversation.
The key to understanding real (rather than perceived) goals of any technological project is to understand the people served by that technology. Today, we talk with Alok Sharma, a founding partner of the technology project management consultancy firm Sharma Analytics. Alok gives us a deep insight into his tripartite approach to rationalizing, selecting, planning, and managing technology in small to mid-sized organizations. After discussing the three key elements of his analytical approach -- people, processes, and data -- he explains why understanding people takes precedence over the two other components if a project is to succeed. When you finish listening to this episode, check out Alok’s video blog which gives many insights to managers on how they should think about technology in their organizations.
We take mental shortcuts every day in order to save our energy while achieving satisfactory results. These shortcuts, or heuristics, are in fact so mentally economical, that we are mostly not even aware of them! Yet, we use them all the time. In this episode, we talk with Rebecca Wirfs-Brock about heuristics we use in software design and why is it important to be aware of them. Rebecca is an object oriented design pioneer and an inventor of responsibility driven object design. She currently serves as a director of the Agile Alliance Experience Report Initiative and as a president of the Wirfs-Brock Associates consulting firm. When you are done with this episode, make sure to visit Rebecca’s blog where you will learn much more about design heuristics.
Edaqa Mortoray grew up programming. From interface design to scientific simulations, including video games and development products, he has coded a bit of everything. He is the author of the book “What is Programming?” and he runs a successful programming blog and a podcast. We talk with Edaqa about why every member of software development team should know who their user is and what their needs are. He then shares with us some good practices for defensive coding in this age of global users. When you are done with the episode, and if you want to hear more about the user-focused software design, make sure to watch Edaqa’s class on Skillshare.
According to Evgeny Demchenko, technical debt and financial debt have many things in common - if used strategically, they accelerate growth, if not repaid diligently, they hinder it. Evgeny is a CTO of an O2O talent sourcing platform Top Twenty Talent and one of the organizers of the Beijing Python Meetup. He is specialized in building startups, managing complex systems and refactoring code. We talk with Evgeny about his passion for refactoring and he shares with us his technical debt philosophy, his workflow and his favorite tools of the trade.
Marcus Blankenship is a technical leadership author, coach and speaker, helping great programmers and coders to become great tech leaders of the future. He is the author of the book “Habits That Ruin Your Technical Team: Pitfalls and Solutions for Technical Managers”. Marcus tells us what technical leadership is and how technical-experts-turn-leaders can fight their impulses to resolve problems themselves and start empowering their teams to resolve them instead. After you finish with the episode, check out Marcus’s web site at https://marcusblankenship.com/ where you will find plethora of resources and workshops.
Johanna Rothman is a “pragmatic manager” and longtime leader in the software development community. She has written over a dozen books on various aspects of shipping successful software applications. On this episode, Johanna shares with us how she got into working with legacy code, how long does it take for a greenfield project to become a legacy project, do the resource limitations constrain or boost creativity and what is the role of management in a creative process. When you finish listening to the episode, you can check out Johanna’s website at www.jrothman.com where you will find an amazing collection of her workshops and training tools and materials.
Esther Derby started her career as a developer who loved machines and struggled with people. Now, she’s one of the world’s top experts in organizational dynamics and a leading thinker on bringing agility to organizations, management and teams. Esther playfully shares with us her intimate story of personal growth from being a satisfied solo coder to a team builder and gives us all some practical tips for learning skills that might be just outside our comfort zone.
In today’s episode, we chat with Lisa Crispin, Testing Advocate at Mabl, the co-author of the Agile Testing: A Practical Guide for Testers and Agile Teams and one of the most influential testing professionals in the industry. Join us to hear about the significance of the whole team approach, collaboration and feedback in testing, and how the cues of success through teamwork can come from even the most unexpected sources – including from the miniature donkeys!
In 2016, Taylor Jones was in a car crash that impacted his vision severely. After recovery, he has continued to code and design for the web even though he's blind. In this moving conversation, we talk with him about accessibility and how his development practices have changed.
In this episode, we chat with Adam Tornhill. Adam is the author of Your Code as a Crime Scene as well as Software Design X-Rays: Fix Technical Debt with Behavioral Code Analysis. He’s also the founder of Empear, whose flagship product, CodeScene, helps companies prioritize technical debt by identifying “hotspots” within their codebases.
During the show we talk about:
We hope you enjoy! Be sure to check out https://legacycode.rocks for even more great conversations about modernizing software.
There's no "one right way" to implement Agile. Diana Larsen believes that software is built in the context of a "more diverse and beautiful world" that meets teams where they are and helps them achieve goals that are best for them. Together, with James Shore, she developed the Agile Fluency Model; a framework that helps chart a course for the team, create alignment with management, and secure organizational support for improvement. You can learn more about the model at https://www.agilefluency.org.
Metaphors may seem like a literary device that has no relevance in software, but nothing could be further from the truth. On today's episode, we dive deep into the world of explaining the abstract with Nat Pryce. We touch on George Lakoff, Conway's Law, Lehman's Laws, the difference between cognitive and figurative metaphors, and much, much more. If you've ever wanted to learn how to explain your work better, especially to people who don't code very much, this is one episode you won't want to miss!
On this episode, Seb Rose, co-owner at Cucumber Limited and author of several books on Cucumber, gives us a look at how Behavior-Driven Development works alongside Test-Driven Development to tame legacy code. We walk through his personal version of Dante's rings of corporate hell and discuss why we should start thinking of the relationship between Acceptance, Integration, and Unit tests as an iceberg rather than a pyramid.
In this episode, we chat with David Kane, a noted Agilist, to explore how legacy code systems mimic biology. By the end, you may just join Andrea by proudly identifying as fungus — the invisible system that holds other systems together. Enjoy!
In the open source world, there are a ton of legacy projects. In this episode, we chat with Jerod Santo, host of The Changelog, about legacy code in the open source ecosystem. How do you maintain projects? When do you let projects die? And how can you add value quickly when you want to contribute?
Developers spend an average of 50-80% of their day reading code. So why don't we ever work on actively honing this skill? That's the question that Zach Shaw, the Director of Engineering at Brightgrove decided to ask. On today's episode, we geek out about reading code and discover new strategies and tactics to help us do it even better.
Ever heard of a little app called Mint.com? Poornima Vijayashanker was the founding engineer and convinced her boss that the name he picked wouldn't get the market share he was looking for. After she successfully grew Mint, she exited after it was acquired by Intuit. Poornima is the Founder of Femgineer and now mentors other developers and founders on how to build better software. In this episode, we chat with her about the importance of selling your ideas so that they can grow. You can find her on Twitter at @poornima and on Femgineer.com.
When should you replace your software and when does it make sense to transform it? Scott Hanselman joins us to share his thoughts from several projects throughout his career, including Das Blog (the engine that runs Hanselminutes), Windows Live Writer, Tiny OS and .NET Core.
To document or not to document? That is the question that we chat about today with Lauri Apple, who works as an Agile Coach and Open Source Evangelist with Zalando. Lauri is also an Ambassador for OpenSource.com and the creator of FeedMeReadMes. We chat about what finding documentation balance, where to find the best README templates, and the difference between corporate and open-source documentation.
Emily Gorcenski is an expert on aerospace software based in Charlottesville, Virginia. When we first reached out to her, we wanted to discuss estimating and budgeting for government projects. Then, tragedy struck. In this episode, we dive into a deep discussion about the intersection of technology, activism and identity politics in the context of Emily's on-the-ground account of the tragic violence that happened in her hometown.
David Bernstein, author of Beyond Legacy Code, chats with Scott and Andrea about nine development practices that can help us make it easier to work with (and even prevent) legacy code.
What does Britain leaving the European Union mean for the software industry? On a recent trip to London, Andrea found out through an insightful conversation with Krishna Thakur (http://www.capriconsulting.co.uk/). In this episode, we'll explore how Brexit is likely to impact developers on both sides of the pond.
Bryan Beecham (https://www.industriallogic.com/people/bryan) is an Agile consultant with over 20 years of comprehensive IT experience as well as a Human Refactoring Guide. In this episode, we discuss becoming a minimalist developer, intentionally taking time off to increase your productivity and how passion doesn’t have to lead to burnout.
Edafe Onerhime (https://ekoner.com/) is a consultant on Data Science and Data Analysis who has over 20 years of experience answering difficult questions about open data. She has helped governments, charities and businesses make better decisions and build stronger relationships by understanding, using and sharing their data. In this episode, we discuss the history of open data, its importance in building communities and its similarities to open source and open science.
In this special episode recorded at the AATC 2017, Andrea Goulet speaks with Martin D. Lund, a scrum-certified software engineer who helps run an engineering team and a parent to three children on the autism spectrum. Founder of Agile for Autism (http://www.agile4autism.com/), a nonprofit initiative to help parents build educational and therapeutic programs for children with Autism Spectrum Disorders, Marty shares tips for working with someone on the autism spectrum and how he successfully implemented agile practices in his parenting.
In this special episode, returning guest, speaker and Agile technical coach Llewellyn Falco co-hosts with Corgibytes’ Chief Code Whisperer M. Scott Ford. They recap the talks they attended and cover topics such as pitching talks, the value of meetups and practice, adapting talks on-the-fly, pair programming, how technical “debt” is like credit card debt and weight gain, and more.
Returning guest Woody Zuill is a veteran programmer, sought-after consultant and international speaker, as well as credited with both the “no estimates” and the “mob programming” movements. In this episode, we discuss estimates, working on a problem versus working on a symptom, paradigm shifts, and much more!
Dean of Arts & Sciences at SUNY Polytechnic Institute, Andrew Russell is a trained historian and researcher covering topics such as the history of technology and the history and societal aspects of computing. He is also the co-author, with Lee Vinsel, of Hail the Maintainers, and, together, they are behind The Maintainers, a global, interdisciplinary research network, which holds an annual conference in April. In this episode, we discuss the love of maintaining vs creating, why maintenance is overlooked compared to innovation, creative destruction, lifecycles, and so much more.
Scott Nimrod is a thriving entrepreneur, software consultant, and blogger who founded Bizmonger, a business that focuses on native application development for mobile and desktop environments, test automation, and the art of engineering reliable software. In this episode, we discuss being a software craftsman, taming code with empathy, functional programming, and taking charge of your professional life.
Robert Sösemann is an Agile and lean-code enthusiast, Lead Product Developer at Up2Go International, and inventor of ApexMetrics, a Code Climate engine. Lorenzo Frattini is a Salesforce-certified Technical Architect and creator of Clayton.io, a code-review robot. In this episode, we discuss code quality, how to measure it, when code is “done,” its business value, and more!
Michael Feathers (R7K Research & Conveyance) is a luminary, expert in software and organization design, and author of Working Effectively with Legacy Code. Over the past 20 years, he has spoken at conferences around the world, and some even call him the “godfather of legacy code.” In this episode, we discuss software best practices, Conway’s Law – or as Michael sometimes calls it, The Fundamental Theorem of Software Engineering –, the impact of code that could be deleted, and feature selection.
From early employee at AppFolio and Citrix to international consultant and speaker on team dynamics, Heidi Helfand is also the author of Dynamic Reteaming: The Art and Wisdom of Changing Teams. In this episode, we cover team stagnation, its causes, elements and best practices of dynamic reteaming and when reteaming should be an option.
Rebecca Dovi, who has over 20 years of experience teaching computer sciences, is the Director of Education at CodeVA, an organization that wrote legislation and worked with policymakers to make Virginia the first state where every child will receive access to essential Computer Science literacy – including coding – from kindergarten through graduation. In this episode, we discuss what that law entails, gender-bias triggers, how to attract more women to the field, and much more!
Pavneet Singh Saund is a web developer, a team lead at Komplett Group (a leading Scandinavian player in e-commerce) and founder of a blog called Coding with Empathy (http://codingwithempathy.com/). In this episode, we explore the various aspects of empathy, how sympathy and empathy are different, and the application of empathy for developers.
Brian Branagan is a leadership and management coach (Quality Conversations) as well as an Agile leader who has cross-functional expertise in Application Lifecycle Management for project definition, planning, execution and customer delivery in both start-ups and Fortune 500 corporations. In this episode, we discuss what is generative leadership, promise-based management, and capacity-based planning.
Catalina De la cuesta is a Lead Code Whisperer at Corgibytes. She brought with her 18 years of deep embedded systems experience, a college-level teaching and entrepreneurship background, as well as a lifelong learner mindset. In this episode, we discuss what it’s like to be a mender full-time, what led Catalina to Corgibytes, and why diving into binary files can be fun.
Carrie Hane is a Backend Content Strategist (Tanzen Consulting) who works on content modeling, database structures, automated content assembly, content reuse and a lot more. In this episode, we discuss what is backend content, what it's like to work with a strategist like Carrie and how to create future-friendly content.
With over 20 years of experience in the IT industry, Chris Busse, CTO of APIvista, recently helped launch the first public API platform for a North American bank. In this episode, we discuss what is an API, what is critical to its success, and how to find strategic success with digital initiatives.
An avid speaker, Jennifer Wong is a Software Engineer and Web developer at Eventbrite. In this episode, we discuss jargon, its history and how to combat it.
Arlo Belshee is a Team Craftsman and Legacy Code Wrangler who combines systems thinking, Lean systems, Extreme Programming, and changing culture experience to build high-quality teams at large companies. In this episode, we discuss naming as a process and its various steps to increase accuracy and efficiency.
Joshua Kerievsky is the founder and CEO of Industrial Logic, as well as the author of the award-winning book Refactoring to Patterns. In this episode, we discuss the four principles of Modern Agile and how their reach is now beyond software development.
Michael Vizdos is an entrepreneur and a certified Scrum and Agile trainer. In this episode, we discuss Scrum, Agile and how different forms of project management impact your codebase.
Woody Zuill is a veteran programmer, software development project manager and creator of mob programming. In this episode, we discuss what mob programming entails and its value in terms of increased productivity.
Declan Wheelan is an Agile coach and trainer as well as a board member of the Agile Alliance. In this episode, we discuss the concept of technical wealth, increasing a team's ability to deliver valuable software as quickly as possible.
Llewellyn Falco is a technical coach and the creator of Approval Tests. In this episode, we go into how using Approval Tests can help your team communicate better and work on fragile codebases with confidence.
Andrea Goulet and Scott Ford from Corgibytes kick off the first episode of the Legacy Code Rocks podcast. In this episode, they discuss the idea of Makers (the developers who like to build things) and Menders (devs who like to fix things).
En liten tjänst av I'm With Friends. Finns även på engelska.