jamesc.net

[home] [about] [trinity] [software] [lighting] [mountains]
[CERN] [harlequin] [escape velocity] [CERN again] [others...]

life as a software developer

why, oh why...

I admit it, I'm a software developer. I've tried to be other things, but I always end up coming back to it... Many people I have worked with have used different names for themselves : hacker, software engineer, geek; but I think software developer sums up best what I do.

If you want me to be more specific, you might me able to force me to call myself an Internet application developer. But not in public, and not before several beers, since I think the term is both horribly overused and horribly misunderstood.

Basically, what this all means is that I write code. And not just any code. I strive to write code that is

  • Useful for people
  • Does what it says it does, and no more
  • Easy to understand and maintain

I've worked on many projects which don't satisfy some of these requirements (and have even had to be involved in some which satisfy none of them!) Therefore, nowadays I'm often found, bitter and twisted, ranting about proper development procedures, unit-tests for code, talking to users, and so on...

As an approach for software development, I believe in Extreme Humility, an approach I learnt from my first (and probably best) Software Development Manager, Paul Hudson. This seems to me to be an approach which produces product that fulfils the three requirements above.

Several tools and development practices have really changed the way I work. Nowadays, I can't survive a day without IDEA, the best Java IDE in the World, and JUnit, the only way you know your code does way it says it does before your customers start complaining! And even more than Design Patterns, every developer should have read Refactoring by Martin Fowler.

what i've done...

I've spent most of my employable life writing software, some of which even got out to users, instead of sitting in some archived CVS repository on tape for the rest of its life. This I've done at various institutions and companies, including