You have already mentioned the top one for me: passion. Colleges rarely teach you what you need to know professionally - they can't, tech moves too fast. Instead, they teach you how to learn what you need to know. This is an important distinction because it should inform your approach to your professional growth. 1. Stay passionate both about software and your own growth/education in it. 2. Start some personal projec…
I'm following the first two points earnestly and I'll start with the third one as well. And the mentor aspect is what I'm missing right now. So, I have planned to contribute to open source and/or apply to GSOC '17. Any other ideas how to find suitable mentors?
I'm sure others will have better advice than i do about finding mentors. In my case my first CTO out of school was a major impact. I should also say that mentors may not be above you, but peers. Even in college i became close friends with other developers who, collectively, influenced one another with our learnings and opinions. A rising tide raises all ships, as it were.