Legacy Applications

Keynote - The Impermanence of Software by Andy Croll

Keynote - The Impermanence of Software by Andy Croll

by Andy Croll

In the keynote titled The Impermanence of Software, delivered by Andy Croll at RubyConf 2017, the speaker explores the theme of the transient nature of software and life. Croll opens with light-hearted anecdotes from his morning and encourages audience interaction to foster a welcoming atmosphere. He transitions into a reflective personal narrative, highlighting how different milestones in his life relate to the fleeting moments we all experience.

Key points discussed throughout the talk include:

- The Value of Time: Croll likens human life to the pixels on an iPhone screen, emphasizing how life is ultimately about the journey rather than the destination. A quote from Roman philosopher Seneca underscores the importance of guarding our time.

- Software and Life's Ephemeral Nature: He shares personal experiences in both successful and troubled software projects, portraying them as metaphors for life's unpredictability. Croll notes that many of the projects and codes we create may eventually get lost or shut down, paralleling this with insights on personal legacies.

- Cultural References: Croll incorporates anecdotes from his teenage years, including his fondness for point-and-click games and his journey into the tech industry, illustrating how hobbies can evolve into careers.

- The Joy of Programming: Croll expresses his love for Ruby due to its focus on programmer happiness and the importance of finding joy in work, despite the risk of burnout. He emphasizes the need for balance and well-being in the tech industry.

- Personal Legacy: He reflects on his father's dedication and the lessons learned about life balance, suggesting that the connections we make with others are often the most enduring aspects of our lives.

- Conclusions: Croll wraps up by encouraging the audience to prioritize kindness and recognize that both success and happiness stem from the relationships we nurture rather than the outputs of our labor.

Overall, the takeaways from Croll's talk revolve around the idea that life is fleeting, that we should focus on meaningful connections, and that joy in our work is vital. Furthermore, he advocates for mental health awareness in the industry while valuing the community over code.

