I've always felt reasonably confident with basic math and problem-solving, but I started learning programming and computer science this year. For my first major project, I'm building a customized desktop environment with Quickshell and QML, and writing my own functions and logic has been much harder than I expected.
Debugging can be especially frustrating. I'll go from wondering why the computer is behaving strangely to realizing that I made an obvious mistake, like writing an impossible condition such as `if (x == x)`. Sleep deprivation probably isn't helping, but I'm starting to wonder whether programming requires a completely different way of thinking.
Have other beginners experienced this? Does it get easier with practice? I'd also appreciate recommendations for books, videos, or other resources about programming fundamentals, problem-solving, and good development practices. I may even need a few beginner-friendly math resources.
4 Answers
For a first project, it may help to scale things down. Build several small programs that you can almost complete without guidance, with each one adding only a little more complexity. Programming usually requires basic math, not genius-level mathematics; the bigger skills are breaking problems into steps, thinking logically, and practicing consistently. A smaller project can give you the foundation needed to return to the desktop environment later.
You don’t need to label yourself or the computer as stupid. When debugging, separate the situation into three questions: What did I want the program to do? What did it actually do? What code did I write that led to that result? That process usually turns frustration into something concrete you can investigate.
A lot of beginners feel overwhelmed because every improvement seems to reveal another layer of the subject. That feeling is common and is often called imposter syndrome. You don’t need to know everything; you need enough confidence to believe you can learn the next skill when it becomes necessary. Also, catching your own logic mistakes is evidence that your debugging skills are already developing.
Math ability and programming ability overlap a little, but they aren’t the same thing. If you’ve only been learning for less than a year, it’s completely normal not to handle a complicated project smoothly yet. Keep building things you care about, ask for help when you get stuck, and let each project teach you something new.

Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically