Log in

No account? Create an account
Code diving - The Mad Schemes of Dr. Tectonic [entries|archive|friends|userinfo]

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Code diving [Aug. 30th, 2007|05:19 pm]
A great essay by Paul Graham on holding a program in your head. He points out things you can do to help the process, and how they align really well with hacking at some project in your spare time, and really poorly with how organizations typically want things to be done.

It gave me an idea for futuristic development: the "code dive". You start with a small group of good programmers who know one another really well, so well that they can almost function as a single individual. A project begins with getting everyone in the right frame of mind, so everyone is focused and aware of how everyone else is feeling and thinking. Once they're all in sync, they work on code in isolation from everything else. Everything: no company demands, no home life, no entertainment, nothing from the outside world. Just the code. Like diving to the bottom of the ocean, where nothing exists but what you're looking at and your lifeline back to the real world. After several days, they surface, bringing back completed code that won't fit into a single person's mind, something that only a gestalt could develop. And then they all take about three months off from anything serious while they recover...

[User Picture]From: beartech420
2007-08-31 02:53 am (UTC)
What makes you believe they will recover?
(Reply) (Thread)
[User Picture]From: nehrlich
2007-08-31 02:56 am (UTC)
I think that there's a similar idea behind weekend hackathons like BarCamp and the like. Or SuperHappyDevHouse. Except I guess those are more intended for cross pollination among hackers rather than deepening existing connections.

I'm not sure I totally buy the Paul Graham thing. But then again, I'm a broad not deep thinker by nature, so distractions and digressions fuel me.
(Reply) (Thread)
[User Picture]From: dr_tectonic
2007-08-31 03:12 am (UTC)
There is a lot of benefit in leaving a problem and letting your subconscious gnaw on it, but his description of how hard it is to load everything into your head and keep it there really resonated with me.

And it's totally consistent with the burstiness phenomenon of coding, where you get more accomplished if you spend all week getting yourself in the right frame of mind to drop into code trance and write for one good stretch on Friday than you would trying to just plug away at it the entire rest of the week.
(Reply) (Parent) (Thread)
[User Picture]From: nehrlich
2007-08-31 10:39 am (UTC)
yeah, I hear you. I think part of my skepticism is that I don't really have call to do that any more since I'm not doing any coding. But I definitely remember the phenomenon of staying late at work and getting more done in one evening than I do the rest of the week because there are no interruptions. But that always felt less like a "get everything in my head" issue than a momentum issue. It may be the same thing and just a different way of describing it.
(Reply) (Parent) (Thread)
[User Picture]From: madbodger
2007-09-03 11:36 pm (UTC)
I could accomplish Great Things working that way. But the gummit has decided
that CMMI is the way to go, and (big surprise) CMMI is pretty much designed to
defeat this sort of thinking. The selling point seems to be "if you can badger your
smart people to part with their tightly held knowledge (which they're selfishly
hoarding), you can replace them with cheap dumb people, and get things done
faster by hiring a lot of cheap dumb people. And they manage themselves!"
(Reply) (Thread)