RubyConf is my “feels like home” conf. I’m not sure if it’s because the ruby community is where I got my start, or because the people and community are just so gosh-darn nice, but after being at many wonderful conferences this year, it felt good to, metaphorically, go home for a week. There are many incredible RubyConf talks that happen every year and I encourage everyone to watch the videos when they come out in a few weeks, but this year, RubyConf had a interesting overarching tone. All of the keynote talks focused on one theme… your code is not your legacy. Your code is not what you will leave behind. What you will leave behind and what people will remember is you, the people you helped, the folks you had an impact on, and the monumental importance of being nice to yourself and to others.
I love this theme. It started in Matz’s keynote, where he shared that he is honestly embarrassed by the phrase MINAWAN (Matz is nice and so we are nice) and instead wishes RINASWAN (Ruby is nice and so we are nice) had caught on. It continued through Chad Fowler’s talk on growing old and Andy Croll’s talk on the impermanence of software. Both of those talks focused on how the code you write goes away, it gets refactored, it dies and that how you treat people, mentor others, and show your kindness are paramount to the code you write every day. Finally, the theme was concluded with Sandi Metz’s talk You’re insufficiently persuasive where she used psychology and books like Influence and How to win friends and influence people to talk about what makes people and teams happy when dealing with one another. She dove into the idea of psychological safety which is about being nice to folks and making everyone feel comfortable and left us by saying “you are good enough.”, something we often don’t hear enough of in the tech industry. The idea of being nice, reaching out, and the importance of our Ruby community was concluded in the ignite talks after lunch on that last day (which I was lucky enough to participate in).
All of this talk about code and growth and being good enough got me thinking deep thoughts about my career. At times, I feel as though I’m becoming the same developer with a few years of the same experience and not a developer that is constantly being exposed to new challenges and opportunities. This realization strikes panic in to my heart. I’ve posted before about my dislike of code challenges for a variety of reasons, but, honestly, one of those reasons is I’m just plain not good at them! For years I’ve worked in super complex legacy code bases. Ones where the schema is challenging and every ticket is an adventure (not always in the fun way). In legacy codebases you have different considerations, you need to carefully consider various problems and solutions not just in regards to the bug or feature you are building, but thinking about the system as a whole. While this is a super valuable skillset, it also means the number of times I spin up a new application or write
def initialize is minimal, leading me trying to remember those early days of coding whenever I even think about doing a tech interview. These are gaps I need to fill and that I want to fill.
I also am very honest with myself and I know that I have limited outside of work hours and bandwidth. There are some things I can drive myself to do solo, but this is not one of them. Over the next few weeks, I’ll be looking for pairs, preferably on open source projects. People who like teaching and pairing, to work with me on some of these fundamentals. If you’re one of those people, please let me know.