Year in Review 2020

Reflections and lessons from 2020 and plans for 2021

You are receiving this email because you signed up for my (@andrewmcodes) newsletter at some point. I recently got fed up with ConvertKit and have made the transition to Substack to reduce as much friction as possible, which is why you are receiving this from a new address.

Hello friends!

Thanks for reading my first year in review post as well as my first newsletter edition. I am hoping to make this more of a habit in 2021, but we all have to start somewhere.

Quick Obligatory “2020 Bad”

Every year in review post I’ve read so far has had one theme in common:

2020 Bad. - Everyone

Don’t worry, you’re not alone in thinking 2020 sucked. Some of you may have lost family members, friends, jobs, and more. I lost all of the above, and my heart goes out to everyone who identifies with any or all of the items on that list.

Now that that’s done…

This year I learned a lot about a lot and a lot about that.

In the beginning

In January of 2020, I was working at what, I would later realize, was my dream job at CodeFund. I got a bright and early start this year, with some early morning merges to CodeFund on January 1, 2020. The second of those merges (warning: foreshadowing ahead) removed lots of unused JavaScript in the application, which is, by far, one of the most satisfying feelings in the world.

I kicked off my open source and personal coding adventures this year working on stimulus_reflex, rubocop-linter-action, view_component (still known as ActionView::Component back then), and various other endeavors.

The Ruby Blend

In early January, I also had the absolute fortune of recording the first episode of The Ruby Blend along with Nate Hopkins and Ron Cooke. Over the course of 20+ episodes, ending in September, I was able to make lots of new friends, become more engaged in the Ruby & Rails communities, and most importantly: learn a ton.

Recently listening to these old episodes again revealed what I would describe as the turning point in my career. If you were a listener of the show, you inadvertently got a front row seat as two incredibly talented and empathetic senior developers turned me into the developer I am today.

Remote Ruby

Once known to me as GoRails Guy and SouthEast Ruby Guy, Chris Oliver and Jason Charnes became close friends who were really the only constants in my life this year.

From Jason, I learned to be authentic, vulnerable, and to ignore the haters.

Jason also taught me arguably the most important lesson of all:

HAML is the way and the truth and the life.

All of these would join together to form an invincible HAML Voltron that will not be put down by HAML haters. It is thanks to him that I have this love for HAML and also thanks to him that I will never be convinced otherwise.

As for Chris, I think most of you know he’s the modern Ruby on Rails Neo and we are all lucky he shares his knowledge with the rest of us. From Hatchbox, which is my tool of choice for deploying Ruby on Rails apps, to his (excellent) Advanced Ruby Course, to GoRails, Chris continued to advance the community as well as become a personal hero for his ability to stay shipping this year.

What’s Actually Important

The wisdom and kindness that I saw in all of the people mentioned above caused lots of changes in mindset for me.

Previously I had been obsessed with being the best coder that I could possibly be and I measured my own self worth in lines of code and merged commits. I carried myself with a degree of arrogance and was convinced that I was on the yellow brick road to being a 10x developer.

These days I measure my value in terms of how much I can help my team and those around me to succeed.

I wrote a lot of code this year but the achievement I am most proud of this year is sponsoring and finding others to join in to send several juniors to their first RubyConf.

Bridgetown

In May, Jared White joined us on Remote Ruby for a talk about Bridgetown, which would drastically change the focus of my after hours coding efforts for much of the year. I finally had a tool that allowed me to have my own website, just the way I wanted, where I began to curate a digital garden of my blog posts and other resources, but also experience what modern JavaScript has to offer.

Bridgetown allowed me to become super productive, but it was unfortunately largely negated by my incessant need to “tinker” with Webpack, Babel, and a myriad of other tools that my brain craves.

Webpack & Modern JavaScript Adventures

Depending on my mood, I either really regret the time I invested in learning how Webpack works, discovering tools like Snowpack, and a general deep dive into the land of frontend development, or I think it was just what I needed.

Ultimately I think it will pay off, and it already has begun to, but it’s hard to judge when compared to the other things I could have spent my time on. If nothing else, I am glad I can now assist others so that they don’t have to go through it themselves.

After a recent job transition, I was asked if I was still writing Rails or working on the frontend and that’s when I realized I needed to vocalize the lessons I learned on the frontend.

I want to preface this with a very important note though:

My respect and admiration for frontend developers reached all time highs in 2020. In the past, I often made remarks about hating React, JavaScript, and everything related to it. And it’s still true - I absolutely hate when I have to use them. However, my hated of JavaScript is specifically due to the fact that it is insanely fucking hard. I dislike aspects of the community, tooling, etc. but ultimately that is strictly personal and I would never want someone to think I looked down on them because they write JavaScript for a living.

If anything I am so incredibly grateful that y’all exist because that means I can stay in the backend where I am most productive. You should use whatever tool that helps you ship, not the shiny tool, not the established tool, the tool that is best for you, your team, and your business.

Convention > Configuration

Convention over configuration is what works best for my ADHD brain and the deeper I went into the frontend, the greater my love of Rails became. The convention over configuration philosophy is something I now understand on a much more intimate level having seen what’s out there.

I plan to keep writing Rails for as long as I can, with 0 plans to ever transition to JavaScript.

This is what works best for me, I would encourage you to explore what works best for you. For what it’s worth, I hear Laravel is pretty cool.

Job Changes

Unfortunately I lost perhaps the greatest job, with the greatest people, that I will possibly ever have during the Summer, and CodeFund was eventually forced to shutdown. CodeFund changed my life in so many ways, and I couldn’t be more grateful that I was lucky enough work with this group of incredibly talented folks like Eric Berry, Nate Hopkins, Justin Dorfman, Joseph Chen, the GitCoin team, and more.

After CodeFund, Eric, Nate, and I started Rebase FM, where I was able to briefly hold the title of CTO. True story.

Eric and I joined the same company following that, and I ended up pivoting once more to the same company where I began my career as a developer.

Quite hectic and I’m glad for the experience gained but happy to not have to do it.

Main Takeaways

  • The web is broken

  • Let people enjoy the things they enjoy

  • Stick up juniors

  • Learn in the open

  • Ship early and often

Main Goal for 2020

No matter what, follow through and do what I say I’m going to do.

I hope you all decide to stick around as I try this newsletter thing out. Let me know what you want to hear from me about! And also please forward content editor and writing coach recommendations if you have them.

Happy 2021!