At this point it is obvious that my software engineering/dev skills need love. I can comfortably write scripts (python/bash) that log/process data or say call an api, do some processing, post to another api etc. Anything beyond basic functional programming (100~200 loc scripts) where there is a ton being done with classes/decorators/libraries starts becoming overwhelming. Reading someone else's code is just daunting. I've tried courses on various sites but feel they only teach you loops, conditionals, basic data types or a framework but not the process of creating great software.
I recognize that I need practice, lots of it. My day job barely involves any day to day coding (unless you count terraform). How do I as a technologist become a better software engineer? I am currently writing a CRUD backend (FastAPI/peewee/sqlite) for a practice personal project and realize how much there is for me to learn in terms of modeling data, schemas, translating SQL to code etc. It gets frustating at times.
What would you advice me to scale my software engineering skills, build good habits, do things the right way and be proud of putting my name on a piece of code. My goal isn't to be a day job software engineer but be better at what I am doing as I really enjoy the devops world. Since most of my other hobbies are on hold due to covid, I can comfortably spare 10 hours a week for the next 6~12 months in the pursuit of this goal.
Books, courses, PhD, OSS contributions???