There is nothing you need to apologize for, and the topic is not pointless. Sorry if you felt under attack.
MrPsycho wrote:...but I still want to learn and try my hardest before remotely thinking of giving up and throwing in the towel.
I would not
dream of discouraging you. But at this point, the best learning experience you can have is by practicing
user-space coding. Pick something you yourself might use. A diary. An appointment calendar. A vocabulary learning software. Anything, really -- but make sure it is something
simple. Not something that requires complicated graphics, sound processing or the like. Just some data in, processing, data out. Implement that. Use it, find the bugs, fix them. Get acquainted with best practices in your chosen language. Post some of your code to a
software review site. Add features to your project, get used to version control, ticket management, roadmaps, release versioning, perhaps even a small project website.
If you feel that project cannot teach you any more things, pick something more ambitious, perhaps with some algorithmics to it, and / or graphics. A checkers with AI opponent, for example. Develop that, with the same language or a different one, however you like.
The point is to get used to all the things that
any software developer needs to learn about to get anywhere -- and doing so in an environment where a mistake gives you a debug-able error message instead of a triple-fault reboot or an unresponsive machine. Where tutorials and example code abound and are not limited to a niche community.
Become an experienced software engineer. Because you need to become one anyway. Consider all this necessary training for the big day when you climb into the ring.
Starting with kernel code as a beginner will just frustrate you unnecessarily. And your project will not get anywhere in time for the hardware you are developing
on to
not become utterly outdated. (When I started with PDCLib, neither x64, GPT, nor UEFI were a thing...