March 16, 2019
March can be a strange time of year to reflect, but lately I've found myself doing just that with respect to my GitHub stats. For about 12 months, I've been obsessed with tracking one simple graph, and I think it's time to analyze what this has done for me and decide if I need to make a change going forward.
More specifically, I updated my GitHub Profile to make my contribution activity public to the world, even for my work in private repositories. This still hides exactly what I've been doing, but it does show how many commits or pull requests I create on a given day. I've used this as a step toward accountability with myself: last year I set a goal to code more often, and this helps prove that I have been coding more often.
In my day job, I don't write much code at all. I lead a very strong team of engineers, and as a manager I empower them to make decisions and write code while I get out of the way. My focus on leadership, people management, and technical strategy for my day-to-day responsibilities has led me to side projects or weekend hacks to stay current with coding and modern web or app software trends. Thus, my goal to write code at least once per week was born. I've made a deliberate effort to take an hour or two in the morning or evening to write code at least once a week.
Evaluating my progress
In the last year I contributed 561 bits of work towards repositories on GitHub. That's just over 1.5 contributions per day. However, as you can see from the visual representation above, I haven't quite hit my goal. Even though it averages out to at least once per day, there are multi-week stretches of time with no activity whatsoever. On the flip side, there was a stretch of time where I wrote code for 49 days straight.
Reflecting on these numbers has made me think: has the obsession been worth it? I've dabbled with React Native, React web apps, Node.js backends, Ruby/Rails backends, native iOS or Android apps, and more in the past year. Exposure to all of these platforms in my free time has helped me in my day job, and it has also helped me build cool prototypes or MVPs of various ideas I may have. In many ways, it has been extremely valuable to continue coding regularly.
Keeping an eye on my contribution number has also driven me to write more code. It may seem obvious, but having a number to increase by one has made it pretty simple. There have been several days in the past year where I think to myself, "I need to keep the streak going" so that I can fill in the next box in the chart. This has pushed me to write code when I might have just taken a morning or evening off to relax.
While I have been able to achieve my goal to write more code, it has me wondering: should this be my focus? I've gained a lot from coding more often, but I have also sacrificed growth in other areas. Lately I've become extremely interested in the Low-Code or No-Code movement. In many ways, we have hit an inflection point: non-coders are able to produce results and create value in ways that simply was not possible before. I've been following makers like AJ of Carrd, Ben of MakerPad, and Pat of Starter Story. The stories of their individual success and the success stories they share of others is often astounding.
Looking ahead, I plan to continue coding. No questions. It's fun, rewarding, and second-to-none for me. However, I'm putting my obsession with GitHub stats to the side. Going forward, I will focus on delivering value and proving out ideas rather than writing code. If those ideas or value require code, I'll write it. However, there are a number of no/low-code ideas on my list that have been shelved due to my focus the past 12 months on purely writing code.
Here are a few specific ways I plan to hold myself accountable, in lieu of chasing my GitHub stats.
- Publish updates transparently discussing my progress on projects on my blog or another content platform
- Deliver something of value each month: a software prototype/MVP, new feature in an existing project, or test an entirely new business idea
- Reflect on this effort regularly, but evaluate thoroughly in six months
Writing this post is simply the first step toward achieving this goal. I'll keep you posted as I go.