Choosing tools matters in writing (per Stephen King's On Writing: A Memoir of the Craft) and programming.

When writing, it’s important to choose a tool that gets out of the way and doesn’t bog you down with features, settings, and other tweaks that would otherwise take up time. Pick a tool that allows you to get words down, whether on paper or online.

As a software engineer, picking tools matters as well. I have a severe case of shiny object syndrome. I enjoy trying new languages and tools. But, when it’s time to start work on a project or build a side project, I find myself trying to do too many things at once: learning a new language/tool, outlining requirements, attempting to create some semblance of a design, etc.

The most obvious example was when I thought I would use Deno to create a GoodReads alternative. Deno was growing in popularity and seemed like a fun language to pick up, so I opted to use it for my new project (note: the only JS experience I had was occasionally writing React code for fun/work). The learning curve and road blocks became too much, so I abandoned the project.

Using new tools is not always the wrong choice. Sometimes, these new tools/technologies can make your life easier (for reasons I don't feel like getting into) with little effort. For example, I chose to use Streamlit for my GoodReads Visualizer to avoid spinning up API endpoints and writing the frontend code. I could use what I knew (Python and writing vanilla HTML) and focus on the more difficult things like fetching the data and creating visualizations.