10% Inspiration, 90% Perspiration [entries|reading|network|archive]
simont

[ userinfo | dreamwidth userinfo ]
[ archive | journal archive ]

Thu 2003-07-17 16:48
10% Inspiration, 90% Perspiration

Over the past year or two I've becoming increasingly concerned that I'm losing the plot intellectually.

Problems I might once have solved without raising a sweat now cause me to stare blankly and think ‘no idea’. It takes me longer to write code, of worse quality; I've missed obvious possibilities and made silly mistakes. Since the competent functioning of my brain is critical both to me being able to do a job I enjoy and to the major hobby that gives my life meaning, this has obviously been of some concern to me.

I've tended to assume that the problems are largely external, that I've been tired a lot (which is true) and bored at work (which is sometimes true, but nowhere near always). But I'm no longer convinced; I'm now starting to think that there is actually something internal to the workings of my brain which is stopping it from functioning at peak efficiency.

I mentioned a couple of weeks ago that I'd been playing a lot of Solitaire recently. Among the many responses to that was a comment by [livejournal.com profile] sion_a mentioning Pavils Jurjans's "Net" game: http://www.jurjans.lv/stuff/net/FreeNet.htm. I'd seen this game before, but not really got into it because firing up a web browser and covering half my screen in a huge Flash game was quite a hassle. But after Sion mentioned it, I had a moment of weakness, hacked up a local version running in a tiny little X window, and incautiously let the game TAKE OVER MY BRANE for a few days; and some things I noticed about the way I play it have given me what might be an important insight into the way I do everything else too.

Playing Net on the hardest level – with a really big grid and wrapping walls – starts off as an exercise in deduction and proof. You can immediately see formations that require particular pieces to be particular ways round (for example, a straight-edge between two endpoints must be oriented so as not to join them together into an isolated subgraph); once you nail down those pieces, you can deduce further facts about the orientation of neighbouring pieces, and gradually expand your knowledge. If you're lucky, this process goes on until you've deduced the correct orientation of every piece in the grid; but if you're not, then you run out of steam and (at least the way I play it) you have to enter the guessing phase. In this phase you assume an arbitrary orientation for what looks like a key piece, and follow the same principles of deduction to see which other pieces' orientations are necessary consequences of your initial assumption. What usually happens is that you end up with the whole grid looking basically plausible, except for one or two unpowered squares and one or two unconnected loose ends; at this point you enter the tweaking phase, in which you make small changes to the layout and move the loose ends around the grid, trying to get them to end up next to the unpowered squares.

That's the theory, anyway. What happens in practice is that I spend too long on the deduction phase, eventually staring at the grid for some minutes failing to spot any more pieces whose orientation I can immediately nail down. After that, once I reluctantly enter the guessing phase and start just playing aimlessly with every piece on the grid, then I often notice pieces which I could have nailed down during the deduction phase but repeatedly overlooked.

In other words – and here's where the Net sidetrack begins to circle back towards the main topic of this entry – I'm relying far too much on staring at things and hoping a sudden insight will strike me, and I'm reluctant to admit that in fact it won't. And this is not because the insights aren't there to be had; it's simply because my brain is not able to pick them magically out of the air just by staring at the problem domain and hoping. If I were instead to get my hands dirty and go and try some possible solutions, then I would naturally find the insights that the stare-and-hope strategy wasn't coming up with.

Playing Solitaire (and Net) as a break from work feels like another symptom of the same thing: rather than engage with a work-type problem in any kind of hands-on way, I'm preferring to stand back from it, let my subconscious work on it in its own way, play Solitaire while I'm waiting, and hope that when I come back to it I'll magically have worked out something vital from which the rest of the solution will naturally crystallise. And, once again, this doesn't happen: I end up concentrating too hard on the Solitaire – even more so with Net, which requires the same sort of insightful thought in itself – and get back to the work problem to find that I'm no further along with it and have just wasted five minutes to boot.

