As a student I worry constantly about the outside world. I've worked for some companies already providing Web Design/Development and SEO help, even the occasional DB work, but I still worry about how I'll cope in the real world as a developer or a graduate student (hopefully) at a top university.
Aside from the obvious answer being Work Experience, what would you recommend that current Computer Science and Software Engineering students do to help prepare themselves for the rest of their courses and getting a job after graduation? What holes do the current educational system leave unfilled?
As this topic has received a reasonable number of differing replies I have decided to make this a Community Wiki to allow people to add more suggestions and links.
- Finding a Project (perhaps Open Source) and getting involved.
- Joining LUG's (Local User Groups)
- Read key texts, such as "Structure and Interpretation of Computer Programs"
- Experiment with different languages and paradigms. For example, learn C and learn Functional Programming.
- Take an internship if one is available to you
- Seek out a Professor or Mentor to help you progress in the right direction
- Persue alternatives routes in your own education
- Learn about Business and Software Engineering processes