Attention! It's one of those posts that are written merely for self-reflection, not to share anything breakthrough-ish (or pretending to be such). It's gonna be personal, I mean it. You have been warned.
It was an odd year. Pretty much nothing went as planned. No-one could have imagined apriori how the situation developed. But it doesn't mean it was a wasted time - a new reality, even if challenging, is always an opportunity to learn and take advantage of it.
Let me summarize my key findings and learnings from 2020 - I promise to be brief and focus only on what had the most significant impact (upon myself and the way I think/work/play). Keep in mind that it is all written from a software craftsman's perspective (so the conclusions apply mainly for that industry).
Work (and job market)
- The forced remote model has taught us all a lot about ourselves - not all conclusions were pleasant, e.g., remote work is not for everyone (it's not just a matter of transparency, maturity, or independence) and strong org. culture is a critical factor in remote environments (mid- and long-term).
- Nevertheless, due to exactly that forced remote model, nearly all the geographical barriers (when it comes to employment) have collapsed; yes, there were many companies operating remote-first before, but these days everyone has already acknowledged 'the new normal' and even the most conservative players try to take advantage of the global job market.
- Microsoft's daring experiment of re-writing .NET (even if they never called it that way officially) has actually worked well (IMHO). Or even better than well. Now (with latest .NET Core renamed to .NET 5.0), they don't just have an open platform that works on many OSes - they've also got rid of key constraints & limitations, embraced non-Microsoft tooling, improved the PR perception, opened the ecosystem to OSS and community contributions. Well played, Microsoft.
- The ancient idea of 'componentization' in software has finally got its proper fulfillment... in the cloud. Take Machine Learning - a re-invented (I won't say 'new') discipline that is recently super-hyped, but it has a certain learning curve and high entry threshold. Or rather - it 'had': thanks to services like AWS SageMaker (or the equivalents from Microsoft or Google), it's now trivial to reap the benefits of the advanced ML techniques without actually knowing how they work under the hood. For me, this realization was genuinely mind-blowing.
The lock-downs and remote work didn't just change the way I work - it also has a significant impact on my private life. Here are some examples:
- A big part of my social needs was fulfilled at work and professional communities - now, when that is gone, I needed substitution.
- I've learned to utilize commuting for some rituals I find very important: mental reset, e-book reading, re-planning; adjustments were needed here as well.
- Local communities (meet-ups, user groups) and conferences were always an important way to get inspired, stay in touch with old friends, and meet new people of similar interests. Without them (as virtual ones are rather poor equivalents), I couldn't help the feeling of loss.
That impact meant that my life actually became ... less satisfactory.
So however odd it may sound, I pretty much had to ... re-design my life because of all that. Find different ways to recharge 'inner battery', invent new rituals, sometimes even discover entirely new sources of self-fulfillment. It was complicated, it took some time (and re-iterations), but it was necessary to keep me happy with my life.
Another learning was about the 'good game' (check this article if you're not familiar with the term:
As Michael Lopp claims, the game is not 'good' if it can't be won (it's the 3rd criterion). I agree. But I've extended (for my own sake) this criterion by an additional clause:
The game is not 'good' either if you don't believe in its meaning, if you question its purpose or if you see other ways to fulfill your goal(s) - better, faster or both.
Seriously, don't waste your time on the games that are not 'good'. Time is the only resource you cannot buy back.
I won't dig deep into those here. Feel free to click the links and check my reviews.
- "The Art of Leadership" - Michael Lopp
- "Database Internals" - Alex Petrov
- "No Rules Rules" - Reed Hastings, Erin Meyer
More about books I've read in 2020 can be found at my Goodreads profile:
Other culture gems (movies, TV series, music)
De gustibus non est disputandum.
I listen to a lot of music, but the majority of this stuff is of very specific genres: there's a big chance that it would not fit the taste of someone with a more 'mainstream' preference. That's why I've restricted myself to the most 'safe' choices (IMHO) only - masterpieces that deserve wider acclaim and do not belong to any super-narrow niche (of genre or style).
- "Last Dance" S01 - docu-series about the final season of Chicago Bulls of Jordan era; surprisingly it isn't really about sport, but about leadership and achieving
- "Myopia" Agnes Obel - magical, atmospheric pop (?) expressed with the classic means and artistic sense
- "Mestarin kynsi" Oranssi Pazuzu - progressive (but not aggressive) metal, a bit psychodelic - but just a bit :)
- "Syys" October Falls - dark neofolk, very ambient one
- "Alles Ist Ufer. Ewig Ruft Das Meer" Lamia Vox - pagan neofolk, very new age-esque
Useful tools & gadgets
- Roam Research - such a simple tool, but it makes a hell of a difference. In the shortest possible words: it's a note-taking/knowledge management tool with bi-directional linking and extremely powerful 'tagging'/querying mechanisms. Instead of hierarchical document trees, Roam allows you to create easily navigable, living knowledge graphs - a game-changer for people obsessed with research and knowledge management.
- reMarkable 2 - but only as a tool to annotate books while reading - I've already crafted a full review here, so I'm not going to repeat myself.
- TabNine - the idea of semantic completion has really resonated with me. I've used TabNine on Python code in Sublime Text 3: it's so intuitive and effective that I've given up on other refactoring extensions and language servers.
- Ultrawide monitor as a replacement for a 4k one - I didn't really plan the swap, but after it happened, I'm more than happy: 3440x1440 is a perfect resolution for both work and leisure.
- My favorite board game of 2020 - Tainted Grail - it's super-weird, but I like how it combines a campaign-like narration style with mechanisms typical for board games; another pro is its explorational character: very few things are initially known as it's a game of discovery and mystery.
2020, you know - I'm happy you're gone. We need to deal with your legacy for a bit yet, but I'm very enthusiastic about 2021.