The more you learn, the larger your concept of "electronics" grows, at some point programming, physics, chemistry and engineering begin to bleed in, So do not feel like you need to master everything, its like trying to memorize Wikipedia, changing every day and extremely vast in all directions,
Instead focus on chipping away at the topics that matter to you, you work a little outside your comfort zone, get used to it and wrap your head around it then continue. After you have done this for a while, you will begin to settle around functional blocks of software and hardware. that you have used in the past, know works, and can drop into a new design without much issue, these make it easier to work on more complex things in the future,
I2C / SPI was a hurdle for myself in the past, specifically AVR's slave select pin for SPI, but once you get it working, then for any future projects with similar hardware, you will be able to skip past and dig into the next challenge. This is why you still see projects based around very old low resource components when a more modern solution seems like a better option, When you have 2/3rds of what your trying to do already built and trusted for a past project, your preference shifts closer to that old part,
As to how I would judge a beginner, The only reliably metric is how willing they are to try something new, You will end up getting stuck at times trying to make your solution work vs trying a different solution, This is not to say that you should abandon things at the drop of a hat, but more when your trying to attack a problem, and are getting stuck, try looking at it from a few different angles, sometimes even rephrasing your questions will get you further,
And finally when you really find yourself stuck, you can put part of a project on hold, Its rare that a person is only working on 1 project or part of a project at a time, Taking a 15 minute walk outside, working on something different for a while or even a nights rest helps you stop stressing on that one part, and gives you some time to unpack it, and understand it, Even writing it out like your trying to explain the task to someone else can help you grasp what your missing. If you just double down on a single issue you can find yourself burnt out for a while.