This is actually a post by Joel on advice to Computer Science College Students. But I did not read this when I was going to college. I think if you are a programmer and have not done some of these things, it is not too late to start.
- Learn a low level language like C
- Learn to write and communicate well
- Learn a bit of Economics (especially Micro-economics)
- Take programming-intensive courses
- Learning Computer Science is not the same as learning Software Development (there are no good courses in Software Development)
- There is an incredible shortage for really good programmers (no matter where you are)
- Programming is incredibly good training for all kinds of fabulously interesting jobs
I think this is great advice for students and any programmers (beginning or experienced). Follow this and you will have many of the skills to start your own software company someday.