Sounds like untreated ADHD mate. Frequently starting projects and then giving up is a common symptom.
Do you have tonnes of 5% to 15% done projects?
If so, it's because the dopamine hit of (current project) has worn out, and the dopamine hit of (shiny new project) is more enticing.
Do you often burn yourself out early on in the project, your first few days you stay up til 4 in the morning grinding, you progress wicked fast, "this is easy!"
Then suddenly you crash, burnt out, exhausted?
You have to set pace limits on the first days, purposefully stop and take a break.
That rapid fire burn out on week 1 is a big productivity killer, instead literally set the kb+mouse down, get out of the chair and go for a walk. Yes, even though you could keep going, save it for tomorrow.
Try buying an egg timer and force yourself to stop and get up and stretch every hour, and go for a walk after 4 "sets"
Do you often burn yourself out early on in the project, your first few days you stay up til 4 in the morning grinding, you progress wicked fast, “this is easy!”
Then suddenly you crash, burnt out, exhausted?
Yes. I have several projects I've abandoned. Like for example:
TUI-based text-editor app: because serial programming went over my head, C is already a difficult language to begin with, and I had no clue about what Data Structures to use.
a link-shortener with analytics: I started with Svelte/Bun and Golang. . Bun was not yet ready, so I moved back to NodeJS.
I never learnt about Golang before, and I assumed that my C experience will help me - yes it did, but it was nowhere the same experience. Restructuring the project and connecting to ORM was very painful, nothing like ExpressJS.
SQLite Clone: again, a C project. Advanced pointer and malloc concepts made me abandon the project. Again, no clue about what data structure to use. Project also had a parser for database operations, so I had no clue on how to implement it.
Ruby's C binding for Ruby-based ML library, DuckDB and libcsv: lost interest because I thought that it would be easy, but it wasn't
Statistical-based grammar checker: I lost my interest after bad project structure and failing code
my personal web portfolio: I wasted an entire year on this. At first, over learning some basics of ThreeJS, then trying to implement a mesh gradient, then completely refactoring the page to a full-page style website, and then again refactoring it to use my own self-made Flowbite-inspired web component. My inability to choose over which text font for particular responsive breakpoint made me quit over this. And I also didn't know Typescript that well.
You have to set pace limits on the first days, purposefully stop and take a break.
I've wasted a lot of time, '24 grads are working in office, while I'm still doing nothing. Right now, I've been looking at this OCaml project called Dream, which is a micro web framework. I have been itching to learning this functional language, which is an entirely different paradigm, but no one is looking for this in my local job market.
It's typically a good idea to first focus on a stack in demand, then once you have some $$$ you can enjoy the hobby of learning esoteric stuff :)
My recommendation is always the same:
Contact a couple local tech recruiter agencies in your city.
Ask them for what are the top 2-3 tech stacks most in demand the past 2 years, as well as any relevant certificates companies were looking for, and expected entry level wage for each stack.
Analyze those 3 stacks, pick the one that seems best for you.
Go learn it, make an easy application for it full stack with an open source DB like Postgres or Mongo
Bonus points: setup a basic dockerfile for it and docker compose
MOST IMPORTANT: Make detailed "how to install manually, how to compile, how to docker deploy" guides on the github README. Include pictures of your app in the README, make it look good to a cursory glance.
Aight now that you have a simple working app on your guthub, pin it on your profile so it's first thing people see. Link your github to your LinkedIn, add this project to your LinkedIn profile.
Now go look up those certs you found about in step 2. Look up the price to get em solo proctored from home. Usually they are a couple hundred bucks.
Do it, study, get a cert or two and add to your resume.
Okay now go back to that recruitment agency, ask them for help with optimizing your resume. This is a free service they offer, you don't have to pay as the dev, the companies pay the costs to recruit you, the process is free for you.
They will now find jobs for you, negotiate wage for you, and find interviews for you. Keep applying on your own and improve your app you made, study the deeper nuances of your stack, etc
When you do get an interview, spend the days prior studying their stack and try to get to the point you can hold a convo about . "Oh yeah, you guys use Fwibble.js? I've been really excited to learn Fwibble.js, I have heard cool things about how it is good for wumbling tuples!", etc etc