I understand your concern, but I guess we are just coming at it from dueling perspectives.
I don't think being a good developer, which I will define as being able to understand and manage the choice / trade offs you are making when you write code, has anything to do with being marketable or being good at a job interview.
The OP is a hobbyist developer that wants to get better at making things. They specifically called out OOP principle as a weak point. I think this will help more than memorizing algos out of CLRS or learning the latest wizbag javascript doodad. I do admit those will likely get them hired more readily.
As an aside, I meet a lot of really great developers that have the worst case of imposter syndrome. They have great intuition, shave off bad affordance, balance growth well with quality and have the basics of code etiquette down pat. Yet the think they are golem SO CP cobblers, not fit to be seen doing this job. Lifting the vail of the language, knowing that there is no special trick some made up 10x can do that you can't, helps with that.
I don't think being a good developer, which I will define as being able to understand and manage the choice / trade offs you are making when you write code, has anything to do with being marketable or being good at a job interview.
The OP is a hobbyist developer that wants to get better at making things. They specifically called out OOP principle as a weak point. I think this will help more than memorizing algos out of CLRS or learning the latest wizbag javascript doodad. I do admit those will likely get them hired more readily.
As an aside, I meet a lot of really great developers that have the worst case of imposter syndrome. They have great intuition, shave off bad affordance, balance growth well with quality and have the basics of code etiquette down pat. Yet the think they are golem SO CP cobblers, not fit to be seen doing this job. Lifting the vail of the language, knowing that there is no special trick some made up 10x can do that you can't, helps with that.