Find a mentor. I was lucky enough to have a couple more experienced developers take me under their wing when I was new. I learned so much from them. This idea of mentorship has fallen out of favour, but I now understand "there is nothing new under the sun".
Pretty much this. Get hold of your ego and be humble enough to take lessons from experienced people who have track record of delivering successful projects. It is imperative to get the basics right before being able to take on more responsibility later.
"We don't rise to the level of our expectations, we fall to the level of our training."
Make sure you get as much training as possible before raising your expectations. It will be easier for you later when business expects senior output from you but you are under constant pressure on both personal and professional fields.
This. if u wanna become useful faster. Which will propel all else further.
"Languages are tools" too, thats my motto. Most things around are tools (house, insurance...) just people do not want to see it.
Find/invent a project of your own only, something thats seems doable and u would really use/need it, and try do it. Will teach u wonders.. about life as programmer.. which is not same as everybody else. Much more philosophy and multiminded-ness is involved.
As of how to find a mentor.. i do mentor people, and it seems a cross between a matter of luck, AND mutual "liking each other". You may have to ditch your ego, and the "i know it all"-ism for quite a while.. and believe me, its more useful to be scolded by someone in the know than to be awed by someone who does not.
You don't. One thing I've noticed is that mentorship is one of those things people like to toss about as well-meaning advice, but it's an empty suggestion more than anything else. Realistically, what you can do is make an effort to join some kind of programming e-community that's more intimate than HackerNews and integrate with that community over some time, and then ask them for advice. You can find a language-specific Discord/Slack/Gitter/IRC channel, integrate (lurk, then post, become a known quantity), then ask more specific career-oriented questions.
In my first two roles I found that more senior level developers gravitated towards mentoring me anyway. I didn't really even have to seek it out, usually just getting in the door and humbly admitting to yourself that you don't know as much as you thought you did is enough for people to want to share their knowledge with you.
Don't be afraid to ask questions in the workplace when you're new, that's the only cardinal mistake you can make, the mentorship will come automatically.
- ask lots of questions, listen, and take notes
- be humble and gracious when you receive feedback. Most people avoid mentorship because its really hard to deliver negative feedback delicately. Easy to avoid it altogether. Ask for feedback actively, and start with: "what can I do better here?" or even better, before starting "how would YOU attack this problem?"
- scout the organizations you want to work for ahead of time. Creep linkedin profiles, etc. Do you have similar interests to the senior devs (which will allow you to connect on personal level)?
Some companies have internal mentoring schemes - perhaps more likely the larger the company.
Professional institutions typically do too.
Either option takes the burden off asking someone, since you're merely applying to a pool of people that have declared a priori their willingness to be a mentor!