Productivity Stack 2.0
Tags: productivity, tooling, programming, career
Published: 2024-01-11 23:33:21

Nearly 3 years ago I made my first [dev.to](http://dev.to) blog post. It was titled [productivity stack](https://dev.to/hampgoodwin/productivity-stack-4o05). I had just left big tech in search of technical gains in the startup world.

I’ve had many amazing opportunities and have learned a lot since then; I’ve also changed a lot. With my additional personal experiences, the ways I try to maintain productivity has changed. Here is how I attempt to maintain productivity.

> ⚠️ NOTE productivity should be employed unto the fulfillment of self and those around you. When I say productivity I do not mean increase my contributions at work. However, my efforts to maintain a forward moving lifestyle can provide benefits to my employer. I hope this makes sense.
> 

# My Stack

- Time Management Methodology
    - [Focus To-Do](https://www.focustodo.cn/), Pomodoro
    - Calendar
- Mindful of ‘am I rested?’
    - Rest List ([7 types of rest](https://ideas.ted.com/the-7-types-of-rest-that-every-person-needs/))
    - Stop sitting
        - Have a good [chair](https://www.steelcase.com/products/office-chairs/gesture/)
- Note Taking
    - Use whatever work tells me to for work
    - [Notion](https://www.notion.so/) for everything else
- Work Environment
    - Hardware
        - External Speakers (wearing headphones all day suuuucks)
        - [Sit/Stand Desk](https://www.fully.com/standing-desks/jarvis/jarvis-adjustable-height-desk-bamboo.html)
        - [Split Keyboard](https://www.zsa.io/voyager/)
    - Software
        - terminal emulator: [kitty](https://sw.kovidgoyal.net/kitty/)
        - ide: [nvim](https://neovim.io/)
            - start off with [kickstart.nvim](https://github.com/nvim-lua/kickstart.nvim)
        - [ollama](https://ollama.ai/) [mistral](https://ollama.ai/library?q=mistral) on local server
        - terminal multiplexer: [zellij](https://zellij.dev/)

---

# Time Management Methodology

> 🔥 Hot Take
Don’t worry to much about using your time wisely. Just work on awareness and if you’re avoiding doing the thing, fantasizing/writing about doing the thing or if you’re just doing the thing. In any and all scenarios, just be happy with what you’re doing and that you’re a human alive on earth. ❤️
> 

I feel the most productive when I keep a list of stuff I want to get done, and work in pomodoros to do them. I have in the not distant past, gone too far with my planning which was detrimental for a couple of reasons. I attempted to keep track of everything. At some pointing instead of getting things done, I was writing about getting things done.

To this end, I think it’s important that I keep things I’m not especially interested in lean on details. For example, I will simply have a task “work” for each weekday. When I want to clean, I just clean; or if I want to enumerate specific things I want to clean I can do that. I think what matters most for me is to recognize if I am getting dopamine hits from fantasizing/writing about doing the things vs actually doing the thing, and to make sure I am doing the thing.

I’ve used various tools over time to manage my time. I’ve used RecueTime for accountability, Pomotodo for pomodoro tasks, and am most recently using Focus To-Do. Honestly, I’m kind of tired of all the apps and thinking about where is the best place to facilitate my productivity. I think I’m going to just stick with what I have for now which is Focus To-Do, but I expect my next iteration probably be some CLI tool that works everywhere and is simple.

# Rest

> 🔥 Hot Take
If I’m not in a flow state or having trouble getting into one, I should attempt to rest.
> 

This is something to strive for but I never seem to get enough of because I’m a masochist. In my experience, I start every job well rested and am great at getting [rest](https://ideas.ted.com/the-7-types-of-rest-that-every-person-needs/) for the first 6 or so months. Then something happens where my work starts to take the space rest should. Then what happens every time is my work gets worse. If anyone has suggestions on how to help me end this bad cycle, please hmu.

# Note Taking - Researching

> 🔥 Hot Take
Writing things down living in the past or future doesn’t help me much. For work, sure, writing documentation is extremely important. However, too much time, effort and energy shouldn’t be expended here. Live today.
> 

I’m not a writer in my personal time. I aspire to keep a journal, but I don’t like how long it takes. Instead of journaling I’ve found it effective to instead meditate at the end of the day and think on whats happened. So, I don’t really ‘take’ notes anymore for personal things, not even for things I am learning. Most of what I learn is too complex to memorize and already well documented. So, instead of attempting to take notes on the topics, I have instead learned to find information quickly.

While I do not enjoy personal writing, I think it is *very* important to write work documents, make them easily discoverable, and clear for use. I try to adopt and refine whatever exists wherever I work. My one stick-to-my-guns area of documentation is the code repository readme and other md’s. I believe the documentation should live as close as possible to it’s topic/domain.

For all other things, I use [Notion]([https://www.notion.so](https://www.notion.so/)). There have been a ton of note taking competitors, but nothing works as cleanly and is as easily discoverable as Notion. I keep all my family recipes there, when I do job interviews I keep my notes there, and I keep my notes for blog posts there (here, as I write this). I also keep notes for more scholarly pursuits here.

# Work Environment

> 🔥 Hot Take
I should feel joy at least 2/5 days when I sit down to do my work. It’s important to switch up how I accomplish work to keep things engaging for myself; not sure I can deliver value per say ( I probably will ) but so that I can be fulfilled by my efforts in my work.
> 

I’ve used [VS Code](https://code.visualstudio.com/) as a zealot for about the last six years. I tried intellij, sublime text, atom, and even visual studio. Everything took too much configuration in order to get started working (except atom, but it just faded away). For where I was at in various stages of my career during the last six years, it has been a fantastic IDE. There was a lot of functionality that was hard to integrate into VSCode in recent years that I really wanted. I thought with modern language servers and language server protocol, more should be easily available. I also started losing some joy when I would open my IDE; a lack of discovery, adventure and ease.

Enter NVIM.

I’ll likely do whole ‘nother post on NVIM; my journey and my set up. However, it suffices me to say here that this is what I use, and would now recommend to anyone over VSCode. I think it’s very important to avoid distributions, and instead start with [nvim.kickstart](https://github.com/nvim-lua/kickstart.nvim). After a couple weekends of pain and fun with nvim.kickstart, you’ll be ready to spread your wings using nvim full time and enjoying it.

At the same time I swapped to NVIM I also did an accounting of my terminal emulator which I’ve used for the greater part of the last 6 years, iterm2 → zsh + oh my zsh. I came across a couple awesome options; alacritty and kitty. I’ve settled on kitty for various reasons which I’ll likely go into more detail on another blog post. Then a little later I started hearing about tmux, and started looking around and discovered [zellij](zellij.dev).

AGAIN at this same time, I decided I wanted to type in hardmode, so I got a [sza.io voyager](https://www.zsa.io/voyager/) split keyboard. This one was to be cool, but also I started noticing some pan in my wrists. I no longer have any pain. I do currently type substantially slower, but I love being able to take this keyboard with me to the coffee shop when I work there.

With all the above coming together, I now have a much more enjoyable developer experience. I think this is really important, if you’re at work ~8 hrs per day for a large portion of your life, it’s worth while to make it as enjoyable as possible.

---

Some time after all these changes, I got a bit more interested in the LLM hype. I think what did it for me most was when I found [ollama](https://ollama.ai/). The ability to run many different types of LLMs on one machine, run them locally and also build my own was very appealing. Just prior to this I started using LLMs like chatgpt and bard to answer questions for me on the regulary. I now have models running on my home server which are integrated to my nvim ide doing github copilot-like things. 

# Summary

Over the years I’ve changed my opinions on the importance of productivity and how to accomplish it. I’ve recently made a lot of work set up changes that have caused me to slow down a bit, but makes my day substantially more enjoyable. There are also substantially more toolings to accomplish ‘productivity’ recently. Getting the most out of my day is important; whether that is resting, or completing work, or a project at home I want to get to the end of my days and feel good about it all.