For me, every project goes through a number of steps of mental clarity. The first step is coming to the code completely fresh and having to just read through it and grok how it all fits together and functions. After you’ve been doing that for a while, you have got your head around it all and it’s nice a clear. You understand how everything fits together, know how to best utilise the framework you have to write new code and make changes. This is the point where all the useful programming gets done.
Eventually this second stage comes to an end and you move onto the third stage of devastatingly complete and utter confusion. You end up holding so much in your head that there’s no room left to work with any of it, and you have to start paging stuff out to disk. Except you don’t have a disk. So instead you begin muttering $account_id, $account_id, $account_id under your breath in some vague hope that if your brain can’t hold it perhaps your mouth will. At this point a fixed glare and a facial expression somewhere between concentration and sheer terror helps.
By the time your mutterings have expanded into a primitive chant of variable names, object properties and loop positions, a rapid tapping of the foot is added to help keep it all together. The primary concern is momentum. Success is completely reliant on blindly pressing forward. It’s like that point in a egg and spoon race where your forward lean is moving you a little quicker than your legs can reliably propel you. It’s inevitable that you’re going to fall, but if you can just make it across the line first none of that matters. Must make it across the line. Must make it across the line.
And then you do. And it’s great. And the whole ordeal is worthwhile, despite the odd looks you’re now getting from across the office. I am a web developer. I may be insane, but I like it.




Comments
Otherwise, people get a little confused when you turn to them and ask them to “remember the number 148 for me please”.
It would certainly help my “mental clarity” if I learned to plan things a bit better than what I’m doing now
Thanks
Or the bit where you’re working with recursive functions, and while muttering under your breath you’re making a looping motion with your hand and nodding randomly…
Oh, and am I the only one who sticks his tongue out to varying directions depending on the size of the task? My boss introduced that little insight.
Techno (Alabama 3, Fluke, Crystal Method, etc.): early brainstorming, comping, noodling on architecture—the blue-sky creative kinda stuff
Rock/Country/Blues (Steve Earle, Captain Paranoid, Izzy Straddlin, R.L. Burnside, the ‘Stones, etc.): churning through a spec, iterating a design across sub-page, markup, image optimisation—brainless bust-it-out kinda work
Metal/hard punk (Motorhead, Iggy Pop, G’n’R, Cosmic Psychos, Zodiac Mindwarp and the Love Reaction, etc.): programming, stylesheet authoring
Industrial (Ministry, KMFDM, ChemLab, Nitzer Ebb, Rammstein, etc.): debugging, problem-solving, x-browser testing
No music: mental block
I don’t typically choose the above consciously. I just put on whatever I feel like listening to. It just works out as above more often than not.
And I bet you’ve got an equivalent for the tongue thing.
Then you have to go back and figure out what the heck is going on so you can comment it. I often find myself looking at my own code and wondering just what the heck I was thinking.
This often involves some flailing of the arms and legs whilst spinning around on ones chair. In my experience.
1. loud metal with throaty screaming (Meshuggah, Nile, Lamb of God, Dimmu Borgir) coming from my computer
2. really loud vulgar gangster rap coming from my bosses computer. Generally it is the part of whatever album that they are talking doing the dirty and there is a girl moaning really loudly.
I also have a tendancy to give the screen the finger. And mutter threats under my breath. I make fake crying noises. I slouch way down in my chair almost to the point that I’m under the desk entirely with my arms and head the only things exposed.
We use the Zope CMS at the college because our predecessor though it was great. I hate it. I hate python more. The other day we were trying to rip a python manual in half like strong man competition style.
Drew: Yay for the Code Dance!!
Although it’s usually referred to as the ”$DEVNAME happy dance” in our neck of the woods – just watch the children run and hide!!!
Personally, I can’t say I do the tounge bit, but will admit to making up silly songs and rhymes about bits of code, or other peoples Mums, or why I hate a particular function. (Depending on mood)
For working music, some good chillout is my usual. Much like techno, but more ambient, a little slower and a little more relaxing.
John: I’m a hard
What I meant to say was…
John: I’m a hardened PHPer – could you point me to some good resources for Rails which might be able to compare the two?
Rails just makes it look even better. Thanks!
I also remember a morning when I sat with my boss and churned out a very nice delivery costing system which worked on values and calculations stored within an .ini file. It was very complex, but just seemed to flow. My boss was a little confused by it all, but we continued and ended up with something which was very elegant and simple.
Once we’d finished, I moved on to something else. About an hour later, he remembered another condition which needed to be implemented, so I sat with him again. We both sat there looking blankly at the screen, commenting on how well the code was written and how none of us could remember how it worked. It took me two hours to come to understand it again. This happened every time I came back to alter the code. Very annoying.
Thankfully its complete.
I hope.
And also describe last Friday for me.
What people don’t seem to realise is the things we do are exactly what we should be doing.
Ok, so we may sometimes come across ‘a revolution’ usually something you should have been doing a certain way a long time ago (if you were clever enough), but the codedance, the mumblings, the stumblings are all in human nature and one of the few things we have left.
The witchdoctor had the idea, if you can convince those around you you’re in control maybe that belief will be enough!