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
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:
Software Maintenance is an Anti-Pattern by Sarah Allen:
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.
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.