We live in a time of flux when traditional notions of career and job security often feel like fond memories of a bygone age. In an earlier age a college diploma would all but guarantee a comfortable if not lavish existence. Those days are no more - the college or university student has to ask him or herself, "What do I want to get from my education? How can I differentiate myself from the crowd? What path should I follow."
There are no easy answers to these questions and if you don't have well positioned relatives to help you make your way in the world the decisions you make now will be even more crucial.
Assuming you have found this page out of an interest in computing, we can perhaps illuminate a few of the choices you will face with more clarity and less bias than you may find in other sources.
Regardless of which school you are attending or how far along you are in your program of study, you should look at joining one or more professional societies as a Student Member. Organizations like the Association for Computing Machinery have deeply discounted dues for students and online Digital Libraries that can give you access to a body of technical literature with vastly broader coverage and greater depth than you will find in all but the top rated University Library Collections.
Another invaluable way to advance your academic career and figure out what you want to do with your life is to attend a major conference or two as early on in your studies as you can. You see, each year there are dozens of international meetings sponsored by scholarly societies in which leading researchers assemble to discuss the work they are pursuing in their government, university, and corporate labs. You can find master conference calendars in the backs of most academic journals.
In the course of three or four days attendees share stories of life in their home institutions, present form papers, and demonstrate their work. Conference rate for students are heavily subsidized and you may in some cases be able to find funding to cover your travel and lodging - particularly if you are willing to volunteer to help at the registration table or run errands behind the scenes.
Attending as a volunteer can be a mixed bag. At some conferences, student volunteers are all but ignored by participant and organizer alike. At other conferences, everyone does yeoman work to welcome new students into their communities. The bottom line is to ask around and try to find someone who has been the conference you are interested in before and ask them what sort of reception students are given.
If you can't find someone, try to look over a copy of the prior year's meeting to decide if your interests might fit in with those of past attendees. Indeed, even if you have talked to enthusiastic past attendees, look at a past year's proceedings to see if you will be able to make heads or tails of the notation used by the community; in some disciplines a slavish adherence of modified mathematical formalisms can serve as an impenetrable barrier to all but the most persistent newcomer. (If you need to crack such codes, you'll have to spend a few months working your way back through the literature until you can find the 'early papers' in the discipline that introduced its notational quirks in the first place.)
Now assuming you have found a conference that you do wish to attend, there is one key piece of advice that we can't emphasize enough. Talk to people, be outgoing, it won't take you long to figure out which participants do and don't mind engaging in serious conversations with students. You may be pleasantly surprised by how open even some of the world's most famous researchers can be when approached in a polite manner by a student with genuine interest in their work. But do your homework first and be familiar with at least some of the work going on in the community.
You should also pay careful attention to the possible presence of strongly competing schools of thought and start to think about which position you might want to align yourself with. Look closely at the kinds of research that is presented - are there rigorous statistical analyses, qualitative obserservational studies, descriptive accounts of working demonstration systems, etc. At some conferences you will also find mentorship programs and special colloquia for graduate students to discuss their dissertation work. Scholarly publishing houses make appearance at larger events and you can start to build a personal library by picking up a few titles at steep discounts up to around 40% off list prices.
When you get back to your own department think about getting involved with your favorite professor's research. Many faculty members regularly co-author papers with their students and this is by far the easiest way to get your work published. But even if you write a joint paper with an established academic leader there is no guarantee that a given conference will accept it. If your work is rejected, take heart and remember that the first paper on the World Wide Web was rejected by the ACM's hypertext conference. The lesson here is that the established academic community isn't the last word and your ideas can change the world even if you can't convince the old guard of their merit.
If you are still at the stage to deciding where to pursue advanced studies you are particularly fortunate, because you have time to attend a conference or two and talk to grad students at your prospective schools of choice. This can be key to avoiding programs that sometimes exploit students as cheap labor and to finding departments that will nurture your ability to think independently and pursue your own projects.
So far this advice as focused on the perspective academic, but let's assume for a moment that you aren't interested in becoming an Oxford Don and seek instead to make your mark as an entrepreneur or corporate type. What should you study?
If you want to maximize your short-term employment prospects you can play the certification game pursuing certificates in the most widely used commercial development environments. You would want to take courses in Java Programming, C#, and Microsoft Server technologies. You should look for Coop and volunteer opportunities as well to prove that you have the ability to work in a commercial setting. The downside to this strategy is that your skills will be fungible and you will see downward pressure on your salary as more programmers match your certifications. You will also have to be re-certified with each major product release cycle.
The alternative is to hone a unique skill set based on where you see technology going in the years ahead. It will then be harder for you to find work, but when you do you will be worth more to your employer and less likely to be replaced in the long term. Also, if you want to organize a high tech startup or join a top lab in government or industry in industry, this is the way to go.