Learn a lot of other things, and at least one real science and one real engineering. This will help to calibrate the somewhat odd lore aka "computing knowledge". I would certainly urge a number of anthropology courses (and social psychology, etc), theater, and so forth. In the right school, I'd suggest "media theory" (of the "Mcluhan", "Innis", "Postman" kind ...)
Whenever I've gone to an anime con, it seems like the older genre masters like Yoshiyuki Tomino (Gundam) were always urging the audience to get to know something besides anime/manga. Specifically to go out and get involved in something to create media about, so as to avoid producing something completely self-referential and navel-gazing. That also seems to apply to the medium of programming. (As in: Do we really need another To-Do app?)
It's also related to what Scott Adams urges. It's pretty hard to get to be in the top best 10% at a single field. It's much easier to be in the top 25% of two different fields, which would make you one of the top 10% of that interdisciplinary combination.
> It's also related to what Scott Adams urges. It's pretty hard to get to be in the top best 10% at a single field. It's much easier to be in the top 25% of two different fields, which would make you one of the top 10% of that interdisciplinary combination.
This is really great, I've been thinking about that for years. Which Scott Adams said this, and where is it from?
The best tech founders often seem to have this quality. They're by no means top 10% in any individual category, but they're strong in technology and in some specific non-tech-related domain. In the right setting, dividing your attention between tech and a non-tech-related domain can actually make you more specialized in a way, not less.
Just after college, I took my first airplane trip, destination California, in search of a job. I was seated next to a businessman who was probably in his early 60s. I suppose I looked like an odd duck with my serious demeanor, bad haircut and cheap suit, clearly out of my element. I asked what he did for a living, and he told me he was the CEO of a company that made screws. He offered me some career advice. He said that every time he got a new job, he immediately started looking for a better one. For him, job seeking was not something one did when necessary. It was a continuing process.
This makes perfect sense if you do the math. Chances are that the best job for you won't become available at precisely the time you declare yourself ready. Your best bet, he explained, was to always be looking for a better deal. The better deal has its own schedule. I believe the way he explained it is that your job is not your job; your job is to find a better job.
This was my first exposure to the idea that one should have a system instead of a goal. The system was to continually look for better options.