4 ms·
I kept trying to figure out if this was a deliberate joke. The author sets out to be contrarian with this thesis statement: Communication skills are completel
by mechanical_fish 18y ago
I kept trying to figure out if this was a deliberate joke.
The author sets out to be contrarian with this thesis statement:
Communication skills are completely and utterly overrated for the position of software developer.
Then the essay goes on to eloquently argue the opposite, complete with quotes from Steve Yegge and Jeff Atwood as well as Diana Larson of 37signals, and with a fairly decent five-point argument in favor of communication skills. All of which takes up most of the post.
The impression is that of an author who is desperately at war with his own subconscious mind. It's like watching Doctor Strangelove write a blog post: The author occasionally has to seize his right hand with his left in order to stop it from undermining his stated goals.
Anyway, just in case this isn't all tongue-in-cheek: Yes, it's true that you also need to know programming as well as communication to be a good programmer, just as a good runner needs a right leg as well as a left one. But there are good reasons why communication is often prized as highly, or higher. The essay offers several; here are two more.
First, a great programmer who cannot communicate cannot argue with you. You'll tell him to build X, and with his brilliant insight he'll know that X is the wrong thing and that he should really build Y, but he's not verbally facile enough to win an argument with you so he'll either go off and build a beautifully optimized version of the wrong thing, or he'll sit around sulking until you finally figure out, weeks later, that his mumblings about Y were actually a stroke of genius. Either way, you waste time and money.
A more serious problem is this: The great programmer who cannot communicate will build you a fast, well-designed, robust piece of software that is almost entirely opaque. When you ask the other workers on your team to maintain that software, they will come back to you two weeks later with the news that they just can't understand it, that the Silent Genius can't or won't explain it to them, and that your company therefore has no choice but to throw it all away and rebuild it in Enterprise Java. This is a huge problem that happens time and again. Even hiring a brilliant communicator can't always save you -- PG can write and argue, and yet Yahoo rewrote his Lisp software anyway -- but at least it gives you a fighting chance.
Software is the art of building a structure inside your own head. (The computer is just an accessory.) But professional software engineering is the art of pinning that structure down, making it work, and keeping it working independently of you and your head, because your brain doesn't scale. And the latter task is all about communication.
- davidmathers 18y agoWhy don't you have a blog?
- mechanical_fish 18y agoI have a blog, http://www.mechanicalrobotfish.com http://www.mechanicalrobotfish.com . I never write on the darned thing, despite good intentions, and despite the good arguments in favor of doing so. Instead, I write here. I can't seem to help it. Let's invite Zombie Feynman to explain: http://www.pitt.edu/~druzdzel/feynman.html http://www.pitt.edu/~druzdzel/feynman.html When I was at Princeton in the 1940s I could see what happened to those great minds at the Institute for Advanced Study, who had been specially selected for their tremendous brains and were now given this opportunity to sit in this lovely house by the woods there, with no classes to teach, with no obligations whatsoever. These poor bastards could now sit and think clearly all by themselves, OK? So they don't get any ideas for a while: They have every opportunity to do something, and they are not getting any ideas. I believe that in a situation like this a kind of guilt or depression worms inside of you, and you begin to worry about not getting any ideas. And nothing happens. Still no ideas come. Nothing happens because there's not enough real activity and challenge: You're not in contact with the experimental guys. You don't have to think how to answer questions from the students. Nothing! HN features questions from the students -- literally, in some cases! It's very inspiring. Even the craziest submissions can provide useful food for thought. Having said that, I need to force myself to blog more. Thanks for the inspiration!
- jauco 18y agoOr just keep using HN as a blog (http://news.ycombinator.com/item?id=226482 http://news.ycombinator.com/item?id=226482) P.S. Thanks for the URL :)
- Retric 18y agoSaying something is important and easy to change is not the same thing as saying it's the most important trait. If you are an ok code monkey it's faster and better for your career to become a better communicator than it is to become a better coder. However, if you want to be thought of as a great developer you need to be a great coder. I am willing to work with a talented deaf programmer long before I will work with an idiot. PS: Stop thinking about skills as a binary choice you can be a great coder, talented writer, and a poor public speaker at the same time.