guess giving advice is easy compared to taking it. Know your
fundamentals (algorithms, data structures, machine architecture,
systems) and know several programming languages to the point where you
can use them idiomatically.
Know some non-computer field of study
well — math, biology, history, optics, whatever. Learn to communicate
effectively in speech and in writing. Spend an unreasonable amount of
time on some difficult topic to really master it. Try to do something
that might make a difference in the world."