365+ Days of (Rails) Development

How a year of daily commits transformed my development

Posted October 01, 2024

365+ Days of (Rails) Development

Ella at the office pretending to be dad 2022

Just over a year ago and half way through an incredible paternity leave I had decided that I was going to commit (pun intended) to pushing code daily. Whether it was a few lines, a small bug fix, or diving into a major feature, I was to make time to open my editor and ship something. Here’s what I learned.


GitHub Streak

First, my development history

I’ve been involved in web design and development since high school. Back then, it was all about Dreamweaver magic, but I was hooked. In college, I started getting paid for my work. In fact sometime around 2001 John Nunemaker and I sat down to build what was one of the first client jobs that didn’t come from a family friend, the career path had shifted. In these early days, it was simple HTML—I’m not even sure if CSS stylesheets were a thing yet. It was simple. For a couple of college kids, it was being paid to work on the computer.

Fast forward 25 years, and I’m still developing web-based software. Today, I’ve worked for companies such as Heroku, GitHub, and Salesforce, and helped ship SaaS applications that have been used globally. There’s nothing quite like the feeling of shipping code to a platform like GitHub or Heroku and seeing it immediately used around the world.

My challange

However, up until 2020 the only complete web applications I had written from the ground up by myself (not including marketing sites) were cobbled together in PHP, lacking features due to my limited experience. Not that PHP isn’t a great language in it self (33.33% market share last I looked), but I wanted more and my heart for development was elsewhere.

A love for Ruby on Rails

Taking a step back, in May 2011, I joined some college friends in their venture, OrderedList. This was my first experience with Ruby and Rails, and I was instantly captivated. This was back in the Rails 3 era, and Ruby hadn’t yet reached version 2.0.

I worked on building and modifying Rails applications across the OrderedList portfolio, and on an even larger scale after our team was acquired by GitHub. Notibly, during my first week at GitHub—the fastest growing software company at the time—I was already shipping code to production. It was an exhilarating experience that’s hard to put into words. In the years that followed, through the season of design and development at GitHub, to Heroku, no matter what new and cool JavaScript framework came along—be it Ember, React, or others—my heart returned time and time again to Rails.

I can’t even put to words why my apprication for Rails continued to grow, some of the closest devs around me had moved on completely to javascript frameworks and were creating some cool things. Heroku began shifting apps from Rails to Ember.js, so it was up to me to make growth happen.

Showing up was half the battle

Like anything, in the beginning, the biggest challenge was simply getting up and putting myself in front of the computer. Life is busy. Even while on paternity leave the day to day challenges of wrangling (now two) kids, attending routene social events, etc. makes it easier to sit down and watch tv than sitting down infront of the computer. There were days filled with motivation, where I’d sit down for a few commits and find myself working for hours, and other days were more of a struggle, where all I could manage was to update gems and keep the apps running. But I continued to show up. And what I realized was that the act of showing up, day in and day out, became easier and easier as time went on. It was about discipline and consistency..

The growth was not always obvious

In the midst of daily commits, it was sometimes hard to see the progress. Growth often felt subtle. But then I’d look back at the code I wrote in the first few weeks, and I could see just how far I had come. Concepts that were once confusing became natural. Things that used to take me hours now took me much less time.

What started as me learning Rails, strengthened my Ruby, which then led to me questioning why am I using things like MySQL and what does this Postgresql have to offer. Slowly every area of my developement began to grow. I noticed that even while going back to work on older PHP apps I had new insights on how to make them better. (Or I just replaced them with Rails apps). The discipline of daily development made me a better not because it magically imparted genius-level insights, but because it forced me to work away at my weaknesses one day or commit at a time. Each commit, no matter how small, was a reminder that I was getting better. And when I look back, the overall effects are forever motivating.

Building a habit, creating confidence

By committing code every day, I built a habit. It didn’t matter if I was tired, on vacation, or struggling through a busy schedule—I still wrote code. Over time, this discipline had a profound effect on my confidence. I found myself more willing to take on challenges that seemed daunting, knowing I could tackle them piece by piece.

The most valuable outcome wasn’t just becoming better at coding, but becoming more confident in my ability to learn and adapt. That confidence spread beyond just software development. I became more patient with myself and more open to other challenges that required persistence.

It has its costs

I will say each day came with a cost. There were times when I was choosing to head downstairs and push code vs spending the time with my girls or getting something else done around the house. Those that know, know, my three girls are the most joyous part of every day. There were events I’d choose not to attend because I had a feature or pull-request waiting, moments that I missed potentially. We choose to invest our time each and every day, this last year I invested in development and hope that its return will follow.

A year later: what’s next?

Now that the year is complete, I will tell you that this coding-challenge was an incredible season of growth. I’m in no way an expert at rails, or any development language for that matter, however, I’m even more confident that with time I can learn any of them. Moving forward, I’m not sure if I’ll push code each and every day, but not because I don’t have software to ship, but because I have additional lessons to learn. Not all of them in the digital world.

I will tell you that I’m getting closer to shipping a new app for Search and Recovery Dive teams (like ours), and this excites (and terrifies me). I have also purchased rookieonrails.com and hope to document some of my successes and failures as I continue to design and develop.

Regardless of what you’re doing, here’s to showing up, one day at a time.