That’s a great question! I guess it depends on what sort of development (e.g. web development, distributed systems, embedded, etc.)
Generally though, I think one thing is try to use easy-to-use tooling that is actually helpful. I spent a lot of time early on using Vim, without have good tooling set up, and not really knowing Vimscript, etc. Something like VS Code with proper gotodef extension has not only saved me time, but also helped me code much more proficiently. So, #1 Use tooling that helps and try to avoid tooling that gets in the way early on.
There is a lot to learn at first, and it can seem overwhelming. Side projects, reading code, etc. can be great, but maybe make a list of what is important for the desired career path, and deep dive into those things. E.g. if you’re interested in distributed systems, then understanding problems around sync vs async communication, eventual consistency, consensus, etc. vs if you’re looking more at full-stack web, maybe deep dive into API design, ORM usage and/or optimization vs SQL, and some frontend frameworks. So, number #2 make a list (preferably with a mentor) of specific topics important to your chosen career path, and dive deep into them.
It’s great to spend some time learning. For example, if you can spend a couple hours/day watching online courses, or reading, etc. but it’s also great to stop learning, start thinking, and start creating: https://www.youtube.com/watch?v=Uq-FOOQ1TpE
- Use tooling that is helpful
- Dive deep into core concepts (to your chosen path)
- Stop learning, start thinking, and start creating