Sunday, July 5, 2009

friendly fire

At what point exactly does quotation morph into plagiarism? Came across an old post on Joelonsoftware of terrifying relevance:

Once you get into flow it's not too hard to keep going. Many of my days go like this: (1) get into work (2) check email, read the web, etc. (3) decide that I might as well have lunch before getting to work (4) get back from lunch (5) check email, read the web, etc. (6) finally decide that I've got to get started (7) check email, read the web, etc. (8) decide again that I really have to get started (9) launch the damn editor and (10) write code nonstop until I don't realize that it's already 7:30 pm.

Somewhere between step 8 and step 9 there seems to be a bug, because I can't always make it across that trip For me, just getting started is the only hard thing. An object at rest tends to remain at rest. There's something incredible heavy in my brain that is extremely hard to get up to speed, but once it's rolling at full speed, it takes no effort to keep it going. Like a bicycle decked out for a cross-country, self-supported bike trip -- when you first start riding a bike with all that gear, it's hard to believe how much work it takes to get rolling, but once you are rolling, it feels just as easy as riding a bike without any gear.

Maybe this is the key to productivity: just getting started.


When I was an Israeli paratrooper a general stopped by to give us a little speech about strategy. In infantry battles, he told us, there is only one strategy: Fire and Motion. You move towards the enemy while firing your weapon. The firing forces him to keep his head down so he can't fire at you. (That's what the soldiers mean when they shout "cover me." It means, "fire at our enemy so he has to duck and can't fire at me while I run across this street, here." It works.) The motion allows you to conquer territory and get closer to your enemy, where your shots are much more likely to hit their target. If you're not moving, the enemy gets to decide what happens, which is not a good thing. If you're not firing, the enemy will fire at you, pinning you down.

I remembered this for a long time. I noticed how almost every kind of military strategy, from air force dogfights to large scale naval maneuvers, is based on the idea of Fire and Motion. It took me another fifteen years to realize that the principle of Fire and Motion is how you get things done in life. You have to move forward a little bit, every day. It doesn't matter if your code is lame and buggy and nobody wants it. If you are moving forward, writing code and fixing bugs constantly, time is on your side.

The problem for a writer is, friendly fire is an occupational hazard. You think you are hiring an agent to cover you, so you can write while they keep the enemy at bay. And, um, hm, it ain't necessarily so.

And, um, hm, here's the really terrifying thing.

You look around online, you go to agents' blogs, and you see that friendly fire is standard practice in the biz (and woe betide the writer who can't write under friendly fire, who unprofessionally complains instead of just getting on with the job while bullets fly in what is perceived, unprofessionally, as the wrong direction). These are the people who are allegedly passionate about Li-Tra-Cha. And you then go over to Joel Spolsky, who is passionate about um, hm, y'know, software development. And he's saying all the things you thought agents and editors would be saying, all this um, hm, by bookworld standards disgracefully self-indulgent stuff about protecting the developer's time. Protecting the developer from distraction.

It's hard to be sane.

Whole thing here.


G.P. Butler said...

I wonder if maybe the issue is that publishing isn't a "cover me" profession. Its more of a parasite relationship where they are looking for a good source of revenue to latch onto and they just don't want to bleed the source dry.

Its seems sort of like being in the foxhole with a soldier that no-one really likes. You know he doesn't have your back, but he won't actually shoot you "unless you threaten his survival". At the same time, he is useful because he will shoot people who you are also shooting at and who think you two are on the same team.

It just seems that there must be strategies for dealing with such people, at least till you can locate a better comrade in arms.

pm215 said...

Of course one of the reasons Joel bangs on about 'protecting the developer from distraction' and so on is precisely that it is *not* standard practice in most of the software industry (and so he hopes to attract good staff by publicising his company's better working environment)...

Asaf Bartov said...

pm215 is right, of course. And Spolsky is following, in this matter, a much-hailed but little-heeded book called Peopleware (DeMarco and Lister). It seems most employers of software engineers cannot bring themselves to really subscribe to the view of programmers that that book, and Spolsky, encourage.

And in truth, since the boom in programming work brought on by the public Internet, there are now many programming "gigs" that indeed do not require an engineer of the sort described by Spolsky, DeMarco and Lister. These lesser gigs somewhat debase the value of "a typical programmer". A guy who cobbles together a few web pages and forms does not necessarily require the kind of 'zone' described by these writers, and may not benefit much from the sorts of facilities required to support it.

This will continue to change as the discipline of programming develops.