I read systems science at university. While we did some technical stuff like basic Java programming and database design, we mostly focused on WHAT a system is and how to design one from certain requirements. So when I got my first job, as a web developer, I hit the ground quite hard. I hadn't really programmed in my spare time either so I didn't have that backbone experience. (You might wonder why I got hired in the first place, in hindsight, I also do).
Nowadays, some X years later, I identify myself as a backend developer and I tend to stay out of those "up in the cloud" discussions about what a system should look like. So how did I get here? First of all, I think I was pretty lucky having a boss at my first job who wasn't interested in me being really productive during my first time there, but rather wanted me to learn and grow with the company. I also had great colleagues, especially my then team lead, who really took the time and showed me the ropes so to speak. I bought one book, which I didn't really read. I did some online classes, but I mostly learned programming, problem solving, TDD, etc. by working.
Nowadays, some X years later, I identify myself as a backend developer and I tend to stay out of those "up in the cloud" discussions about what a system should look like. So how did I get here? First of all, I think I was pretty lucky having a boss at my first job who wasn't interested in me being really productive during my first time there, but rather wanted me to learn and grow with the company. I also had great colleagues, especially my then team lead, who really took the time and showed me the ropes so to speak. I bought one book, which I didn't really read. I did some online classes, but I mostly learned programming, problem solving, TDD, etc. by working.