I’m Daniel S. Meyer, a software developer of 14 years. I’m at Interactive Intelligence in Indianapolis, Indiana, working on server-side C++ projects; in the past I’ve done Java, VB6, InterSystems Caché, and more C++.
Why Our Craft?
I don’t want to keep solving the same problem over and over – I want to go on and solve new ones.
I’m not talking so much about software products, where “the same problem” is a bit of a fuzzier concept and contextualizing an application to new technology (or scaling it up, or fitting it for a new market…etc.) can be challenging and new; rather I’m particularly speaking of the little things we figure out along the way as we design and implement a software system:
- The carefully crafted regular expression with capture groups that helped you make a pervasive change using a few mass-replace operations instead of spending a day laboriously hand-typing it all;
- The new way of thinking about a class of issues you just read about in a technical book;
- Dead ends you want to remind yourself (and warn others) about so you don’t unwittingly try the same dead end next time
Unless I write down these types of things somewhere where I can find it, I forget all the specifics the next time a similar problem comes along, being left with only a will-o-the-wisp-like feeling that I’ve arrived at a solution before by taking a path I cannot now recall. I end up doing a lot of re-deriving things I’ve previously figured out, and that takes time and energy away from new problems I could be solving.
Writing down what I learn aids not only my memory, but also my thinking process — I become a stronger problem solver by “teaching” things that I have just learned. That’s how this blog is about our craft – it’s my professional musings as we go about the day-to-day task of trying to take our craft and make it better.
And the blog venue is just a place to jot these thoughts where I know where they are (and where they might even help someone else).
Daniel S. Meyer