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 mainfram…
Andrea Goulet and M. Scott Ford
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/
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/
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 software-design-book@googlegroups.com
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 hunter.madison@ibm.com. Mentioned in this episode: Hunterr's email at hunter.madison@imb.com 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
Agile is all about the speed of iteration and execution. One of the things that often gets neglected is the business impact of the code we are shipping. Today we talk with Prabhjot Singh, serial entrepreneur and the president and CEO of Pyze. He tells us how taking time to better understand the system we are mending can speed up our work and yield much better results. 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
We frequently discuss compassion, empathy, and kindness on this podcast. What we rarely focus on, however, is being kind and compassionate to ourselves. 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