Contrary to Public Opinion
In the next week or so, I'm going to start up with Teach Yourself Ruby in 21 Days, so I'll be posting on anything interesting that comes out of that.
Otherwise, I thought I'd put out links to some "contrary" posts I've
been reading over recently. When discussing software development or any
technology it is an under appreciated talent to be able to get the
reader to pay attention. Most of us who read lots of technical things
will skim over about 80 to 90% of any given thread and concentrate only
on the small percentage that we see relevant to us at that time. This
occurs for 2 reasons:
- We're lazy
- Technical writers are boring
Now, lazy is a dangerous word. People tend to associate laziness
with shoddy work, a lack of moral fiber, and/or a tendency to dress in
ill fitted clothing. In the context of software development, laziness
certainly does not mean shoddy work; developers tend to be notoriously
picky and perfectionist when it comes to their work. As far as moral
fiber and fashion sense, those vary across the developer population
like any other group.
What developers mean by lazy is that when we're solving a technology
problem, we hate to do anything ourselves that has already been done
better by somebody else. For learning purposes it is ok to reimplement,
but for problem solving purposes it is a waste of time and mental
energy. Hence being a "lazy" developer is a good thing. Being a lazy
developer also means that when we're reading about technology, if we've
heard something before, we don't have much interest in hearing it
again, so we skim a lot.
Technical writers being boring is a not a universal truth. There are
certainly some interesting writers out there, but many technical
writers were chosen (or self selected) to write about technology
because they are good at it. Being good wtih technology does not
translate directly to writing well. So developers will often skip much
of the prose in an article and go straight to the technical details.
So why does this matter? Who cares if the articles, books or posts
are not flowing prose? Well, it is likely your brain does for one. From
a pragmatic perspective, we are more prone to absorb knowledge if it is
presented to us in a format that stimulates our brains and demands our
attention. It isn't that you can't learn anything from a dry text, you
can probably just learn more from one that grabs your attention. This
is the theory behind the O'Reilly Head First
books, which present a variety of technical topics in a book format
that includes pictures, diagrams, cartoons and inventive layouts. They
are well worth checking out to see if they fit your style.
Beyond pictures and layout, a good technical writer can draw a
reader in with simple rhetorical technique of being contrary. For
example,ASP.NET: Remote Scripting, Yes! AJAX, "NOT!" Or check out anything written by Paul Graham.
Both make bold and declaritive statements that go against the grain to
draw the reader in, then deliver valuable insights once they've got
your attention. Of course the danger in being contrary is that you
better be able to back up what you say. Because the other common trait
in programmers is that they will pounce on anyone who's all talk and no
substance. So use this technique at your own risk.