Wandering thoughts
Tags: mentalhealth, webdev, beginners, programming
Published: 2021-11-23 20:32:08

Lots of developers joke about this quite a bit: buying a new domain name when you have a bunch of other projects that are there just unfinished. I know for a fact that I have more domains across a couple of my accounts than I would ever dare admit. My wife is somewhat aware that I have a lot but I don't think she even knows the full extent of it haha. 

I had a moment where I was trying to think through, why? Why is it so tough to stick to something and pull it all the way through to completion. Theres only a handful of my projects that I have actually gotten to the finish line, those are ones I'm very proud of and have been great achievements in my career so far.

It's been pretty hard to stay excited about one thing for well most of my life. I was recently diagnosed with ADHD and that explains a lot of it but I always felt like there was something more. I wanted to dig into what really makes a project mean so much to me that I will pick it up no matter what state it is in and try to get it finished. 

There are a few obvious ones I came up with right away. Is it a project for work? Am I getting paid for it? I'll get it done because I got bills. The need to survive and have a roof over my head will usually win out over anything else. Even if I'm miserable while doing whatever it is I am tasked with doing. 

The majority of my side projects however give me no additional income. Usually I'm spending money in order to do the thing. It might be for a domain or some design work that ends up living on my computer and not being utilized for anything. For some of them I tried building thinks out in public. I have this one side project that I was making some pretty good progress on, it's called harken, and it's a voice notes application for speakers. Helps you stay on point for your presentation by detecting what points you've already spoken about. It actually works decently well and as of writing this post all I really have to do is add in a few details and give it some small bit of styling and it would be all set. 

Yet I can't do it. I find myself thinking, "yea I'll finish and release that one day." Then the domain comes along and gets auto renewed and I have a whole other year to procrastinate on it. I'll probably give it a shot if I get a couple more talks accepted, at that point it would be really useful for me. So when it comes down to it I guess it really needs to be doing something for me and spark some bit of joy. 

I realized even when I'm teaching or mentoring, a lot of the time I'm not doing it for the student. I'm doing it because it helps me in solidifying knowledge and getting better at my craft. The help the student gets is almost just a side effect. Is that messed up? Is it wrong to think of it that way? I mean the person is still getting some help right? I'll usually get a thank you or something along those lines and that will usually add some serotonin into my day. 

Thinking through this the only conclusion I can really come to from this is that, whatever I'm doing just needs to spark joy. If it doesn't then its ok to set it aside and let it go either permanently or temporarily. That's got to be ok, especially if it is messing with our mental health. It's got to be ok to have a few projects lying around that we didn't finish because we aren't interested in them anymore. It's got to be ok not to finish every single thing we start. At the end of the day even attempting it, even just going through part of the journey has some merits. 

Through my unfinished projects I learned how to build GraphQL API's, the basics of building mobile applications, a little bit on using JavaScript for natural language processing, I've gotten better at accessibility with my react code and so much more stuff in the web3 rabbit hole that I've been jumping into lately. Do I have finished robust projects to show for all of that? No I do have some stuff and the rest of it I can talk about. The rest of it I can apply to similar things that come up on the job. 

Some of the next steps I am thinking of taking is looking at these things and instead of releasing large projects just doing a small thing like a blog post to showcase my knowledge is probably fine. In the future if I'm looking for a new position these posts might come in handy for proof that I know the specific technologies and buzz words that exist on my resume. 

Projects are great, I promote doing them all the time to better learn about programming. It's one of the best ways to really get to learn something. It's not worth your mental health however if after doing some of the project it no longer sparks joy. Just let it go and learn from what you already accomplished. That has to be ok.