My 2020 (Dev|Re)solutions
Tags: graphql, kafka, webdev
Published: 2020-01-02 13:05:03

---
title: My 2020 (Dev|Re)solutions
published: true
date: 2020-01-02 03:08:26 UTC
tags: graphql,kafka,webdev
canonical_url: https://www.codingblocks.net/programming/my-2020-dev-resolutions/
---

 ![](https://www.codingblocks.net/wp-content/uploads/2020/01/traffic-in-hong-kong-PZ9DFG3.jpg)

New Year’s is my favorite holiday because I find the notion of periodic renewal invigorating. Let that [old lasagna](https://www.youtube.com/watch?v=wPnhaGWBnys) be forgot, I want to move forward! Overall, I was pretty happy with how my technical skills progressed last year, but I think I can do better. Much better.

This year I’m done trying to micromanage my future with limited information. I want to keep things simple by setting a high level focus and [prioritizing habits over static goals](https://fs.blog/2017/06/habits-vs-goals/).

### Focus: (Near) Real-Time Analytics and User Experiences

The software that people are interacting with gets better and better every year: better looking, more intuitive, and more responsive. That’s great news for the internet, and people, and everything I guess. That also means that people are coming to expect more and more from my software too. Yikes.

Apps like Uber, Tinder, and Slack offer great user experiences and the technologies underneath the UI iceburg are really cool too.

Since this is a high level objective, I’m not going to specify any more detail than that. I want to keep my plan lean and adaptable so I can hop on to any needs or opportunities that 2020 swings my way. I also don’t want to feel obligated to stick to an out-of-date plan.

Here’s a short list of technologies that are often associated with the (near) real-time types of experiences that I’m talking about:

- Pub/Sub queues like Kafka or AWS Kinesis 
- GraphQL subscriptions 
- Apollo Client
- Web Sockets
- Reactive Programming

![](https://www.codingblocks.net/wp-content/uploads/2020/01/image.png)<figcaption>Uber has a fantastic user experience, and my customers are coming to expect more real-time capabilities in the software that I write.</figcaption>

### Creating Habits: Deliberate scheduling time for tasks

I tend to spend a lot of time researching things for work, [Coding Blocks](https://www.codingblocks.net/), or other various side-projects\* so finding tech time has never been a problem for me. I spend way too much time on this stuff, but I enjoy it and it’s a passion of mine. Because of that, I’ve always entertained a bit of chaos in my extracurricular activities – letting myself work on whatever I felt inspired to work on. Any why not, this is my “free” time! The problem with this approach is that it’s all too easy over spend time on things that are easy or urgent…continuously bumping important/non-urgent and more mundane tasks to the back of the line.

I aim to mitigate this habit somewhat this year, by creating a new one. I want to spend 3 hours a week (in 1 hour chunks) working on deliberate, planned tasks. I’ll decide ahead of time what the task is, then I’ll set a timer, and do it.

Any tech time above and beyond that, including time for blogging, presentations, making videos, or…whatever I feel like is fine too – but I’m going to give this dedicated time a whirl to see if I do a better job of staying on top of important, but not urgent, tasks.

### Conclusion

I’m really looking forward to this year, and I hope that my plan of setting a single high-level focus and scheduling deliberate time for it works out. And if it doesn’t? Well, then I’ll stop and try something else! It’s not much of a “resolution” but I think it might “just work” for me.

Pic: [https://elements.envato.com/traffic-in-hong-kong-PZ9DFG3](https://elements.envato.com/traffic-in-hong-kong-PZ9DFG3)

\* Family, friends, and a hobbies too – but this is a tech focused blog, yo!