This blog has moved. Please update your bookmarks.

My Little World Of Nanoseconds

One of the problems with my line of work is that I actually have very few people around me in my day-to-day life that understands precisely what it is that I'm doing.

So what am I doing? Well, the short answer is that I'm developing CTI operator workstations for large, enterprise-scale corporations. Sounds exciting, huh? I still have problems explaining my line of work to women... their eyes sort of wander off looking for other, more exciting people, to talk to. ("Telephone systems", I say. And then their eyes start flickering.)

The long answer is that I'm living in a world where the average time unit is a billionth of a second, and where tens of thousands of my lines of code execute in the same time it takes for you to take a sip from your coffee mug. I feel at home with these nano-timeslices; I know my way around them. I keep track of multiple lines of execution, where different threads of my programs execute side by side at total breakneck speed. To handle it all, I introduce abstractions on many, many levels, where each task is broken down and isolated, until I have a huge, giant framework operating on hundreds of different levels, at which I can poke my head in at arbitrary levels and take a look at what's going on.

In the world I live in, much of the framework is actually written by other people; really, really smart, ingenious people that continually develop software, and along with that, methodologies for developing that same software. Ways of further abstracting away the difficulties of writing software, and making the process easier, faster, and more readable. Some of these guys work with great abstractions of methodologies, other guys work with the individual bits and bytes that talk directly to the hardware.

People go to school to learn this. I never did - I learned most of this at night, hacking away on my home computer, and when I got too old for that, I learned it while building computer systems that employ people - that really provide jobs for people - and provide services for maybe hundreds of thousands of others. (Yes, we have that many users.) And, of course, also learning through constantly reading books, blogs, articles and watching what's going on in the online community. The internet has been a marvelous tool indeed.

To me, building software is more of an art than a trade anyway. I have a strong creative streak in my personality that at times have driven me into music or writing... but mostly these days, all of my creative efforts are consumed by writing software. I'm not sure that's all 100% good and well, but it tells me that software is something you can really pour your heart and soul into, if you do it right. The downside of it is that it so quickly loses its value... within two years it's usually old stuff anyway.

In some rare cases, I still get to go down to the assembler level. That's the level where all of these abstractions finally move aside, and I get to touch the actual machine - the raw processor in where all of this power lies. To me, laying my hands on and touching the raw metal, the processor, does to me what I'm sure many others feel when they get to drive the car of their dreams. Actually, I never cared much for cars or engines or whatnot, and I never really understood people's fascination with them. Cars are mostly just big, bulky and loud machines anyway; compared to the insane, raw, brutal effiency of this terrible number-cruncher that lies embedded in the heart of my computer. Why would I play with cars when I can play with the most technologically advanced miracles of nanoelectrical engineering in the world?

It's a world that not many people understand. When some people ask me what I do for a living, I say "I work with computers". They then usually nod appreciatively and go "wow". Sometimes I build the simplest possible program for some silly task and people look at me and say "you did this? wow!!" They have no idea.

So this world of mine, then, this world of nanoseconds, threads, timeslices and bits and bytes, will have to be my little secret. And the fact that I sometimes go home from work and feel like I've written music like a Sibelius symphony will have to stay with me. It's like going home and saying "I wrote the most wonderful music today", only that they can't hear it, nor see it, and thus must take me by faith.

But they do use it.


Post a Comment

<< Home


Blog contents copyright © 2005 Mats Gefvert. All rights reserved.