In his “Passionate
Programmers” post, Justin James makes a point I doubt anyone disagrees
with–hire people who truly enjoy their job. That’s not an idea exclusive
to scientists or programmers–that’s true in nearly every job, whether it’s
molecular biologist, floral designer, carpenter, doctor–whatever.
Near the middle, and just as I’m agreeing with his post, Justin makes one
statement I have to take exception with:
Programming is increasingly a matter of gluing together libraries
written by a few select people, the ones who are having all of the fun. At
this point, the places where truly interesting codesmithing seems to occur is
in the shops making development tools (Sun, Microsoft, Borland, etc.) and the
small places doing niche work. Some of the FOSS projects are extremely
interesting as well, and they have the advantage of not caring about profits,
so they are free to work on unusual and creative projects regardless of
potential market size. Anyone in between these types of environments is just
gluing together libraries written by a big-time player into a standard, boring
C/R/U/D application.
Boring, as we’ve established, is very subjective. Just because I don’t
build frameworks or controls doesn’t mean my work is boring, or that I’m a
simpleton. I really enjoy web design–it has elements of database work
(especially optimization, which can be fun), graphic design, copywriting, server
and network administration, programming, etc. I get to use both creative
and analytical parts of my mind, more so than writing just “boring old
framework code”. I think it’s really exciting to launch a new website and
see a business grow, or see an established one enhanced. It’s fun working
with graphic designers, or even getting to do some yourself. Saying
“anyone in between is just gluing together libraries” totally misses what all
goes into other types of work. It’s a little disrespectful, and sells hort
the skills and talent a different type of work takes.
Likewise, integrating multimillion dollar ERP and WMS systems isn’t a real
programming challenge, but they can be intricate puzzles. The stakes are
high, and success makes businesses and people work better. That’s my kind
of challenge!