Code fatigue - frustrations

michaelcurrin

Michael Currin

Posted on January 1, 2021

Code fatigue - frustrations

I hope you can relate to the struggles here.

Maybe you have some encouraging words for me, or some ideas to change my mindset or priorities. So we can keep each other less anxious.

Overwhelming feeds

I subscribe to updates from couple of tech sites. These easily get too much - instead of leaving updates unread and then feeling burdened, I sometimes unsubscribe. I can go and visit the sites if and when I need to catch up.

Or I let go of the idea of reading everything - rather focusing on getting the most out of a few posts.

The quality and relevance of the recommended posts I get is a mix of great and poor. The poor ones are annoying to sift through. When the they are great, I end up slowing down my devices because I open tabs to read, but often don't get to read the article. Or I end up with starred mails or bookmarked tabs that I might get to... one day.

Yesterday I got five Dev Digest mails from dev.to on recent posts and another today. All with the same subject line - I hope that was a bug on their side.

Gmail screenshot

Anyway, I have unsubscribed from this now:

  • Send me a periodic digest of top posts from my tags.

I just discovered I can adjust the weighting of topics in my dev.to feed:

I get too many regular mails from blog platforms like Medium.com, Hashnode, Hackernoon. Again, I like the content but it gets overwhelming in my inbox.

Plus I get mails from Digital Ocean, FaunaDB, StackOverflow, Daily Coding Problem....

I unsubscribed from AWS because they send weekly mails on conferences and it gets too much.

I removed some subscribed topics from my Dev.to feed so I can get more Python articles and fewer JavaScript or beginner articles.

Package management

I use GitHub's Dependabot and sometimes also Snyk, so that I can get notified of security vulnerabilities in my GitHub projects. I have over 100 repos on my GitHub profile, mostly original.

So this means that about every week, at least one of my projects has some insecure packages. Especially in JavaScript projects where it is common to have 1000 dependencies in a project and to have dependencies to be nested many levels down. Here is vulnerability message I got for cache-base@1.0.1, which goes 5 levels below the Next.js package (which is already at the latest version).

next-quickstart@0.3.0 › next@10.0.4 › webpack@4.44.1 › micromatch@3.1.10 › snapdragon@0.8.2 › base@0.11.2 › cache-base@1.0.1
Remediation: No remediation path available.
Enter fullscreen mode Exit fullscreen mode

In fact, that vulnerable version of cache-base@1.0.1 appears in about 15 dependency paths.

Here is a longer one for the same alert - this is 12 levels below Next.js package:

next-quickstart@0.3.0 › next@10.0.4 › webpack@4.44.1 › watchpack@1.7.5 › watchpack-chokidar2@2.0.1 › chokidar@2.1.8 › readdirp@2.2.1 › micromatch@3.1.10 › extglob@2.0.4 › expand-brackets@2.1.4 › snapdragon@0.8.2 › base@0.11.2 › cache-base@1.0.1 
Enter fullscreen mode Exit fullscreen mode

Sometimes it is automated to apply a fix, sometimes it takes more effort. Sometimes there is no solution available yet like above, which leaves me feeling helpless and I have to shrug it off.

JavaScript frustrations

I write and read about JavaScript almost daily. I often find there are surprising quirks about the language and ecosystem that I don't have to worry about in other languages.

Some phrases I bet you can relate to are "callback hell", "promise hell" and "Javascript fatigue" (I believe the last one deals with learning and switching between so many libraries). Some months ago I wrote out my frustrations (with code samples) here.

I'm glad to have tools like Vue's build command tell me the size of my output files. But even on a fresh Vue quickstart project made of just boilerplate Vue code, it warns me that the output file sizes are too large. I don't know if anything I do in a larger project can bring that down below the warning level.

Or I have to do reading on to how to optimize my bundling, minifying and chunking... and I might not solve the issue.

The endless todo list

This is something I have to come to terms with again. I sometimes feel optimistically that I can spread my time between my favorite existing projects and make new ones. And that adding features is quick and fun.

And other times I spend most of my evening after work or a weekend is trying to add just a single feature to just one project.

And I have to troubleshoot a lot of bugs on the way. Especially annoying when using a language or library I am new to.

And when I finally get the feature out, I have TODO items in the code, or I've added issues for myself on GitHub to come back to when I have more time and energy to refactor to code / add a feature / fix a bug.

One of my favorite projects is a markdown badge generator which I started 12 months ago. I now have over 60 open issues (all by me). I don't know if I'll ever get to them, which feel like a burden, or I have to forget some.

I do find that issues help me organize my thoughts over a long time including with links and screenshots.

I love coding and that's why it's my career. But when coding on work and personal projects, I feel like I am slaying the task head of a many-headed hydra, which then spawns two more tasks in its place.

The endless todo list is not just in tech, it is probably any career. Plus our personal and admin todo lists.

💖 💪 🙅 🚩
michaelcurrin
Michael Currin

Posted on January 1, 2021

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Code fatigue - frustrations
anxiety Code fatigue - frustrations

January 1, 2021