5 ms·
Though I never got a degree, I did take a LOT of history on the opposite side of the campus from the CS building. (There were a lot more women on that side of t
by kabdib 12y ago
Though I never got a degree, I did take a LOT of history on the opposite side of the campus from the CS building. (There were a lot more women on that side of the campus as well, which was nice).
History was tons of fun, and remains one of my favorite types of reading to this day.
More practically, I highly recommend taking a number of courses on writing, because one of the things you'll need to do in your great CS career is communicate effectively to people, up and down your management chain, and to customers. Hell, good writing skills come into play when you're filling-in bug reports.
- caseydurfee 12y agoCoding is just a really specialized type of writing. A lot of the principles of writing and editing prose well equally apply to code.
- sitkack 12y agoCoding is refactoring. Writing is rewriting. Doing anything well is doing it again until it is done.
- kabdib 12y agoA good friend of mine, John "Munch" Paulson, maintained: "Good code is not written. Good code is re-written."
- dingaling 12y ago> Coding is just a really specialized type of writing .. for the attention of a single audience, the compiler. The compiler demands accuracy and completeness yet also provides patient, useful and virtually infinite feedback to guide the writer. That's not typical of human audiences! Creating prose for human audiences is challenging and yet is an essential skill in the corporate world. A two-minute elevator pitch to a C-level officer is going to be a lot different than notes on a bug report. But I've worked with many people who can't make that context-switch and just overwhelm their audience with irrelevant details. That's one of the interesting aspects of an education in history: analyse inputs, synthesise, evaluate and only output what is relevant to the argument.
- kabdib 12y agoGood code has to be good on a number of different axis: - Understandability and maintainability. People are going to toss your code if it's bad. If the stuff you write is consistently bad, they're going to toss you. - Syntax, as enforced by the compiler. - Functional. Many sub-axis here, including efficiency, usability, resilience to failure, number of bugs, and so on. ... and so on.
- dba7dba 12y agoGlad to see another historian here. History is fascinating to me.