The thing is, I used to be able to do this sort of thing rather well. During my childhood I spent a huge amount of my spare time programming, and after I'd been doing this for ten years or so I found myself increasingly able to do program design as a background task while my mind did something completely other. I vividly remember beginning to write NASM in more or less this way: I thought for a few hours about the problems that needed solving, then I went away and did nothing about it for a couple of weeks, and when I came back to it I had a pretty solid design in my head which laid out the module boundaries, the algorithms, the architecture, and solved most of the hard problems. Then it was just a matter of writing the code to go in the framework, and that was pretty much a start-to-finish job of typing. Of course, after that I sent the result back to the rest of the design team and we started years of arguing and bug-fixing and enhancing and so forth, but the initial implementation largely sprang into life fully formed from my subconscious.

So, let's take a step back and look at my life globally. First I spent a lot of time doing hands-on programming, and as a result my brain naturally became infused with years of experience of writing actual code. Then, as a result of this, I began to find that my vast experience could solve problems for me without me having to think about them too hard, and that my intuition was becoming a scarily efficient tool. But now, I seem to be very reluctant to engage with a problem in a hands-on way at all, preferring to rely on my amazing intuition and experience to produce the answers out of thin air, and this simply isn't working.

Looked at like that, it starts to look pretty clear what happened to me. Good intuition is the result of having a huge amount of information about the problem domain fresh in your mind. So at the point when I'd been doing hands-on programming for ten years, my intuition was finely honed and dazzlingly swift; but once I started to have my intuition do all my work for me, the amount of hands-on work I was doing decreased, and as a result of that the supplies of information my intuition depended on started to slip away, and my intuition became correspondingly less effective. And I hadn't really realised this until now.

So now I've phrased the problem like that, the solution is obvious: I should get my hands dirtier. If I have a piece of programming I need to do and I can't decide how to design it, I should pick a design more or less arbitrarily and just dive in and try it – and if I waste two days finding out that it's the wrong design, well, then at least I've learned something which I wouldn't have learned by spending the same two days staring at the screen and waiting for a flash of inspiration which didn't arrive.

The worst of it is, I now feel silly for not having realised this ages ago. In one of my recent appraisals at work, I said that I didn't want to be pushed into the role of full-time design authority, because if I didn't keep writing actual code then I felt I'd lose touch with what was and was not good design. Now I have a nasty feeling I've managed to lose touch in just that way, without even having to be promoted to do it! Evidently I should have listened to myself more.

LinkReply
[identity profile] velvetfox.livejournal.comThu 2003-07-17 09:38
Good for you, pushing yourself!
*claps*

*slouches on sofa watching neighbours*
Link Reply to this
[identity profile] hilarityallen.livejournal.comThu 2003-07-17 10:19
I quite understand. It's just a trifle demoralising to find that a seemingly-integral skill has quietly withered without you even noticing. You may find all the actual experimenting a bit wearing at first. Good luck.
Link Reply to this | Thread
[identity profile] damerell.livejournal.comThu 2003-07-17 17:46
If I was very sad I would observe how upset I was to be less of a Doom player than I was.

Ooops.
Link Reply to this | Parent
[identity profile] ewx.livejournal.comThu 2003-07-17 11:18
A lot of that sounds very familiar, actually...
Link Reply to this
[identity profile] atreic.livejournal.comFri 2003-07-18 04:24
Sounds like the maths tripos:

At A-level I would just look at a question and know what to do. This was nice.

In the first year, I would look at a question, not know what to do, try things that didn't work for hours, then go away, and by some miracle usually work it out when I came back to it the next day.

In the second year, I would look at a question, not know what to do, give up, come back to it the next day (as this was obviously the best way of solving it, right?) remain stuck, and never get the question out.

By third year I realised that no matter how miserable and depressing it was, you had to keep trying all these pointless dead ends for hours and hours - that was where far more of the thinking happened then following a way that actually works... But it really hurt, going back to that hands-on stupidity...
Link Reply to this | Thread
[personal profile] simontFri 2003-07-18 05:21
Hmmm. You know, I think that happened to me too, only one year behind. In first and second year maths I did pretty well, but in the third year I started to lose it and ended up with "only" a 2.1 (yes, I know plenty of people would have been delighted with that but it was a disappointment since I'd had firsts up until then). If only I'd started to lose it a little sooner, perhaps I would have had a chance to recover from the lapse before doing my finals...
Link Reply to this | Parent
navigation
[ go | Previous Entry | Next Entry ]
[ add | to Memories ]