Info

Legacy Code Rocks

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.
RSS Feed
Legacy Code Rocks
2020
July
June
May
April
March
February
January


2019
December
November
October
September
August
July
June
May
April
March
February
January


2018
October
September
August
July
June
March
February
January


2017
November
October
September
August
July
May
April
March
February
January


2016
December
November
October
September
August
July
June
May


Categories

All Episodes
Archives
Categories
Now displaying: 2020
Jul 27, 2020

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 

Jul 13, 2020

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

Jun 29, 2020

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 

Jun 15, 2020

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/james2augeri/

James on Twitter at https://twitter.com/gotobits/?lang=bn

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 

Jun 1, 2020

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



May 18, 2020

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/  

May 4, 2020

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 

Apr 20, 2020

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 

Apr 6, 2020

When repaying debt, it helps to know how big it is. The same holds for technical debt. The problem is: how do you measure it? Today we talk with Daniel Okwufulueze, a technology leader, programming polyglot, writer, and senior engineer at dunnhumby. Daniel helps us define technical debt and tells us how to quantify it without falling into usual pitfalls while doing so. When you finish listening to the episode, make sure to connect with Daniel on LinkedIn and check out his writings at Medium.com.

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



Mar 23, 2020

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

 

Mar 9, 2020

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 

Feb 24, 2020

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 

Feb 10, 2020

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 

Jan 27, 2020

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 

Jan 13, 2020

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.infoq.com

https://meetamentor.co.uk

https://www.fromfragiletoagile.com 



1