I’ve been mentoring a graduating senior in computer science. Here’s what I told him…
First, read the 10 steps to becoming the developer everyone wants. It contains some pretty good strategies for what to do after you’ve landed that first job, how to become indispensable.
But even if you get that first job straight away, it’s never too early to start building a public reputation. If you’re not already a member, join the social media outlets like linkedin, twitter, and the like. Where you can collaborate over concepts and ideas. Linkedin has some pretty good groups to join. Once you become fluent in a topic, you can start your own group. For example, here’s one that I manage: Linkedin Open Source IAM group.
Even more important, open a github account and start publishing work there. Read about The impact github is having on your software career.
Also be sure to join tech groups in your hometown. These will put you in the same room with like-minded professionals. Here’s one that I’ve recently joined: Little Rock JUG.
Then publish articles about topics that interest you. If they interest you they will likely interest others. Write about the research that you have completed. Yes, the nitty-gritty details. People love technical details when well thought out. Retweet articles (written by others) that you like or agree with. Follow people that have work that you admire rather than for personal (friendship) reasons. If you see something you like, let the other person know, ask questions about it. If you see something you disagree with, offer constructive criticisms. Above all be respectful and positive in your communications with others. This is healthy collaboration in action and will be an important part of your technical career, as it blossoms.
Forget about being the genius capable of writing superb software all by yourself. That genius is a unicorn, at most 1% of the population. If that’s you (and I don’t think that it is) congratulations and carry on! You won’t need any more of my advice. Otherwise, if like 99% of the population (the rest of us), you absorb knowledge by working around others. Surround yourself with the smartest people you can find. Be humble. Admit that you don’t understand how it works yet. Keep your mouth (mostly) shut until you’ve learned from the people who came before, the current experts. They will respect you for that and will encourage your ideas as they become viable. Later, once you’ve mastered the basics, you may tell them how to improve, and they will listen.
Eventually, perhaps after many years (less if you are lucky), you’ll have earned a good public reputation, and with it, a large number of loyal followers. These people will then help you communicate about software projects that you’re interested in. The latest releases of your software, conferences that you’re speaking at, articles that you’ve written, etc…
Afterwards you need not worry about finding a job again. They will find you. A public reputation supersedes any single organizational boundary and gives you complete control over your career’s path.