Why have you chosen to attack me so personally on this fine day? Give me some warning before you completely demolish me like that. Even just a countdown from 3 or something.
You just described the entire cycle of discovering Linux... Starting with something simple like Mint or Ubuntu, hearing whispers from individuals with large gray beards that Gentoo and Arch are better, and then all of a sudden you're learning about lithography processing and kernel development all because a fucking peripheral didn't load properly.
"I'll just figure it out", he delusionally murmured as he typed out the 132nd acronym for the day... One day I won't be stupid!
That’s how I learned JavaScrpt Python and C++. Now I’m programming my own embedded project on a RP2040 with touchscreen, IMU and addressable LEDs. On top of that I learned thanks to my drone hobby how to solder and assemble circuits and with my 3D printing hobby I can print custom parts to hold the electronics I assembled and programmed. Now I’m reading component data sheet before bed and playing puzzles with i2c communication tables. Fun!
My background is filmmaking, I’m a camera operator. I don’t work in IT or engineering. I started these hobbies for fun and they have started to blend into something a loser to a job (that I really enjoy)
If you have ADHD then hyper focus kicks in and you bet your ass you will be the best person for the job in no time. Add on that imposter syndrome that makes you work double hard and however many decades of self loathing and self hate you have to make you want to over achieve. I somehow went from music degrees to managing a $40 million budget, but it makes sense, sorta.
Unfortunately, I think this is because pretty much every endeavour in life, if you have (severe) ADHD, feels like that. At that point it doesn't really make a difference.
ETA: Feeling this hard right now. Protip: Always buy important gifts that have to be complete with a deadline. Always. I know you might be thinking "but something that I make for my spouse's birthday will be much more meaningful." Stop. Buy a gift. It will save a lot of strife.
Next thing you're going to tell me that I shouldn't have bought a tractor if I didn't understand the first thing about hydraulics. I'm getting there, 20 YouTube videos at a time... It's just on pause while I learn carpentry to build a structure to put the solar panels on. Obviously before I can even properly design that I need to learn how to wire the solar panels properly, but those are just winter projects. For now, I need to focus on maintaining the grape vines on the land I already cleared.
No, I'm not a farmer, why do you ask? I work in IT... No I don't own a home...
Lol this is me at my job. I got hired to do something I've never done before and I've built on it so much I got promoted and now I'm doing more things I never knew how to do. Sometimes it does work out ¯_(ツ)_/¯
I've tried to combat it as I get older by circling around. I'll focus on something for weeks or months or years, then put it down for a year or more as I cycle through four other things.
I should be ready to try blacksmithing again in about 5 years.
me right now trying to create a regression to fit tire compound, size, pressure, and rim diameter to predict slip angles, temps, angular forces, and loads in Matlab. (I have no experience with multivariate regressions, Matlab, or physics)
TLDR: want to program? Take an intro and an algorithms class first. I suggest you avoid video games or AI. Web or mobile apps are much more beginner/solo friendly.
As a professional software dev, I see this a lot in my field. Software is very approachable and frankly there is a lot you can just learn as you go along. But usually you still need a decent amount of fundamentals as well as domain knowledge to do that, especially if you want the code to be at all maintainable.
My biggest suggestion to anyone with programming aspirations is to take a step back and start with a basic course on the fundamentals (there's multiple MOOCs for this that are a good way to get that). Ideally then find a similar class or resource on algorithms and data structures, because those are just crucial for many projects, but more importantly they get you "thinking like a programmer". Having that analytical mindset is probably the best thing you can do to make winging it actually possible.
But even then, expectations need to be grounded. Eg, video games are by far the most common thing people want to create. But video games require a lot more math, can be performance critical, and perhaps most critically require you to have many other skills, too. It's one thing to be a good enough programmer, but you also need to make a lot of art.
Another is AI. You can totally learn to make AI stuff. There's so many frameworks, pre trained models, and easy to use cloud offerings for making custom models. The bigger concern with AI isn't simply writing code for it, but that modern AI is simply limited. The type of AI most people talk about is basically just prediction and categorization. It's only as good as the training data. Finding and cleaning data is very time consuming and often very boring. Some parts of this aren't very automatable and thus aren't truly programming tasks. So it's easy for an AI project to fail not because of any programming skills, but because of the limitations of modern AI.
My advice? Self contained web or mobile apps. Those are usually the most feasible for a single person and the most practical. Look at the various apps on your phone or that you see recommended online and consider if there's things you could do better or if you see niches that aren't covered. Or even just reinvent an app that already exists for fun. Not all projects have to actually be practical!
There's also technically the option of contributing to open source, but I think beginners will find that too difficult. A project you create yourself lets you know every line of code and keeps the project easy to understand. Big open source projects can be thousands of millions of lines of code where nobody understands it all and learning to read code is a skill that takes practice and experience.
My brother purchased a 3D printer and honestly, it's pretty neat. The problem is, I have never done any serious 3D design work (I barely did any 2D stuff in auto CAD when I was in school)...
So I'm limited to pre-made STL prints and honestly, most of what's out there, I'm not keen on. Not saying any of the available 3D printable files are bad by any stretch, they're just.... not exactly what I want. You know? I'd like to tweak or touch up some aspects of the model before I print it... not because I'm vain or I want to have my stuff be unique, but usually because there's a good reason why I want it that way.
There's also stuff I'd like to have that is a bit niche, and nobody has made it, but it should be relatively trivial for someone with 3D design experience to make, like covers for things that are not a typical geometry.... an example I have is that I have a battery pack for a handheld radio. It isn't dissimilar to the kind of battery packs that early cellphones used (think Nokia 5100 series of phones). All I want is a hard cover for the business side of the battery pack, so if my spare battery is tossed in with metal things, nothing bad happens. Sure, I could solve this with a bag of sorts, but I'd still have to get one that's just the right size for the pack, and that's not a trivial task. I also plan on having (or already have) several of these batteries, and they have a belt clip attached to the battery, so it would be nice to be able to clip them on my belt without worrying that a light rainfall might short out the exposed contacts on them. But the radio is kind of niche (happens to be a alinco DJ-MD5 variant), and #1 not many people have this radio, and B: those that do, aren't really the 3D printing crowd.
So now I'm on a quest to figure out 3D design so I can make a model of the battery connector on the radio, so I can make effectively a "dummy" radio side interface and keep it secure whether I put it in my bag or on my belt. Both for safety and convenience.
We have a 3D printer, filament, all the necessary stuff to do it, and as soon as I have the STL file, I can make as many as I want/need. If one breaks, no problem, a few dollars of filament and a few hours later, I have a fresh one.
I'm a complete noob with 3D printing and 3D design. So I have the ambitious and lofty goal of learning to do it, so I can make this part. I'm not sure it will work, or that I'll get it done, but it's something that I want and I don't think anyone else is going to do the design for me..... so I have to figure it out, as if 3D design is some trivial weekend task, and not a highly specialized industry of professional engineers....
I'm sure it will be fine. (Insert "this is fine" meme here)
For me, it depends on how much time I have before starting. If the start is immediate, "I'll figure this out on the fly" then ride that "oh, shit I don't know what I'm doing" adrenaline fueled dopamine wave all the way to borderline success. If I have lots of time before starting I'll over analyze then try and fail to become an expert and give up before starting.
Realizing this is what causes like 80% of my burnout was a game-changer. Instead of dropping everything now, I try to take that urge as a sign to get more creative with my current project. Maybe tie it to another one of my interests instead of giving up.