This is my first coding assignment for my software engineering class that started today. It’s going to be a really good semester.
UPDATE: I got my grade back and
“100″
Since this post has gotten some attention, I feel like it’s worth mentioning that this was just the first half of the assignment.
The second half, which we weren’t made aware of until the day we were meant to turn this one in, was to trade USB drives with the person sitting next to us and MODIFY their “unreadable” code without getting any help from them.
This was to teach us two things:
1) In this field, you’ll spend more time working with code written by other people than you will writing original code from a blank slate. The people who wrote the original code will probably not be around to help you. Learning to read code is IMPORTANT, even if it seems unreadable.
2) There is a strong brotherhood/sisterhood among programmers and software engineers. Respect that bond when you’re writing code and documentation. In my professor’s words: “When you write code, pretend that the person who will have to maintain it after you’re gone is a homicidal maniac who knows where you live.”
This class and professor are incredible.
AHHHHHH I need this in my life.
If anyone wants to send me obfuscated code to fix I would be fucking delighted.
@the-real-seebs this looks like a job for the Obfuscated C Contest
Folks often act like you need to be some sort of math genius to be a computer programmer, but in practice, I find that my skills as a writer end up helping me more than my skills as a mathematician.
Programming is basically explaining what you want to happen.
Just, like, you’re explaining it to a helpful but exceedingly literal-minded space alien from the Eleventh Dimension who’s only had physical existence described to them, so you need to choose your words carefully!
Then how come, if I was in the 95th percentile on the writing portion of the ACTs, working with Rstudio in Statistics class was nearly the death of me?
Well, it was a statistics class. The thing you were attempting to explain to the computer was how to do (a certain kind of) math. You don’t need to know your math in order to write good explanations in general, but you do need to know your math in order to write good explanations of math.
Accurate
Eh, I don’t think this holds true across most people. I was a terrible programmer and most programmers I knew were at least as bad at writing. Some were worse.
The trick is that most programmers are terrible programmers, especially the ones who think that cultivating good communication skills is beneath them. I have never in my life met someone who could write good code who couldn’t also produce an easily understandable explanation of how it works – the two skill sets go practically hand in hand.
(Now, granted, I’ve met any number of folks who can write very clever code who couldn’t explain how it works to save their lives, but when you’re coding as a profession rather than a hobby, you quickly come to understand that “clever” and “good” are not the same thing!)