Learning
What I Find Hardest About Learning Programming
It's not any single technology. It's the blank page after the tutorial ends, and everything that shows up the moment you start making your own decisions instead of following someone else's.
The hardest part isn't any single technology. It's the moment right after I finish watching something and try to build it myself, with my own idea instead of the one from the video.
The blank page problem
I can follow along with a tutorial just fine. Someone else has already decided what to build and in what order, so I just need to keep up. The moment I try to do the same thing with my own idea, my mind goes blank. I don't know where to start, I second-guess syntax I was using confidently five minutes earlier, and the confidence I had while following along disappears completely.
Then the surface cracks open
Even once I get past that blank-page moment and actually start building something, that's usually when I realize the tutorial only showed me the top layer. Underneath it there's a database to design properly, a system design decision to make, patterns to pick or avoid, observability so I'd actually know if the thing broke, and tests so I'd know if I broke it myself. Then there's the stack itself: EF Core or Dapper, which architecture actually fits this specific problem, whether DDD makes sense here or is overkill, frontend and backend both needing attention, infra and deployment, Grafana if I want to see any of it running for real. And now there's AI in the mix too, figuring out where it actually helps in a TDD workflow and where it just gets in the way.
Why that's the actually hard part
Every one of those things is learnable on its own. The hard part is that they all show up at once, the second you stop following someone else's steps and start making decisions of your own. A tutorial hides all of that by making the decisions for you in advance.
What I do about it
I don't have this solved. Mostly I just try to build small enough that I only run into two or three of those things at a time instead of all of them, and I accept that the first version of anything I build on my own is going to be rougher than whatever I was just watching.