My 2018 Annual Review

· 7 min read

New Year is a good time to reflect on the ups and downs of my previous year. I’ve never done any official review, so this year, I decided to replace my vague ruminations about the past year and instead turn them into more concrete plans and ideas.

This review organises my thoughts along three questions shamelessly stolen from James Clear:

  1. What went well this year?
  2. What didn’t go so well this year?
  3. What am I working toward?

I would like to start with a few caveats. I’m on a personal journey of discovery and improvement. I seek to understand what inspires me and creates fire in my belly. You may find things here that resonate with you. If so, that’s great! However, I don’t pretend to be an old sage wise with the hindsight that tells anyone how to live their life. I’m more of an explorer, correcting his life’s trajectory among many experience islands.

Peter Drucker is credited with saying “you can’t manage what you can’t measure”. With this Annual Review, I’m curious to find out my progress, how my thinking changed over time and provide a trail of behaviours that shaped the person I am now.

That said, let’s start with the good stuff.

1. What went well this year?

Open source. It really felt like a prolific year. I wrote many Ruby gems! Seven to be precise:

I had tons of fun, in particular, coming up with the coinpare tool for checking and tracking cryptocurrency investments. With little effort, using predominantly tty gems, I built a fairly complex command line application. I’m a great believer in libraries that do one thing very well. This project gave me extra validation for the general idea of independent, minimal and reusable components.

I resurrected a Ruby gem called finite_machine which I haven’t actively maintained since 2015. It had some thorny issues related to code design and specifically threading. The rewrite has taught me a few valuable lessons. One of them that naming concepts is an important part of clarifying intention behind system components. Another one that less is more when it comes to software design. By removing unnecessary features and simplifying design, I fixed long-standing issues including threading. It was interesting to see how my thinking about structuring code has changed. I confirmed that my intuition and code sensibilities have greatly improved. Nowadays, I really appreciate simple design.

Conference speaking. This year has delivered some of the most memorable speaking engagements! I had a chance to speak at:

  • RubyConf India
  • Bath Ruby
  • RubyKaigi Japan
  • Brighton Ruby

The Ruby Conference in India was a very unique experience. I get to be on stage but in a more lighthearted way, making jokes about Ruby and having fun with the audience. Probably the best aspect of the conference was the people - cheerful, engaging and super friendly.

My dream came true when I had a chance to speak at Ruby Kaigi in Japan! The experience was more than I expected. I had many anxieties about my talk but everything went smoothly. I received, as a thank you token, a little badge with actual Ruby in it! It was a super well-organised conference! The level of the talks was extraordinary and covered many complex topics in great detail.

Travel. I’ve done two major trips this year - India and Japan.

India is such a fantastic place, it has the highest contrast between everything I’ve seen in my life. I’ve never experienced so many different smells, sounds and colours vying for my attention. Walking around Bangalore, I saw a guy on a white horse travelling down a busy road among honking of millions of cars. On the same day, I got kicked in the shin by a begging kid because I’d run out of money and had nothing to give! Even though I’ve seen a lot of poverty, I have also seen a lot of entrepreneurial spirit; people selling flower arrangements for weddings or used helmets for motorbikes. Among all the things, I also experienced most delicious foods and went vegetarian for the duration of the trip.

My journey in Japan started from Tokyo. Whilst there, I went on a kayaking trip down the canals to see Tokyo Skytree; trained swordsmanship with katana in a traditional Japanese house and learnt how to prepare Edo sushi from scratch with a great master called Norisan. Following on from my Tokyo experiences, I ended up in Sendai where I delivered my Ruby conference presentation. My last stop on the journey was Kanazawa, a historical city famed for its samurai traditions and beautiful gardens.

I also had a chance to take my parents to Warsaw, the capital of Poland, for the first time. It’s weird that sometimes you live in a country all your life but you never visit the capital city. I hope to explore more Polish cities in immediate future.

2. What didn’t go so well this year?

Programming. I’m annoyed at myself that among all the many open source projects that I have created I’ve failed to learn and explore new programming languages. I really wish to expand my programming skills in functional languages. Specifically, I plan to learn to code in a LISP family language, with Racket being the main candidate.

Conference Speaking. I have been rejected from quite a few conferences this year and probably the rejections that sucked the most were the Ruby Conference in USA and Australia. I’ve also been rejected from EuRuKo but I could deal with it fairly easily as this is my ‘tradition’ since 2016 - applying and getting declined. It’s always a game of strong will for me, who is going to win this time? EuRuKo by rejecting me one more time or me giving up?

Weightlifting. This year has been abysmal when it comes to reaching my goals. I had long breaks due to conference speaking and travelling that translated into me feeling like I’m constantly trying to get started, rather than continue my workouts. Against all odds, I achieved the following results for the big lifts:

  • Squat 100 kg (220 lb) for 3 reps
  • Bench Press 70 kg (154 lb) for 3 reps
  • Deadlift 80 kg (176 lb) for 5 reps

Blog. I was hoping to finish building my personal website and publish some articles. I’ve even gone so far as to write a few drafts. I haven’t finished any of the articles to a point where I would be happy to share them with the world. The main reason that I’m struggling to launch this project is more to do with my attitude towards it, rather than anything technical or a lack of time. There is a lot of self-doubt connected with this idea. I cannot decide on what things I should focus on sharing and what will resonate with people.

3. What am I working toward?

The overarching idea for 2019 is to get out of my comfort zone and experience new ideas, people and places. More output and less self-judging! In particular, my attention will be fixed on two themes:

Collaboration. I wish to collaborate with more people. I feel that I had been too much of a hermit over the last year and need to expose myself more to fresh ideas and new people.

Growth. Learning did not enter much of a picture in 2018. I did a lot of things but haven’t felt like I’ve learnt much. The internal dialogue was more to do with actually producing output and finding solutions to meet a particular goal than discovering new things. Now I want to observe more, learn from different areas for the sake of it and improve on a daily basis.

To help me realise the above goals I plan to focus on:

Writing. I really want to be able to produce some useful articles on various subjects from a very specific tutorial type of 'how to do X’ to more general abstract themes like software architecture or open source maintenance. Through writing, I want to discover my own voice and clarify my thinking.

3D printing. This is one of these exciting technological developments that I didn’t dip my toe in much. Nowadays, as the prices are at a reasonable level, I’m seriously considering getting myself a printer and seeing what I can create with it. I would like to be able to print progressively more complex structures such as humanoid robot parts.

Mixed Martial Arts(MMA). This one may seem to be out of character but I’ve been following MMA events for a few years now, partly because of Joanna JÄ™drzejczyk and her phenomenal fights in UFC, and partly due to my work buddies. I was always curious about martial arts but I haven’t done any myself. It’s not necessarily the fighting techniques that appeal to me but the notion of a 'fighter’. I think being a 'fighter’ is a universal yearning in all of us. We fight for our freedom, our values, our family. I need to find a place where I can start doing some practice!

Travel. I’ve been thinking about the notion of travelling to 'nearby’ places and less commercialised parts of the world. Surprisingly enough, even though it is a couple of hours train journey away, I’ve never been to Wales. Can you believe it? I’ve also never set foot in France, even though I could travel there on a train as well. Unbelievable. Of course, I still wish to maintain international travels to far away countries and at least do two major journeys in 2019.

Things could always be better but overall I’m pleased with my progress in the last 12 months. This is my best attempt at figuring out this thing called life. As always, there are no certainties, only guesses at what may yield positive and lasting changes.

That’s all I’ve got for this year. Thank you for reading and hope 2019 is full of transformative experiences!

I'm Piotr Murach. I document my programming journey and share my coding experiences with practical examples to improve your day-to-day work. If you enjoy my articles or open source projects, please consider supporting what I do. Be sure to also subscribe to my newsletter and feed.