Interestingly enough, one of the things I remember from back then was feeling very, very confused. All the resources I needed to be able to become a great developer were there for free, but there was a problem - there was so much information out there that it was hard to know where to start. Everytime I tried to learn something new, it felt like a gamble - will I learn something new that will completely change the way I write code, or will I hit a wall and be stuck for 2 months, getting nothing done?
And then I realized - in the 2 years I've been working as a full time dev, I learned more than in 6 years fooling around by myself. Why was that? The answer was pretty simple - I was surrounded by people who have already been there before. But, the fascinating thing is the following: these people never once took my keyboard and started typing away when I asked them for help with a bug. They didn't go to the closest whiteboard and hold a 45 minute seminar whenever I was confused by some obscure design pattern. They simply told me - "oh.. why don't you look X up on Google", or "check out this class, it does something similar to what you need". And that was it; they just told me where to look, and that made all the difference.
So, this is what I want to get your opinion on. Do you relate to this as a senior developer looking back on your early days? Are you just starting out and feeling overwhelmed? Did you just save the new collague 4 hours of work by telling him where to look in the code?
I've made a survey to see what your experience looks like. It takes around 2 minutes, here it is:
https://forms.gle/3Wed1psohJEmfnVJ9
Thank you for your time!
One problem is the idea that you've ever "learned to program". It creates an expectation that you'll know whatever it is that you need. In reality, I've never coded anything where I knew everything about what to do. It's all an exploration: learning git, learning how to compile c++, learning how to deploy things in containers. There's always a new piece to learn about, and that's the real skill. It's both intellectual and psychological: you need to be smart, and you have to force yourself to learn things.
The problem with being new at anything is you don't have the map. There's a bunch of terms describing your space, but you don't know which ones are important. You can google anything, but you don't know what to google. When you get dropped into a working team, you at least end up with something that works, and people who can tell you how they think about it.