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.