The single most important skill I learned in university while getting a degree in Computer Science was how to write better.
Everything important you do in your professional life is about communication. The ability to write clearly and concisely, with at least approximately correct grammar, spelling, and punctuation, is vital.
Despite what some people say to me on a regular basis, I am not “a natural” at this. I thought I was when I entered college. People had always told me what a great writer I was. Fortunately, I took some courses with tough teachers who crumpled up my shoddy writing and shoved it somewhere unspeakable, until I became less arrogant. I still have characteristic patterns that editors correct, so don’t think that I’m claiming to be a great writer even today. I just worked damn hard at it. Some of my best teachers were not English professors. They were history TAs and engineering ethics professors and chemistry lab assistants. I still remember when my history TA read my paper aloud to the class and said, “this is a great example of passive voice and why not to use it.” I had gotten through my second year of college without knowing what passive voice is, and I used it in practically every sentence.
It troubles me that a whole generation of engineers graduating today, sometimes even with advanced degrees, simply can’t communicate. It goes beyond the difference between “their” and “there”, or “its” and “it’s,” although those are pretty rampant sore spots too. It is about the structure and process of the thought that created the writing. Their writing is uninteresting and flat at best, and complete gibberish at worst. I don’t know how they are ever going to design safe bridges or air traffic control systems, or if they do, how they will ever get anyone to take them seriously.
So my advice is to skip a CS elective or two, and take some humanities courses, preferably by asking the department chair who is the biggest pedantic miserable fascist sonofabitch in the department, and suffering through those classes. Take history, religion, English, poetry, whatever it is that requires a lot of writing and will be graded harshly. And don’t assume that your high-school courses have taught you very much. I’ve seen a lot of what passes for excellence in high schools, and it’s not good enough.
Some of the best technical workers I’ve ever met were good at their jobs because they could communicate. One of the best DBAs I know was a French major.
Computer Science students, learn to write, and it will pay you back richly. Much more richly than that plum job at Google you’re dreaming about. Or is that “about which you’re dreaming?”