00:00:10.600 All right, good morning! Just a quick point of business: I did the 5K this morning because I'm an idiot. When I got there, they gave me this number, which seemed a bit harsh. So far this morning, I'm not using my laptop. We've had to change Iran, so I blame the 5K. My legs hurt.
00:00:26.270 Before we start properly, I would like everybody to stand up. This will give room for anyone standing at the back to find a seat. Everyone standing up? Splendid! Now, can we put our hands up? Great! Can we turn around and face the back? Hands down, that's fine. If it's your first RubyConf, can you stay standing, please, while everyone else sits down? Locally, now those who are sitting, find someone standing and give them a high five!
00:00:49.610 For those of you who haven't done so yet, you can sit down now. That wasn't too painful, was it? Proof, therefore, that the man with the microphone gets to do whatever he wants! You might not realize this, but I already know what you're thinking: 'I know this guy. He's the entire reason we're here. He's nice, and I read his books, which actually helped me understand programming.' You might be thinking, 'Who is this grinning idiot?' That's me, I'm Andy!
00:01:13.570 I'm just a working developer like most of you. I call myself a consultant because it helps keep my day rate up. The only difference here is that the programming committee has unwisely given me exclusive use of this microphone for the next half hour or so. I run an opinionated newsletter that sends out Ruby code snippets every couple of weeks. You should sign up! I also lied about only having the microphone. I'm also a pretty good keynote speaker!
00:02:23.470 This is actually quite a personal talk—there's not much code. We are going to get into some serious life stuff, and I hope you will indulge me. This is Carl. It's funny: Sarah told the story about coming to Singapore ten years ago, and I met Carl when I worked there. He was starting up the Pivotal Labs office, and now he’s back in the US running the Seattle office. He has significantly influenced my professional thinking and helped me get my first conference off the ground.
00:03:31.730 He's on my slide because he pointed out an interesting comparison that I have essentially stolen for my talk. The average human life consists of roughly the same number of hours as there are pixels on one of these old-school monitors. I have a more modern comparison: I have a standard iPhone, and there are as many pixels on its screen as there are hours in an average human life.
00:04:03.170 What does that look like? This is what life looks like as a phone screen of hours. We have childhood—learning to talk, learning to walk, all those milestones. Then there’s school, university, and if you go, I’m roughly right here. You may not look at it this way, but that tiny orange spot is this RubyConf, where I am delighted, and a bit terrified, to be speaking. That larger red block represents the week of sleepless nights I had on the floor of the hospital when one of my twins was born.
00:05:45.000 You can see my daughter there—she's already plotting to take over the world! Those dots represent the three years of the Ruby Conference I ran in the UK. If you fancy a transatlantic flight to the south coast of England next summer, it would be delightful to see you there! That block is the 20 workdays it took to upgrade the last Rails application I worked on from version 3 to 4. If you happen to have any old Rails apps, I can help with that!
00:06:11.740 And this little sliver? This marks the time it takes to watch all 28 hours of the Marvel Cinematic Universe. The idea that life is short isn't new. Seneca, a Roman philosopher, wrote two thousand years ago that people are frugal in guarding their personal property, but they are most wasteful with time. That's a very valid point, especially if you’ve watched any of the Marvel movies more than once!
00:07:04.630 So, how many of you recognize this sentence? Not bad! Lucasfilm Games was an offshoot of Industrial Light and Magic, the special effects company that created Star Wars, which later became LucasArts. They produced fabulous point-and-click graphic adventures made by small teams. I spent my formative teenage years enjoying the words, puzzles, and humor of these games.
00:08:36.280 My favorite game was 'The Secret of Monkey Island.' It came on four floppy disks and had physical copy protection where you had to spin the disc around to match the pirate faces—a brilliant game! So, what do you do with the enthusiasm of a massive 15-year-old nerd? This is my first website—I managed to dig it back from an old CD-ROM backup. It has table tags, image hovers, and I cut all the images myself. It even loads in modern Safari, although it looks a bit weird.
00:10:39.800 So, this was clearly the effort of a lonely teenage boy. For those who don’t know what a web ring is, it was how we connected before social media, somewhat like Reddit but from an earlier era. You can see also the animated GIFs—those sadly disappeared from modern websites. Unfortunately, this masterpiece burned too brightly, and is lost to the internet forever.
00:11:28.580 Years passed; I got a degree, then a corporate job, and lost it. I got a girlfriend, kept her, and got married. I moved to Singapore and shifted back from corporate work to the websites I loved building as a teenager. I started working in a startup where we raised a bit of money; it was relatively easy at that time. We were aiming to sell things for money, which was unusual for some startups.
00:12:47.720 We were a travel startup doing flash sales for luxury hotels. The tech was awesome, and the team was lovely. I still have text files on my hard disk from all the stuff we said while sitting in Starbucks all over the city! We were one of the first companies to adopt responsive email and had a cool admin app that spoke over an API. We even had some profitable months but, as you might know, travel is brutal.
00:14:29.630 Unless you can get the Google ad machine to work, you're out of luck. Eventually, I decided to do some contracting. My wife was pregnant with twins, so I didn't want a traditional job. I joined a VC-funded travel startup, thinking it would offer a different experience, but it turned out to be a massively dysfunctional environment.
00:15:06.799 The engineering team was terrified of the legacy app they were stuck with, but things changed six months in when layoffs occurred. Despite the unfortunate event, the remaining product team began to gel. It turned into an awesome collaborative environment with lots of learning, teaching, and pairing happening. I enjoyed the work of untangling the past and refactoring it into something better.
00:16:32.090 I often describe this time at the startup as keeping the nose up on a crashing airplane—while we didn’t crash into the sea, we still came down. I feel a bit like Charlie Sheen in 'Ferris Bueller,' trying to find my place again, but given that airplanes have a better survival rate than some websites, I’m considering the possibility that this might interest me. Who here has shut down a website or been part of a failed venture? Quite a few! It’s comforting knowing I’m not alone.
00:17:53.460 Sadly, a lot of our code gets lost when projects shut down. Google Reader may be long gone, but it's not entirely sad—some things deserve to die! I mean, really, who thought that sweat-showing t-shirts were a good idea? So what have we learned here? You can't force something to endure. Adding money doesn't ensure longevity, though design and engineering matter.
00:18:25.570 Moreover, things we create can disappear as Chad mentioned earlier. Our daily work often involves redoing the work we did before, as links rot, code decays, and entropy wins. If life isn't about the end result, perhaps it’s about the journey.
00:19:57.930 In my research, I analyzed the average job description in the tech industry. Steve Jobs wanted to make his dent in the universe, and Marissa Mayer of Yahoo highlighted that working weekends is a key indicator of success. Jeff Bezos said to work hard to make history. But the advice appears foolish—a glorification of overwork that doesn't equate to a quality life.
00:21:08.720 Sometimes, we end up sacrificing our health by working too hard, which is not a virtue. Remember, the human brain looks for narratives that sometimes are mere illusions. Roman philosopher Seneca pointed out that the accumulation of material wealth often breeds more toil but can end in misery.
00:22:44.000 Seneca isn’t the only philosopher I will mention; let’s talk about Alan Watts, a British philosopher who reinterpreted Eastern wisdom. He said that music, as an art form, is playful. If the end is the only thing you aim for, you miss the joy in the journey.
00:24:10.080 This is a photo of me and my dad; the last photo we took together before he passed. He worked tirelessly and was devoted to family. In his eulogy, he noted he often got his work-life balance wrong, but what people admired most was how he quietly cared for others.
00:25:37.600 I am trying to provide perspective, to remind you that if you wish to leave a legacy, don't expect it to be obvious. The reality is, we all have one destination—reflect on how you want to spend this journey. Life is as much about enjoying the process as it is about final outcomes.
00:27:16.430 As programmers, we often experience joy when immersed in the creative side of our work. This is why I love Ruby—a language designed for programmer happiness. It helps us flow and engage our creative instincts, though it's also easy to slip into unhealthy work habits. In my current journey with an amazing team, we have regular retrospectives, which help us surface issues and improve our working culture.
00:28:50.700 Sarah is right: while our code may not last forever and we won’t be commemorated with statues, life is far too short to build useless things. The key is to discover what movement you enjoy in your work. The happiest people I know find ways to maximize joy in their daily lives. We shouldn't romanticize burnout and overworking. Remember, coffee is not a food group.
00:30:12.210 It’s essential to remember to take care of your mental health and well-being. You've heard me say this before: dancing without others can be just as fulfilling as in a group. The moments I cherish most from my career are the people, not the code written. Ruby is about people—the core team, the open-source contributors, the community.
00:31:55.830 The only lasting dents in the universe are the connections we make with others. Treat one another kindly, recognize that we are all dynamic, and we're all a work in progress. Remember, you’re not tasked to know all the answers; your experiences and the kindness you show to others, in any form, are what truly matters. Thank you very much.